diff --git a/.gitattributes b/.gitattributes index a37894e8e..76ea8feeb 100644 --- a/.gitattributes +++ b/.gitattributes @@ -19,24 +19,24 @@ *.config text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 *.css text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 *.dist text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 -*.engine text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php +*.engine text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php linguist-language=php *.html text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=html -*.inc text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php -*.install text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php +*.inc text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php linguist-language=php +*.install text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php linguist-language=php *.js text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 *.json text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 *.lock text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 *.map text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 *.md text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 -*.module text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php -*.php text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php +*.module text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php linguist-language=php +*.php text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php linguist-language=php *.po text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 -*.profile text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php +*.profile text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php linguist-language=php *.script text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 -*.sh text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php +*.sh text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php linguist-language=php *.sql text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 *.svg text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 -*.theme text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php +*.theme text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php linguist-language=php *.twig text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 *.txt text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 *.xml text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff --git a/composer.json b/composer.json index 7585f7eef..c64ad2758 100644 --- a/composer.json +++ b/composer.json @@ -83,18 +83,18 @@ "academicpuma/locales": "1.0.x-dev", "composer/installers": "*", "cweagans/composer-patches": "^1.7", - "drupal/admin_toolbar": "^3.1", + "drupal/admin_toolbar": "^3.4", "drupal/advanced_search": "^2.0", "drupal/better_exposed_filters": "^6.0", - "drupal/bibcite": "^2.0@beta", + "drupal/bibcite": "^3.0@beta", "drupal/block_class": "^2.0", - "drupal/citation_select": "^1.0@beta", + "drupal/citation_select": "1.0.0-beta5", "drupal/config_delete": "^2.0", "drupal/config_inspector": "^2.1", - "drupal/core-composer-scaffold": "9.4.12", - "drupal/core-project-message": "9.4.12", - "drupal/core-recommended": "9.4.12", - "drupal/csv_serialization": "^2.1", + "drupal/core-composer-scaffold": "9.5.11", + "drupal/core-project-message": "9.5.11", + "drupal/core-recommended": "9.5.11", + "drupal/csv_serialization": "^3.0", "drupal/epp": "^1.3", "drupal/eva": "*", "drupal/facets": "^2", @@ -102,25 +102,27 @@ "drupal/field_permissions": "^1", "drupal/field_report": "^2.1", "drupal/flysystem": "^2.0@alpha", - "drupal/group": "^1.5", - "drupal/groupmedia": "^2.0@RC", + "drupal/groupmedia": "^4.0", "drupal/jquery_ui": "^1.6", "drupal/jquery_ui_autocomplete": "^2.0", "drupal/jquery_ui_datepicker": "^2.0", "drupal/jquery_ui_menu": "^2.0", "drupal/matomo": "^1.19", "drupal/migrate_tools": "^6.0", - "drupal/pathauto": "^1.11", + "drupal/pathauto": "^1.12", "drupal/pdf": "^1.1", "drupal/reference_value_pair": "^3.0@alpha", "drupal/rest_oai_pmh": "^2.0@beta", - "drupal/search_api_solr": "^4.2.10", + "drupal/search_api": "^1.30", + "drupal/search_api_solr": "^4.3", "drupal/taxonomy_manager": "^2.0", "drupal/title_length": "^2.0@RC", + "drupal/token": "^1.13", "drupal/transliterate_filenames": "^2.0", "drupal/twig_tweak": "^3.2", + "drupal/variationcache": "^1.3", "drupal/view_mode_switch": "^2.0", - "drupal/views_data_export": "^1.2", + "drupal/views_data_export": "^1.4", "drupal/views_field_view": "^1.0@beta", "drush/drush": "^11", "islandora-rdm/islandora_fits": "dev-8.x-1.x as 1.x-dev", diff --git a/composer.lock b/composer.lock index 408bbb04d..871cb22d4 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "41690edad0cfb29e6781dcad42fb2db6", + "content-hash": "c0418e24db11bef0a4edde2cda9ad859", "packages": [ { "name": "academicpuma/citeproc-php", @@ -1511,17 +1511,17 @@ }, { "name": "drupal/admin_toolbar", - "version": "3.4.1", + "version": "3.4.2", "source": { "type": "git", "url": "https://git.drupalcode.org/project/admin_toolbar.git", - "reference": "3.4.1" + "reference": "3.4.2" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/admin_toolbar-3.4.1.zip", - "reference": "3.4.1", - "shasum": "bcb15ab40016becdb3ac8f21d7d1a721f48f3577" + "url": "https://ftp.drupal.org/files/projects/admin_toolbar-3.4.2.zip", + "reference": "3.4.2", + "shasum": "f5a008e5c73f5a11c6c8067c0ea6ebb76aa33854" }, "require": { "drupal/core": "^9.2 || ^10" @@ -1532,8 +1532,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "3.4.1", - "datestamp": "1684944156", + "version": "3.4.2", + "datestamp": "1696006195", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -1592,17 +1592,17 @@ }, { "name": "drupal/advanced_search", - "version": "2.0.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/advanced_search.git", - "reference": "2.0.0" + "reference": "2.0.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/advanced_search-2.0.0.zip", - "reference": "2.0.0", - "shasum": "c5417df7fb411dea032975ea1dfb87e9f658a589" + "url": "https://ftp.drupal.org/files/projects/advanced_search-2.0.1.zip", + "reference": "2.0.1", + "shasum": "698f1690c7e88c6fe4ac21a9bfb431c26696f530" }, "require": { "drupal/core": "^8.8 || ^9 || ^10", @@ -1618,8 +1618,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "2.0.0", - "datestamp": "1695751418", + "version": "2.0.1", + "datestamp": "1697564812", "security-coverage": { "status": "not-covered", "message": "Project has not opted into security advisory coverage!" @@ -1754,17 +1754,17 @@ }, { "name": "drupal/bibcite", - "version": "2.0.0-beta3", + "version": "3.0.0-beta3", "source": { "type": "git", "url": "https://git.drupalcode.org/project/bibcite.git", - "reference": "2.0.0-beta3" + "reference": "3.0.0-beta3" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/bibcite-2.0.0-beta3.zip", - "reference": "2.0.0-beta3", - "shasum": "2ccb09b8be2d3cc5713c4b41156719808d5eb78e" + "url": "https://ftp.drupal.org/files/projects/bibcite-3.0.0-beta3.zip", + "reference": "3.0.0-beta3", + "shasum": "0f56b2078fb4751999e5cd4e936f11efaa8d9858" }, "require": { "academicpuma/citeproc-php": "~1.0", @@ -1791,8 +1791,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "2.0.0-beta3", - "datestamp": "1688554407", + "version": "3.0.0-beta3", + "datestamp": "1689237020", "security-coverage": { "status": "not-covered", "message": "Project has not opted into security advisory coverage!" @@ -1996,20 +1996,20 @@ }, { "name": "drupal/citation_select", - "version": "1.0.0-beta3", + "version": "1.0.0-beta5", "source": { "type": "git", "url": "https://git.drupalcode.org/project/citation_select.git", - "reference": "1.0.0-beta3" + "reference": "1.0.0-beta5" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/citation_select-1.0.0-beta3.zip", - "reference": "1.0.0-beta3", - "shasum": "d5388bd0f724cd19f0caf950be8d0774958551f7" + "url": "https://ftp.drupal.org/files/projects/citation_select-1.0.0-beta5.zip", + "reference": "1.0.0-beta5", + "shasum": "974d26b8cd9508de9a615accf03720fcf4adfac0" }, "require": { - "drupal/bibcite": "^2.0@beta", + "drupal/bibcite": "^3.0@beta", "drupal/core": "^8.8 || ^9 || ^10", "drupal/token": "^1.9", "professional-wiki/edtf": "~2.0" @@ -2017,8 +2017,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "1.0.0-beta3", - "datestamp": "1677182811", + "version": "1.0.0-beta5", + "datestamp": "1698419516", "security-coverage": { "status": "not-covered", "message": "Project has not opted into security advisory coverage!" @@ -2105,26 +2105,26 @@ }, { "name": "drupal/config_inspector", - "version": "2.1.3", + "version": "2.1.7", "source": { "type": "git", "url": "https://git.drupalcode.org/project/config_inspector.git", - "reference": "2.1.3" + "reference": "2.1.7" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/config_inspector-2.1.3.zip", - "reference": "2.1.3", - "shasum": "a4370f7355e8eca05919e2879211f1bc1e4dcc28" + "url": "https://ftp.drupal.org/files/projects/config_inspector-2.1.7.zip", + "reference": "2.1.7", + "shasum": "31ae3e429d23cf559c0e1ff55b4e41c45bb62797" }, "require": { - "drupal/core": "^9.2 || ^10" + "drupal/core": "^9.2 || ^10 || ^11" }, "type": "drupal-module", "extra": { "drupal": { - "version": "2.1.3", - "datestamp": "1692715904", + "version": "2.1.7", + "datestamp": "1698249898", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2339,16 +2339,16 @@ }, { "name": "drupal/core", - "version": "9.4.12", + "version": "9.5.11", "source": { "type": "git", "url": "https://github.com/drupal/core.git", - "reference": "266198e66fc5c890640c37abcfc395fef28031b4" + "reference": "8afcb233c2a71501b35fed2713167c37831d5c19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core/zipball/266198e66fc5c890640c37abcfc395fef28031b4", - "reference": "266198e66fc5c890640c37abcfc395fef28031b4", + "url": "https://api.github.com/repos/drupal/core/zipball/8afcb233c2a71501b35fed2713167c37831d5c19", + "reference": "8afcb233c2a71501b35fed2713167c37831d5c19", "shasum": "" }, "require": { @@ -2371,8 +2371,8 @@ "ext-tokenizer": "*", "ext-xml": "*", "guzzlehttp/guzzle": "^6.5.8 || ^7.4.5", - "laminas/laminas-diactoros": "^2.11", "laminas/laminas-feed": "^2.17", + "longwave/laminas-diactoros": "^2.14", "masterminds/html5": "^2.7", "pear/archive_tar": "^1.4.14", "php": ">=7.3.0", @@ -2385,8 +2385,8 @@ "symfony/http-foundation": "^4.4.7", "symfony/http-kernel": "^4.4", "symfony/mime": "^5.4", - "symfony/polyfill-iconv": "^1.25", - "symfony/polyfill-php80": "^1.25", + "symfony/polyfill-iconv": "^1.26", + "symfony/polyfill-php80": "^1.26", "symfony/process": "^4.4", "symfony/psr-http-message-bridge": "^2.1", "symfony/routing": "^4.4", @@ -2500,22 +2500,22 @@ ], "description": "Drupal is an open source content management platform powering millions of websites and applications.", "support": { - "source": "https://github.com/drupal/core/tree/9.4.12" + "source": "https://github.com/drupal/core/tree/9.5.11" }, - "time": "2023-03-15T14:30:36+00:00" + "time": "2023-09-19T17:58:28+00:00" }, { "name": "drupal/core-composer-scaffold", - "version": "9.4.12", + "version": "9.5.11", "source": { "type": "git", "url": "https://github.com/drupal/core-composer-scaffold.git", - "reference": "5f37a9e4008b34e3e4f6bb34ce0b3f7e5ec8984f" + "reference": "08da8e59c6f1bd0b1a58d18f8addc0d937bbacc7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-composer-scaffold/zipball/5f37a9e4008b34e3e4f6bb34ce0b3f7e5ec8984f", - "reference": "5f37a9e4008b34e3e4f6bb34ce0b3f7e5ec8984f", + "url": "https://api.github.com/repos/drupal/core-composer-scaffold/zipball/08da8e59c6f1bd0b1a58d18f8addc0d937bbacc7", + "reference": "08da8e59c6f1bd0b1a58d18f8addc0d937bbacc7", "shasum": "" }, "require": { @@ -2550,13 +2550,13 @@ "drupal" ], "support": { - "source": "https://github.com/drupal/core-composer-scaffold/tree/9.4.12" + "source": "https://github.com/drupal/core-composer-scaffold/tree/9.5.11" }, - "time": "2022-06-19T16:14:23+00:00" + "time": "2023-04-30T16:17:33+00:00" }, { "name": "drupal/core-project-message", - "version": "9.4.12", + "version": "9.5.11", "source": { "type": "git", "url": "https://github.com/drupal/core-project-message.git", @@ -2591,40 +2591,37 @@ "drupal" ], "support": { - "source": "https://github.com/drupal/core-project-message/tree/9.5.4" + "source": "https://github.com/drupal/core-project-message/tree/9.5.11" }, "time": "2022-02-24T17:40:53+00:00" }, { "name": "drupal/core-recommended", - "version": "9.4.12", + "version": "9.5.11", "source": { "type": "git", "url": "https://github.com/drupal/core-recommended.git", - "reference": "71c412828ca9997e21c99c55b938172c0b719f5b" + "reference": "af3521be5376e333ddcdbd31c5a169f16423b46f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-recommended/zipball/71c412828ca9997e21c99c55b938172c0b719f5b", - "reference": "71c412828ca9997e21c99c55b938172c0b719f5b", + "url": "https://api.github.com/repos/drupal/core-recommended/zipball/af3521be5376e333ddcdbd31c5a169f16423b46f", + "reference": "af3521be5376e333ddcdbd31c5a169f16423b46f", "shasum": "" }, "require": { "asm89/stack-cors": "~1.3.0", "composer/semver": "~3.3.2", - "doctrine/annotations": "~1.13.2", + "doctrine/annotations": "~1.13.3", "doctrine/lexer": "~1.2.3", "doctrine/reflection": "~1.2.3", - "drupal/core": "9.4.12", - "egulias/email-validator": "~3.2", + "drupal/core": "9.5.11", + "egulias/email-validator": "~3.2.1", "guzzlehttp/guzzle": "~6.5.8", - "guzzlehttp/promises": "~1.5.1", - "guzzlehttp/psr7": "~1.9.0", - "laminas/laminas-diactoros": "~2.11.1", - "laminas/laminas-escaper": "~2.9.0", - "laminas/laminas-feed": "~2.17.0", - "laminas/laminas-stdlib": "~3.7.1", - "masterminds/html5": "~2.7.5", + "guzzlehttp/promises": "~1.5.2", + "guzzlehttp/psr7": "~1.9.1", + "longwave/laminas-diactoros": "~2.14.2", + "masterminds/html5": "~2.7.6", "pear/archive_tar": "~1.4.14", "pear/console_getopt": "~v1.4.3", "pear/pear-core-minimal": "~v1.10.11", @@ -2664,7 +2661,7 @@ "symfony/validator": "~v4.4.48", "symfony/var-dumper": "~v5.4.19", "symfony/yaml": "~v4.4.45", - "twig/twig": "~v2.15.3", + "twig/twig": "~v2.15.4", "typo3/phar-stream-wrapper": "~v3.1.7" }, "conflict": { @@ -2677,37 +2674,36 @@ ], "description": "Core and its dependencies with known-compatible minor versions. Require this project INSTEAD OF drupal/core.", "support": { - "source": "https://github.com/drupal/core-recommended/tree/9.4.12" + "source": "https://github.com/drupal/core-recommended/tree/9.5.11" }, - "time": "2023-03-15T14:30:36+00:00" + "time": "2023-09-19T17:58:28+00:00" }, { "name": "drupal/csv_serialization", - "version": "2.1.0", + "version": "3.0.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/csv_serialization.git", - "reference": "8.x-2.1" + "reference": "3.0.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/csv_serialization-8.x-2.1.zip", - "reference": "8.x-2.1", - "shasum": "10b8629a5808ed1ecf358d5ca7054d6c14a476d4" + "url": "https://ftp.drupal.org/files/projects/csv_serialization-3.0.1.zip", + "reference": "3.0.1", + "shasum": "05367f75a98fc3b92660c6de3852a6ebc39252e2" }, "require": { - "drupal/core": "^8 || ^9", - "league/csv": "^9.1" + "drupal/core": "^9.4", + "league/csv": "^9.7" }, "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.5.0", "drupal/coder": "^8.3" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-2.1", - "datestamp": "1655054417", + "version": "3.0.1", + "datestamp": "1698701716", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2715,6 +2711,14 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", + "scripts": { + "phpcs": [ + "vendor/bin/phpcs" + ], + "test": [ + "@phpcs" + ] + }, "license": [ "GPL-2.0-or-later" ], @@ -3480,6 +3484,58 @@ } ] }, + { + "name": "drupal/flexible_permissions", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/flexible_permissions.git", + "reference": "1.1.0" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/flexible_permissions-1.1.0.zip", + "reference": "1.1.0", + "shasum": "cfda615388131e96a5cf3fce1f24b1c220f91fce" + }, + "require": { + "drupal/core": "^9.5 || ^10", + "drupal/variationcache": "^1.0" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "1.1.0", + "datestamp": "1697027409", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Kristiaan Van den Eynde", + "homepage": "https://www.drupal.org/u/kristiaanvandeneynde", + "role": "Maintainer" + }, + { + "name": "Mathias Wächter", + "homepage": "https://www.drupal.org/u/mef", + "role": "Maintainer" + } + ], + "description": "This module allows you to gather, calculate and cache permissions from a myriad of sources", + "homepage": "http://drupal.org/project/flexible_permissions", + "support": { + "source": "https://git.drupalcode.org/project/flexible_permissions", + "issues": "https://drupal.org/project/issues/flexible_permissions" + } + }, { "name": "drupal/flysystem", "version": "2.0.0-beta2", @@ -3628,28 +3684,28 @@ }, { "name": "drupal/group", - "version": "1.5.0", + "version": "3.2.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/group.git", - "reference": "8.x-1.5" + "reference": "3.2.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/group-8.x-1.5.zip", - "reference": "8.x-1.5", - "shasum": "4b890350749ff1d388425da8343b8835847492d8" + "url": "https://ftp.drupal.org/files/projects/group-3.2.1.zip", + "reference": "3.2.1", + "shasum": "7774014794ad8cc39b1e22737e48cdbdd60513db" }, "require": { - "drupal/core": "^9.3 || ^10", + "drupal/core": "^9.5 || ^10", "drupal/entity": "^1.2", - "drupal/variationcache": "^1.1" + "drupal/flexible_permissions": "^1.0" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.5", - "datestamp": "1685706327", + "version": "3.2.1", + "datestamp": "1697204379", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3680,21 +3736,21 @@ }, { "name": "drupal/groupmedia", - "version": "2.1.0", + "version": "4.0.2", "source": { "type": "git", "url": "https://git.drupalcode.org/project/groupmedia.git", - "reference": "8.x-2.1" + "reference": "4.0.2" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/groupmedia-8.x-2.1.zip", - "reference": "8.x-2.1", - "shasum": "dc2cfd516c5a28f18861830f45552924a17cb3b5" + "url": "https://ftp.drupal.org/files/projects/groupmedia-4.0.2.zip", + "reference": "4.0.2", + "shasum": "95bbec1b6a2c28bc976ec43ecb3f1330fd509fcd" }, "require": { "drupal/core": "^9 || ^10", - "drupal/group": "^1.5" + "drupal/group": "^3.0" }, "require-dev": { "drupal/paragraphs": "*", @@ -3703,8 +3759,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-2.1", - "datestamp": "1693953964", + "version": "4.0.2", + "datestamp": "1694467520", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3713,7 +3769,7 @@ }, "notification-url": "https://packages.drupal.org/8/downloads", "license": [ - "GPL-2.0+" + "GPL-2.0-or-later" ], "authors": [ { @@ -4563,17 +4619,17 @@ }, { "name": "drupal/pathauto", - "version": "1.11.0", + "version": "1.12.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/pathauto.git", - "reference": "8.x-1.11" + "reference": "8.x-1.12" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/pathauto-8.x-1.11.zip", - "reference": "8.x-1.11", - "shasum": "a006fe9e6046a9833711a1ae56aa4752e65bcdc8" + "url": "https://ftp.drupal.org/files/projects/pathauto-8.x-1.12.zip", + "reference": "8.x-1.12", + "shasum": "b7b6432e315e38e59a7c6cc117134326c580de4c" }, "require": { "drupal/core": "^9.3 || ^10", @@ -4586,8 +4642,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.11", - "datestamp": "1660129564", + "version": "8.x-1.12", + "datestamp": "1696776683", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4896,17 +4952,17 @@ }, { "name": "drupal/rest_oai_pmh", - "version": "2.0.0-beta12", + "version": "2.0.0-beta15", "source": { "type": "git", "url": "https://git.drupalcode.org/project/rest_oai_pmh.git", - "reference": "2.0.0-beta12" + "reference": "2.0.0-beta15" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/rest_oai_pmh-2.0.0-beta12.zip", - "reference": "2.0.0-beta12", - "shasum": "83a2ffcf6e61085548ecda2d84a9d43bea9bccab" + "url": "https://ftp.drupal.org/files/projects/rest_oai_pmh-2.0.0-beta15.zip", + "reference": "2.0.0-beta15", + "shasum": "8c9ab48198a5a0a2e9657f2d85c1a80f70dd0476" }, "require": { "drupal/core": "^9 || ^10" @@ -4914,8 +4970,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "2.0.0-beta12", - "datestamp": "1686681467", + "version": "2.0.0-beta15", + "datestamp": "1697747057", "security-coverage": { "status": "not-covered", "message": "Beta releases are not covered by Drupal security advisories." @@ -4944,17 +5000,17 @@ }, { "name": "drupal/search_api", - "version": "1.29.0", + "version": "1.30.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/search_api.git", - "reference": "8.x-1.29" + "reference": "8.x-1.30" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/search_api-8.x-1.29.zip", - "reference": "8.x-1.29", - "shasum": "4663abbcfe5dfc159ee0886fc6c437e998fc0653" + "url": "https://ftp.drupal.org/files/projects/search_api-8.x-1.30.zip", + "reference": "8.x-1.30", + "shasum": "25bd2cfab6a6332c595fbc8be1c4cfff33a85ce8" }, "require": { "drupal/core": "^9.3 || ^10.0" @@ -4975,8 +5031,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.29", - "datestamp": "1679910252", + "version": "8.x-1.30", + "datestamp": "1697366291", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4984,7 +5040,7 @@ }, "drush": { "services": { - "drush.services.yml": "^9 || ^10" + "drush.services.yml": "^9 || ^10 || ^11" } } }, @@ -5016,19 +5072,20 @@ }, { "name": "drupal/search_api_solr", - "version": "4.2.12", + "version": "4.3.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/search_api_solr.git", - "reference": "4.2.12" + "reference": "4.3.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/search_api_solr-4.2.12.zip", - "reference": "4.2.12", - "shasum": "3e6c7b22cdd1339e8373f700fdfdec332ea24e02" + "url": "https://ftp.drupal.org/files/projects/search_api_solr-4.3.0.zip", + "reference": "4.3.0", + "shasum": "222e14f9ab49efb519e3a78674606880a2b07416" }, "require": { + "composer-runtime-api": ">=2.0", "composer/semver": "^1.0|^3.0", "consolidation/annotated-command": "^2.12|^4.1", "drupal/core": "^9.3 || ^10.0", @@ -5064,8 +5121,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "4.2.12", - "datestamp": "1687445036", + "version": "4.3.0", + "datestamp": "1696589367", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5259,17 +5316,17 @@ }, { "name": "drupal/token", - "version": "1.12.0", + "version": "1.13.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/token.git", - "reference": "8.x-1.12" + "reference": "8.x-1.13" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/token-8.x-1.12.zip", - "reference": "8.x-1.12", - "shasum": "cefe1b203b793682f74ea43e18d0a814cf768763" + "url": "https://ftp.drupal.org/files/projects/token-8.x-1.13.zip", + "reference": "8.x-1.13", + "shasum": "f2a074b51726de3727c1d900237d6d471806a4d2" }, "require": { "drupal/core": "^9.2 || ^10" @@ -5277,8 +5334,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.12", - "datestamp": "1688015262", + "version": "8.x-1.13", + "datestamp": "1697885927", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5286,7 +5343,7 @@ }, "drush": { "services": { - "drush.services.yml": "^9 || ^10" + "drush.services.yml": ">=9" } } }, @@ -5328,17 +5385,17 @@ }, { "name": "drupal/transliterate_filenames", - "version": "2.0.1", + "version": "2.0.2", "source": { "type": "git", "url": "https://git.drupalcode.org/project/transliterate_filenames.git", - "reference": "2.0.1" + "reference": "2.0.2" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/transliterate_filenames-2.0.1.zip", - "reference": "2.0.1", - "shasum": "bd905924e7b0f2b960267be1a7f65c8830e1e424" + "url": "https://ftp.drupal.org/files/projects/transliterate_filenames-2.0.2.zip", + "reference": "2.0.2", + "shasum": "204bcd65f79eeb6c4a43b3c63d0bbd325edfb127" }, "require": { "drupal/core": "^9.3 || ^10" @@ -5346,8 +5403,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "2.0.1", - "datestamp": "1659789907", + "version": "2.0.2", + "datestamp": "1698338671", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5444,26 +5501,26 @@ }, { "name": "drupal/variationcache", - "version": "1.2.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/variationcache.git", - "reference": "8.x-1.2" + "reference": "8.x-1.3" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/variationcache-8.x-1.2.zip", - "reference": "8.x-1.2", - "shasum": "ad8edeb2c408f82e08bb22fafb362a516d3e56a3" + "url": "https://ftp.drupal.org/files/projects/variationcache-8.x-1.3.zip", + "reference": "8.x-1.3", + "shasum": "92d1e4f6c2661498bff777f22246bf27d6a03a71" }, "require": { - "drupal/core": "^9.3 || ^10" + "drupal/core": "^9.5 || ^10" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.2", - "datestamp": "1668086673", + "version": "8.x-1.3", + "datestamp": "1679575893", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5544,21 +5601,21 @@ }, { "name": "drupal/views_data_export", - "version": "1.3.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/views_data_export.git", - "reference": "8.x-1.3" + "reference": "8.x-1.4" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/views_data_export-8.x-1.3.zip", - "reference": "8.x-1.3", - "shasum": "a8a5483e13787f2bb3eb66d9b0f19d96c0d8d7c1" + "url": "https://ftp.drupal.org/files/projects/views_data_export-8.x-1.4.zip", + "reference": "8.x-1.4", + "shasum": "70dede9fdf50601232f068e67309d361341e88c5" }, "require": { "drupal/core": "^9 || ^10", - "drupal/csv_serialization": "~1.4 || ~2.0 || ~3" + "drupal/csv_serialization": "~1.4 || ~2.0 || ~3 || ~4" }, "require-dev": { "drupal/search_api": "~1.12", @@ -5567,8 +5624,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.3", - "datestamp": "1679072666", + "version": "8.x-1.4", + "datestamp": "1698948991", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -6935,95 +6992,58 @@ "type": "drupal-theme" }, { - "name": "laminas/laminas-diactoros", - "version": "2.11.3", + "name": "laminas/laminas-escaper", + "version": "2.12.0", "source": { "type": "git", - "url": "https://github.com/laminas/laminas-diactoros.git", - "reference": "1f97b0c52eafd108e09c76d6b29d83ef4a855f76" + "url": "https://github.com/laminas/laminas-escaper.git", + "reference": "ee7a4c37bf3d0e8c03635d5bddb5bb3184ead490" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/1f97b0c52eafd108e09c76d6b29d83ef4a855f76", - "reference": "1f97b0c52eafd108e09c76d6b29d83ef4a855f76", + "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/ee7a4c37bf3d0e8c03635d5bddb5bb3184ead490", + "reference": "ee7a4c37bf3d0e8c03635d5bddb5bb3184ead490", "shasum": "" }, "require": { - "php": "^7.3 || ~8.0.0 || ~8.1.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.0" + "ext-ctype": "*", + "ext-mbstring": "*", + "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0" }, "conflict": { - "phpspec/prophecy": "<1.9.0", - "zendframework/zend-diactoros": "*" - }, - "provide": { - "psr/http-factory-implementation": "1.0", - "psr/http-message-implementation": "1.0" + "zendframework/zend-escaper": "*" }, "require-dev": { - "ext-curl": "*", - "ext-dom": "*", - "ext-gd": "*", - "ext-libxml": "*", - "http-interop/http-factory-tests": "^0.8.0", - "laminas/laminas-coding-standard": "~1.0.0", - "php-http/psr7-integration-tests": "^1.1", - "phpspec/prophecy-phpunit": "^2.0", - "phpunit/phpunit": "^9.1", - "psalm/plugin-phpunit": "^0.14.0", - "vimeo/psalm": "^4.3" + "infection/infection": "^0.26.6", + "laminas/laminas-coding-standard": "~2.4.0", + "maglnet/composer-require-checker": "^3.8.0", + "phpunit/phpunit": "^9.5.18", + "psalm/plugin-phpunit": "^0.17.0", + "vimeo/psalm": "^4.22.0" }, "type": "library", - "extra": { - "laminas": { - "config-provider": "Laminas\\Diactoros\\ConfigProvider", - "module": "Laminas\\Diactoros" - } - }, "autoload": { - "files": [ - "src/functions/create_uploaded_file.php", - "src/functions/marshal_headers_from_sapi.php", - "src/functions/marshal_method_from_sapi.php", - "src/functions/marshal_protocol_version_from_sapi.php", - "src/functions/marshal_uri_from_sapi.php", - "src/functions/normalize_server.php", - "src/functions/normalize_uploaded_files.php", - "src/functions/parse_cookie_header.php", - "src/functions/create_uploaded_file.legacy.php", - "src/functions/marshal_headers_from_sapi.legacy.php", - "src/functions/marshal_method_from_sapi.legacy.php", - "src/functions/marshal_protocol_version_from_sapi.legacy.php", - "src/functions/marshal_uri_from_sapi.legacy.php", - "src/functions/normalize_server.legacy.php", - "src/functions/normalize_uploaded_files.legacy.php", - "src/functions/parse_cookie_header.legacy.php" - ], "psr-4": { - "Laminas\\Diactoros\\": "src/" + "Laminas\\Escaper\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "PSR HTTP Message implementations", + "description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs", "homepage": "https://laminas.dev", "keywords": [ - "http", - "laminas", - "psr", - "psr-17", - "psr-7" + "escaper", + "laminas" ], "support": { "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-diactoros/", + "docs": "https://docs.laminas.dev/laminas-escaper/", "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-diactoros/issues", - "rss": "https://github.com/laminas/laminas-diactoros/releases.atom", - "source": "https://github.com/laminas/laminas-diactoros" + "issues": "https://github.com/laminas/laminas-escaper/issues", + "rss": "https://github.com/laminas/laminas-escaper/releases.atom", + "source": "https://github.com/laminas/laminas-escaper" }, "funding": [ { @@ -7031,61 +7051,79 @@ "type": "community_bridge" } ], - "time": "2022-07-06T09:24:53+00:00" + "time": "2022-10-10T10:11:09+00:00" }, { - "name": "laminas/laminas-escaper", - "version": "2.9.0", + "name": "laminas/laminas-feed", + "version": "2.18.2", "source": { "type": "git", - "url": "https://github.com/laminas/laminas-escaper.git", - "reference": "891ad70986729e20ed2e86355fcf93c9dc238a5f" + "url": "https://github.com/laminas/laminas-feed.git", + "reference": "a57fdb9df42950d5b7f052509fbdab0d081c6b6d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/891ad70986729e20ed2e86355fcf93c9dc238a5f", - "reference": "891ad70986729e20ed2e86355fcf93c9dc238a5f", + "url": "https://api.github.com/repos/laminas/laminas-feed/zipball/a57fdb9df42950d5b7f052509fbdab0d081c6b6d", + "reference": "a57fdb9df42950d5b7f052509fbdab0d081c6b6d", "shasum": "" }, "require": { - "php": "^7.3 || ~8.0.0 || ~8.1.0" + "ext-dom": "*", + "ext-libxml": "*", + "laminas/laminas-escaper": "^2.9", + "laminas/laminas-servicemanager": "^3.14.0", + "laminas/laminas-stdlib": "^3.6", + "php": "^7.4 || ~8.0.0 || ~8.1.0" }, "conflict": { - "zendframework/zend-escaper": "*" + "laminas/laminas-servicemanager": "<3.3", + "zendframework/zend-feed": "*" }, "require-dev": { + "laminas/laminas-cache": "^2.13.2 || ^3.1.3", + "laminas/laminas-cache-storage-adapter-memory": "^1.1.0 || ^2.0.0", "laminas/laminas-coding-standard": "~2.3.0", - "phpunit/phpunit": "^9.3", - "psalm/plugin-phpunit": "^0.12.2", - "vimeo/psalm": "^3.16" + "laminas/laminas-db": "^2.13.3", + "laminas/laminas-http": "^2.15", + "laminas/laminas-validator": "^2.15", + "phpunit/phpunit": "^9.5.5", + "psalm/plugin-phpunit": "^0.17.0", + "psr/http-message": "^1.0.1", + "vimeo/psalm": "^4.24.0" }, "suggest": { - "ext-iconv": "*", - "ext-mbstring": "*" + "laminas/laminas-cache": "Laminas\\Cache component, for optionally caching feeds between requests", + "laminas/laminas-db": "Laminas\\Db component, for use with PubSubHubbub", + "laminas/laminas-http": "Laminas\\Http for PubSubHubbub, and optionally for use with Laminas\\Feed\\Reader", + "laminas/laminas-servicemanager": "Laminas\\ServiceManager component, for easily extending ExtensionManager implementations", + "laminas/laminas-validator": "Laminas\\Validator component, for validating email addresses used in Atom feeds and entries when using the Writer subcomponent", + "psr/http-message": "PSR-7 ^1.0.1, if you wish to use Laminas\\Feed\\Reader\\Http\\Psr7ResponseDecorator" }, "type": "library", "autoload": { "psr-4": { - "Laminas\\Escaper\\": "src/" + "Laminas\\Feed\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs", + "description": "provides functionality for creating and consuming RSS and Atom feeds", "homepage": "https://laminas.dev", "keywords": [ - "escaper", - "laminas" + "atom", + "feed", + "laminas", + "rss" ], "support": { "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-escaper/", + "docs": "https://docs.laminas.dev/laminas-feed/", "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-escaper/issues", - "rss": "https://github.com/laminas/laminas-escaper/releases.atom", - "source": "https://github.com/laminas/laminas-escaper" + "issues": "https://github.com/laminas/laminas-feed/issues", + "rss": "https://github.com/laminas/laminas-feed/releases.atom", + "source": "https://github.com/laminas/laminas-feed" }, "funding": [ { @@ -7093,76 +7131,90 @@ "type": "community_bridge" } ], - "time": "2021-09-02T17:10:53+00:00" + "time": "2022-08-08T17:02:35+00:00" }, { - "name": "laminas/laminas-feed", - "version": "2.17.0", + "name": "laminas/laminas-servicemanager", + "version": "3.17.0", "source": { "type": "git", - "url": "https://github.com/laminas/laminas-feed.git", - "reference": "1ccb024ea615606ed1d676ba0fa3f22a398f3ac0" + "url": "https://github.com/laminas/laminas-servicemanager.git", + "reference": "360be5f16955dd1edbcce1cfaa98ed82a17f02ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-feed/zipball/1ccb024ea615606ed1d676ba0fa3f22a398f3ac0", - "reference": "1ccb024ea615606ed1d676ba0fa3f22a398f3ac0", + "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/360be5f16955dd1edbcce1cfaa98ed82a17f02ec", + "reference": "360be5f16955dd1edbcce1cfaa98ed82a17f02ec", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-libxml": "*", - "laminas/laminas-escaper": "^2.9", - "laminas/laminas-stdlib": "^3.6", - "php": "^7.3 || ~8.0.0 || ~8.1.0" + "laminas/laminas-stdlib": "^3.2.1", + "php": "~7.4.0 || ~8.0.0 || ~8.1.0", + "psr/container": "^1.0" }, "conflict": { - "laminas/laminas-servicemanager": "<3.3", - "zendframework/zend-feed": "*" + "ext-psr": "*", + "laminas/laminas-code": "<3.3.1", + "zendframework/zend-code": "<3.3.1", + "zendframework/zend-servicemanager": "*" + }, + "provide": { + "psr/container-implementation": "^1.0" + }, + "replace": { + "container-interop/container-interop": "^1.2.0" }, "require-dev": { - "laminas/laminas-cache": "^2.7.2", - "laminas/laminas-coding-standard": "~2.2.1", - "laminas/laminas-db": "^2.13.3", - "laminas/laminas-http": "^2.15", - "laminas/laminas-servicemanager": "^3.7", - "laminas/laminas-validator": "^2.15", + "composer/package-versions-deprecated": "^1.0", + "laminas/laminas-coding-standard": "~2.4.0", + "laminas/laminas-container-config-test": "^0.7", + "laminas/laminas-dependency-plugin": "^2.1.2", + "mikey179/vfsstream": "^1.6.10@alpha", + "ocramius/proxy-manager": "^2.11", + "phpbench/phpbench": "^1.1", + "phpspec/prophecy-phpunit": "^2.0", "phpunit/phpunit": "^9.5.5", - "psalm/plugin-phpunit": "^0.13.0", - "psr/http-message": "^1.0.1", - "vimeo/psalm": "^4.1" + "psalm/plugin-phpunit": "^0.17.0", + "vimeo/psalm": "^4.8" }, "suggest": { - "laminas/laminas-cache": "Laminas\\Cache component, for optionally caching feeds between requests", - "laminas/laminas-db": "Laminas\\Db component, for use with PubSubHubbub", - "laminas/laminas-http": "Laminas\\Http for PubSubHubbub, and optionally for use with Laminas\\Feed\\Reader", - "laminas/laminas-servicemanager": "Laminas\\ServiceManager component, for easily extending ExtensionManager implementations", - "laminas/laminas-validator": "Laminas\\Validator component, for validating email addresses used in Atom feeds and entries when using the Writer subcomponent", - "psr/http-message": "PSR-7 ^1.0.1, if you wish to use Laminas\\Feed\\Reader\\Http\\Psr7ResponseDecorator" + "ocramius/proxy-manager": "ProxyManager ^2.1.1 to handle lazy initialization of services" }, + "bin": [ + "bin/generate-deps-for-config-factory", + "bin/generate-factory-for-class" + ], "type": "library", "autoload": { + "files": [ + "src/autoload.php" + ], "psr-4": { - "Laminas\\Feed\\": "src/" + "Laminas\\ServiceManager\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "provides functionality for consuming RSS and Atom feeds", + "description": "Factory-Driven Dependency Injection Container", "homepage": "https://laminas.dev", "keywords": [ - "feed", - "laminas" + "PSR-11", + "dependency-injection", + "di", + "dic", + "laminas", + "service-manager", + "servicemanager" ], "support": { "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-feed/", + "docs": "https://docs.laminas.dev/laminas-servicemanager/", "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-feed/issues", - "rss": "https://github.com/laminas/laminas-feed/releases.atom", - "source": "https://github.com/laminas/laminas-feed" + "issues": "https://github.com/laminas/laminas-servicemanager/issues", + "rss": "https://github.com/laminas/laminas-servicemanager/releases.atom", + "source": "https://github.com/laminas/laminas-servicemanager" }, "funding": [ { @@ -7170,34 +7222,35 @@ "type": "community_bridge" } ], - "time": "2022-03-24T10:26:04+00:00" + "time": "2022-09-22T11:33:46+00:00" }, { "name": "laminas/laminas-stdlib", - "version": "3.7.1", + "version": "3.13.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-stdlib.git", - "reference": "bcd869e2fe88d567800057c1434f2380354fe325" + "reference": "66a6d03c381f6c9f1dd988bf8244f9afb9380d76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/bcd869e2fe88d567800057c1434f2380354fe325", - "reference": "bcd869e2fe88d567800057c1434f2380354fe325", + "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/66a6d03c381f6c9f1dd988bf8244f9afb9380d76", + "reference": "66a6d03c381f6c9f1dd988bf8244f9afb9380d76", "shasum": "" }, "require": { - "php": "^7.3 || ~8.0.0 || ~8.1.0" + "php": "^7.4 || ~8.0.0 || ~8.1.0" }, "conflict": { "zendframework/zend-stdlib": "*" }, "require-dev": { "laminas/laminas-coding-standard": "~2.3.0", - "phpbench/phpbench": "^1.0", - "phpunit/phpunit": "^9.3.7", - "psalm/plugin-phpunit": "^0.16.0", - "vimeo/psalm": "^4.7" + "phpbench/phpbench": "^1.2.6", + "phpstan/phpdoc-parser": "^0.5.4", + "phpunit/phpunit": "^9.5.23", + "psalm/plugin-phpunit": "^0.17.0", + "vimeo/psalm": "^4.26" }, "type": "library", "autoload": { @@ -7229,7 +7282,7 @@ "type": "community_bridge" } ], - "time": "2022-01-21T15:50:46+00:00" + "time": "2022-08-24T13:56:50+00:00" }, { "name": "league/container", @@ -7606,6 +7659,102 @@ }, "type": "drupal-library" }, + { + "name": "longwave/laminas-diactoros", + "version": "2.14.2", + "source": { + "type": "git", + "url": "https://github.com/longwave/laminas-diactoros.git", + "reference": "ae4f0becf249ae8eea8f2f8f9fb927104e55a885" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/longwave/laminas-diactoros/zipball/ae4f0becf249ae8eea8f2f8f9fb927104e55a885", + "reference": "ae4f0becf249ae8eea8f2f8f9fb927104e55a885", + "shasum": "" + }, + "require": { + "php": "^7.3 || ~8.0.0 || ~8.1.0 || ~8.2.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0" + }, + "conflict": { + "phpspec/prophecy": "<1.9.0", + "zendframework/zend-diactoros": "*" + }, + "provide": { + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "replace": { + "laminas/laminas-diactoros": "2.18.1" + }, + "require-dev": { + "ext-curl": "*", + "ext-dom": "*", + "ext-gd": "*", + "ext-libxml": "*", + "http-interop/http-factory-tests": "^0.9.0", + "laminas/laminas-coding-standard": "~2.3.0", + "php-http/psr7-integration-tests": "^1.1.1", + "phpspec/prophecy-phpunit": "^2.0", + "phpunit/phpunit": "^9.5", + "psalm/plugin-phpunit": "^0.17.0", + "vimeo/psalm": "^4.24.0" + }, + "type": "library", + "extra": { + "laminas": { + "config-provider": "Laminas\\Diactoros\\ConfigProvider", + "module": "Laminas\\Diactoros" + } + }, + "autoload": { + "files": [ + "src/functions/create_uploaded_file.php", + "src/functions/marshal_headers_from_sapi.php", + "src/functions/marshal_method_from_sapi.php", + "src/functions/marshal_protocol_version_from_sapi.php", + "src/functions/marshal_uri_from_sapi.php", + "src/functions/normalize_server.php", + "src/functions/normalize_uploaded_files.php", + "src/functions/parse_cookie_header.php", + "src/functions/create_uploaded_file.legacy.php", + "src/functions/marshal_headers_from_sapi.legacy.php", + "src/functions/marshal_method_from_sapi.legacy.php", + "src/functions/marshal_protocol_version_from_sapi.legacy.php", + "src/functions/marshal_uri_from_sapi.legacy.php", + "src/functions/normalize_server.legacy.php", + "src/functions/normalize_uploaded_files.legacy.php", + "src/functions/parse_cookie_header.legacy.php" + ], + "psr-4": { + "Laminas\\Diactoros\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "PSR HTTP Message implementations", + "homepage": "https://laminas.dev", + "keywords": [ + "http", + "laminas", + "psr", + "psr-17", + "psr-7" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-diactoros/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-diactoros/issues", + "rss": "https://github.com/laminas/laminas-diactoros/releases.atom", + "source": "https://github.com/laminas/laminas-diactoros" + }, + "time": "2023-04-26T21:27:14+00:00" + }, { "name": "maennchen/zipstream-php", "version": "2.2.6", @@ -7932,16 +8081,16 @@ }, { "name": "nesbot/carbon", - "version": "2.70.0", + "version": "2.71.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "d3298b38ea8612e5f77d38d1a99438e42f70341d" + "reference": "98276233188583f2ff845a0f992a235472d9466a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/d3298b38ea8612e5f77d38d1a99438e42f70341d", - "reference": "d3298b38ea8612e5f77d38d1a99438e42f70341d", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/98276233188583f2ff845a0f992a235472d9466a", + "reference": "98276233188583f2ff845a0f992a235472d9466a", "shasum": "" }, "require": { @@ -8034,7 +8183,7 @@ "type": "tidelift" } ], - "time": "2023-09-07T16:43:50+00:00" + "time": "2023-09-25T11:31:05+00:00" }, { "name": "nikic/php-parser", @@ -8625,16 +8774,16 @@ }, { "name": "psr/http-client", - "version": "1.0.2", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/php-fig/http-client.git", - "reference": "0955afe48220520692d2d09f7ab7e0f93ffd6a31" + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/0955afe48220520692d2d09f7ab7e0f93ffd6a31", - "reference": "0955afe48220520692d2d09f7ab7e0f93ffd6a31", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", "shasum": "" }, "require": { @@ -8671,9 +8820,9 @@ "psr-18" ], "support": { - "source": "https://github.com/php-fig/http-client/tree/1.0.2" + "source": "https://github.com/php-fig/http-client" }, - "time": "2023-04-10T20:12:12+00:00" + "time": "2023-09-23T14:17:50+00:00" }, { "name": "psr/http-factory", @@ -11726,16 +11875,16 @@ }, { "name": "symfony/var-dumper", - "version": "v5.4.28", + "version": "v5.4.29", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "684b36ff415e1381d4a943c3ca2502cd2debad73" + "reference": "6172e4ae3534d25ee9e07eb487c20be7760fcc65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/684b36ff415e1381d4a943c3ca2502cd2debad73", - "reference": "684b36ff415e1381d4a943c3ca2502cd2debad73", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6172e4ae3534d25ee9e07eb487c20be7760fcc65", + "reference": "6172e4ae3534d25ee9e07eb487c20be7760fcc65", "shasum": "" }, "require": { @@ -11795,7 +11944,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.4.28" + "source": "https://github.com/symfony/var-dumper/tree/v5.4.29" }, "funding": [ { @@ -11811,7 +11960,7 @@ "type": "tidelift" } ], - "time": "2023-08-24T13:38:36+00:00" + "time": "2023-09-12T10:09:58+00:00" }, { "name": "symfony/yaml", @@ -12795,16 +12944,16 @@ }, { "name": "doctrine/deprecations", - "version": "v1.1.1", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3" + "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/612a3ee5ab0d5dd97b7cf3874a6efe24325efac3", - "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931", + "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931", "shasum": "" }, "require": { @@ -12836,9 +12985,9 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/v1.1.1" + "source": "https://github.com/doctrine/deprecations/tree/1.1.2" }, - "time": "2023-06-03T09:27:29+00:00" + "time": "2023-09-27T20:04:15+00:00" }, { "name": "doctrine/event-manager", @@ -13619,16 +13768,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.24.0", + "version": "1.24.2", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "3510b0a6274cc42f7219367cb3abfc123ffa09d6" + "reference": "bcad8d995980440892759db0c32acae7c8e79442" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/3510b0a6274cc42f7219367cb3abfc123ffa09d6", - "reference": "3510b0a6274cc42f7219367cb3abfc123ffa09d6", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/bcad8d995980440892759db0c32acae7c8e79442", + "reference": "bcad8d995980440892759db0c32acae7c8e79442", "shasum": "" }, "require": { @@ -13660,9 +13809,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.24.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.24.2" }, - "time": "2023-09-07T20:46:32+00:00" + "time": "2023-09-26T12:28:12+00:00" }, { "name": "sirbrillig/phpcs-variable-analysis", @@ -14515,9 +14664,7 @@ "stability-flags": { "academicpuma/locales": 20, "drupal/bibcite": 10, - "drupal/citation_select": 10, "drupal/flysystem": 15, - "drupal/groupmedia": 5, "drupal/reference_value_pair": 15, "drupal/rest_oai_pmh": 10, "drupal/title_length": 5, diff --git a/config/export/admin_toolbar.settings.yml b/config/export/admin_toolbar.settings.yml deleted file mode 100644 index 93a66955e..000000000 --- a/config/export/admin_toolbar.settings.yml +++ /dev/null @@ -1,3 +0,0 @@ -_core: - default_config_hash: jvTSppzcgH5wnzBhX5xnAExcp2I1CzkQ_aky65XNfYI -menu_depth: 4 diff --git a/config/export/admin_toolbar_search.settings.yml b/config/export/admin_toolbar_search.settings.yml deleted file mode 100644 index 4ae977535..000000000 --- a/config/export/admin_toolbar_search.settings.yml +++ /dev/null @@ -1,3 +0,0 @@ -_core: - default_config_hash: AAmWcgwzGYbXfR6wfEfMyoi3r5QZwlpxvq5dHbupnJo -display_menu_item: 0 diff --git a/config/export/admin_toolbar_tools.settings.yml b/config/export/admin_toolbar_tools.settings.yml deleted file mode 100644 index bc96a02f5..000000000 --- a/config/export/admin_toolbar_tools.settings.yml +++ /dev/null @@ -1,5 +0,0 @@ -_core: - default_config_hash: WgdZsrd_5w9jlmcHV4R9dD2tG9OZEkYo4I_O8h7Gq8Q -max_bundle_number: 20 -hoverintent_functionality: true -show_local_tasks: false diff --git a/config/export/advanced_search.settings.yml b/config/export/advanced_search.settings.yml deleted file mode 100644 index 55a7067da..000000000 --- a/config/export/advanced_search.settings.yml +++ /dev/null @@ -1,11 +0,0 @@ -lucene_on_off: 1 -lucene_label: Keyword -all_fields_on_off: 1 -list_on_off: 1 -grid_on_off: 1 -default-display-mode: list -search_query_parameter: a -search_recursive_parameter: r -search_add_operator: + -search_remove_operator: '-' -facet_truncate: '32' diff --git a/config/export/automated_cron.settings.yml b/config/export/automated_cron.settings.yml deleted file mode 100644 index 3fc5821fe..000000000 --- a/config/export/automated_cron.settings.yml +++ /dev/null @@ -1,3 +0,0 @@ -_core: - default_config_hash: fUksROt4FfkAU9BV4hV2XvhTBSS2nTNrZS4U7S-tKrs -interval: 10800 diff --git a/config/export/bibcite.bibcite_csl_style.american_medical_association.yml b/config/export/bibcite.bibcite_csl_style.american_medical_association.yml deleted file mode 100644 index 4cd6c85f8..000000000 --- a/config/export/bibcite.bibcite_csl_style.american_medical_association.yml +++ /dev/null @@ -1,289 +0,0 @@ -uuid: fe18b2ab-ba61-4ed7-9ae1-53655635268e -langcode: en -status: true -dependencies: { } -_core: - default_config_hash: PWpxQYdw3OW0popF7vCzlSWdG-rM2ol9apgadLTEo5A -id: american_medical_association -parent: null -label: 'American Medical Association 10th edition' -csl: | - - -updated: 1588472596 -custom: true -url_id: 'http://www.zotero.org/styles/american-medical-association-10th-edition' diff --git a/config/export/bibcite.bibcite_csl_style.apa.yml b/config/export/bibcite.bibcite_csl_style.apa.yml deleted file mode 100644 index 3418ec913..000000000 --- a/config/export/bibcite.bibcite_csl_style.apa.yml +++ /dev/null @@ -1,1581 +0,0 @@ -uuid: 8e672182-4b31-4fcd-ad13-0adc05ed9f9e -langcode: en -status: true -dependencies: { } -_core: - default_config_hash: 5itCumXb5qKQiZx5WTe0z8QzMFFiFAIc9_d8AJCiq0M -id: apa -parent: null -label: 'American Psychological Association 6th edition' -csl: | - - -updated: 1596768306 -custom: true -url_id: 'http://www.zotero.org/styles/apa-6th-edition' diff --git a/config/export/bibcite.bibcite_csl_style.chicago_author_date.yml b/config/export/bibcite.bibcite_csl_style.chicago_author_date.yml deleted file mode 100644 index 240747148..000000000 --- a/config/export/bibcite.bibcite_csl_style.chicago_author_date.yml +++ /dev/null @@ -1,670 +0,0 @@ -uuid: 3b0a3238-98e2-47b1-8e6f-0ea403a1faf5 -langcode: en -status: true -dependencies: { } -_core: - default_config_hash: uKTD7PvBOSjC4G6K4Cwquf7ds33h_qGDl9x96WCDSoU -id: chicago_author_date -parent: null -label: 'Chicago Manual of Style 16th edition (author-date)' -csl: | - - -updated: 1587925370 -custom: true -url_id: 'http://www.zotero.org/styles/chicago-author-date-16th-edition' diff --git a/config/export/bibcite.bibcite_csl_style.modern_language_association.yml b/config/export/bibcite.bibcite_csl_style.modern_language_association.yml deleted file mode 100644 index 5270c3444..000000000 --- a/config/export/bibcite.bibcite_csl_style.modern_language_association.yml +++ /dev/null @@ -1,473 +0,0 @@ -uuid: eb171f45-2f0c-483c-98ee-8abae13a2ebc -langcode: en -status: true -dependencies: { } -_core: - default_config_hash: ZsuK1_nEMKxHCv_L1dmQpr1AceMJkwqOmxVyVEoUJqI -id: modern_language_association -parent: null -label: 'Modern Language Association 7th edition' -csl: | - - -updated: 1506654426 -custom: true -url_id: 'http://www.zotero.org/styles/modern-language-association-7th-edition' diff --git a/config/export/bibcite.bibcite_csl_style.modern_language_association_8th_edition.yml b/config/export/bibcite.bibcite_csl_style.modern_language_association_8th_edition.yml deleted file mode 100644 index 2bc59b60e..000000000 --- a/config/export/bibcite.bibcite_csl_style.modern_language_association_8th_edition.yml +++ /dev/null @@ -1,323 +0,0 @@ -uuid: 3785853e-99d0-44b8-871c-f4c35b5326db -langcode: en -status: true -dependencies: { } -_core: - default_config_hash: QDkjTNcuHQSSZxWLYq0gDDnmCVbuXmpVvMobNde32ME -id: modern_language_association_8th_edition -parent: null -label: 'Modern Language Association 8th edition' -csl: | - - -updated: 1570761387 -custom: true -url_id: 'http://www.zotero.org/styles/modern-language-association' diff --git a/config/export/bibcite.settings.yml b/config/export/bibcite.settings.yml deleted file mode 100644 index ededcfd9e..000000000 --- a/config/export/bibcite.settings.yml +++ /dev/null @@ -1,4 +0,0 @@ -_core: - default_config_hash: xrKaN_2e7lR23yRaoflUaJktwsTkUG0r5Ux2mKNAiVs -processor: citeproc-php -default_style: apa diff --git a/config/export/block.block.bootstrap_barrio_account_menu.yml b/config/export/block.block.bootstrap_barrio_account_menu.yml deleted file mode 100644 index e8865d303..000000000 --- a/config/export/block.block.bootstrap_barrio_account_menu.yml +++ /dev/null @@ -1,27 +0,0 @@ -uuid: bd9403a7-f2f4-4776-ba5b-9b7299eae991 -langcode: en -status: true -dependencies: - config: - - system.menu.account - module: - - system - theme: - - bootstrap_barrio -_core: - default_config_hash: UnALXKN9BfRPollIjAI9kSu6YpvuB6zhseorFtN2xW8 -id: bootstrap_barrio_account_menu -theme: bootstrap_barrio -region: secondary_menu -weight: -7 -provider: null -plugin: 'system_menu_block:account' -settings: - id: 'system_menu_block:account' - label: 'User account menu' - label_display: '0' - provider: system - level: 1 - depth: 1 - expand_all_items: false -visibility: { } diff --git a/config/export/block.block.bootstrap_barrio_breadcrumbs.yml b/config/export/block.block.bootstrap_barrio_breadcrumbs.yml deleted file mode 100644 index 51ae6573d..000000000 --- a/config/export/block.block.bootstrap_barrio_breadcrumbs.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: ad9db811-951a-4120-af01-85777ca73e9c -langcode: en -status: true -dependencies: - module: - - system - theme: - - bootstrap_barrio -_core: - default_config_hash: xk8HAWIUZCzYFsUX2sNmTNDUxSoCdwrEI1tpTT5LW9s -id: bootstrap_barrio_breadcrumbs -theme: bootstrap_barrio -region: breadcrumb -weight: 0 -provider: null -plugin: system_breadcrumb_block -settings: - id: system_breadcrumb_block - label: Breadcrumbs - label_display: '0' - provider: system -visibility: { } diff --git a/config/export/block.block.bootstrap_barrio_content.yml b/config/export/block.block.bootstrap_barrio_content.yml deleted file mode 100644 index e57d63d29..000000000 --- a/config/export/block.block.bootstrap_barrio_content.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: f6c084c2-7a8c-43e4-b42d-84d7fb5368fa -langcode: en -status: true -dependencies: - module: - - system - theme: - - bootstrap_barrio -_core: - default_config_hash: GuQlH3j65O5SXgAliLjf1Ben7XBU6qxvW7xXUo6q0rk -id: bootstrap_barrio_content -theme: bootstrap_barrio -region: content -weight: -3 -provider: null -plugin: system_main_block -settings: - id: system_main_block - label: 'Main page content' - label_display: '0' - provider: system -visibility: { } diff --git a/config/export/block.block.bootstrap_barrio_creatorsandcontributors.yml b/config/export/block.block.bootstrap_barrio_creatorsandcontributors.yml deleted file mode 100644 index bc2fd94db..000000000 --- a/config/export/block.block.bootstrap_barrio_creatorsandcontributors.yml +++ /dev/null @@ -1,37 +0,0 @@ -uuid: 6170187e-96b2-46fc-8a2a-6500c8da8fb4 -langcode: en -status: true -dependencies: - config: - - facets.facet.creators_and_contributors - module: - - facets - - islandora - - system - theme: - - bootstrap_barrio -_core: - default_config_hash: jziE1LayhQhICzoN5LBg3jdBwNieZWUHHr4xGAlwj_o -id: bootstrap_barrio_creatorsandcontributors -theme: bootstrap_barrio -region: top_header -weight: 0 -provider: null -plugin: 'facet_block:creators_and_contributors' -settings: - id: 'facet_block:creators_and_contributors' - label: 'Creators and Contributors' - label_display: visible - provider: facets - block_id: creatorsandcontributors -visibility: - request_path: - id: request_path - negate: false - context_mapping: { } - pages: /solr-search/content - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' diff --git a/config/export/block.block.bootstrap_barrio_exposedformsolr_search_contentpage_1.yml b/config/export/block.block.bootstrap_barrio_exposedformsolr_search_contentpage_1.yml deleted file mode 100644 index 461cdd38c..000000000 --- a/config/export/block.block.bootstrap_barrio_exposedformsolr_search_contentpage_1.yml +++ /dev/null @@ -1,25 +0,0 @@ -uuid: 46fc414a-387d-4495-9e2d-e61bb5f7fed6 -langcode: en -status: true -dependencies: - config: - - views.view.solr_search_content - module: - - views - theme: - - bootstrap_barrio -_core: - default_config_hash: UGbvzHUCMdMe84lOKlLRajT3aIi2OFnAGpZw1eceoQY -id: bootstrap_barrio_exposedformsolr_search_contentpage_1 -theme: bootstrap_barrio -region: header -weight: 1 -provider: null -plugin: 'views_exposed_filter_block:solr_search_content-page_1' -settings: - id: 'views_exposed_filter_block:solr_search_content-page_1' - label: '' - label_display: visible - provider: views - views_label: '' -visibility: { } diff --git a/config/export/block.block.bootstrap_barrio_help.yml b/config/export/block.block.bootstrap_barrio_help.yml deleted file mode 100644 index 3c5db9740..000000000 --- a/config/export/block.block.bootstrap_barrio_help.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 6dc9b5dd-1f37-4052-b6d9-0d478a54061b -langcode: en -status: true -dependencies: - module: - - help - theme: - - bootstrap_barrio -_core: - default_config_hash: b6CHwczHyuqKRuf-Oi4zY6q-9HCsLyWRGkk8-reVCfk -id: bootstrap_barrio_help -theme: bootstrap_barrio -region: highlighted -weight: -2 -provider: null -plugin: help_block -settings: - id: help_block - label: Help - label_display: '0' - provider: help -visibility: { } diff --git a/config/export/block.block.bootstrap_barrio_main_menu.yml b/config/export/block.block.bootstrap_barrio_main_menu.yml deleted file mode 100644 index fe4583f51..000000000 --- a/config/export/block.block.bootstrap_barrio_main_menu.yml +++ /dev/null @@ -1,27 +0,0 @@ -uuid: bc61f1af-f5d6-4ca5-857e-edafdd407d58 -langcode: en -status: true -dependencies: - config: - - system.menu.main - module: - - system - theme: - - bootstrap_barrio -_core: - default_config_hash: Vrn8CVbuNQkElxVQ1UJS57jzA7WHlZ_6EJMfWkspfr0 -id: bootstrap_barrio_main_menu -theme: bootstrap_barrio -region: primary_menu -weight: -6 -provider: null -plugin: 'system_menu_block:main' -settings: - id: 'system_menu_block:main' - label: 'Main navigation' - label_display: '0' - provider: system - level: 1 - depth: 2 - expand_all_items: true -visibility: { } diff --git a/config/export/block.block.bootstrap_barrio_messages.yml b/config/export/block.block.bootstrap_barrio_messages.yml deleted file mode 100644 index 07efd19cf..000000000 --- a/config/export/block.block.bootstrap_barrio_messages.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 33be5c6a-32af-4226-a5c6-20c8029306e0 -langcode: en -status: true -dependencies: - module: - - system - theme: - - bootstrap_barrio -_core: - default_config_hash: VZDxR0xdW-n-VWQRlRQjsiN-dgDS3-1Es-s1vXLfgsI -id: bootstrap_barrio_messages -theme: bootstrap_barrio -region: highlighted -weight: -6 -provider: null -plugin: system_messages_block -settings: - id: system_messages_block - label: 'Status messages' - label_display: '0' - provider: system -visibility: { } diff --git a/config/export/block.block.bootstrap_barrio_page_title.yml b/config/export/block.block.bootstrap_barrio_page_title.yml deleted file mode 100644 index 4ddac2ee7..000000000 --- a/config/export/block.block.bootstrap_barrio_page_title.yml +++ /dev/null @@ -1,20 +0,0 @@ -uuid: 877d9cb7-5f15-42ab-9d95-89cbfa0882f0 -langcode: en -status: true -dependencies: - theme: - - bootstrap_barrio -_core: - default_config_hash: ouz-Jr5EfrE6iN708-53o8J41W-9mqW2ELMpI9jYMAA -id: bootstrap_barrio_page_title -theme: bootstrap_barrio -region: content -weight: -7 -provider: null -plugin: page_title_block -settings: - id: page_title_block - label: 'Page title' - label_display: '0' - provider: core -visibility: { } diff --git a/config/export/block.block.bootstrap_barrio_physicalform.yml b/config/export/block.block.bootstrap_barrio_physicalform.yml deleted file mode 100644 index 125ab1545..000000000 --- a/config/export/block.block.bootstrap_barrio_physicalform.yml +++ /dev/null @@ -1,31 +0,0 @@ -uuid: 36e7fe20-9edc-4b47-bd15-47e3a61dde91 -langcode: en -status: true -dependencies: - config: - - facets.facet.physical_form - module: - - facets - - system - theme: - - bootstrap_barrio -_core: - default_config_hash: Gb14JbPGc1IX6-hfhZr_EVEg-AUiYnV50EJcfUIIgHc -id: bootstrap_barrio_physicalform -theme: bootstrap_barrio -region: top_header -weight: 0 -provider: null -plugin: 'facet_block:physical_form' -settings: - id: 'facet_block:physical_form' - label: 'Physical Form' - label_display: visible - provider: facets - block_id: physicalform -visibility: - request_path: - id: request_path - negate: false - context_mapping: { } - pages: /solr-search/content diff --git a/config/export/block.block.bootstrap_barrio_powered.yml b/config/export/block.block.bootstrap_barrio_powered.yml deleted file mode 100644 index 85815f1d5..000000000 --- a/config/export/block.block.bootstrap_barrio_powered.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: ce12efd7-376e-4fb7-a274-432a6679b8da -langcode: en -status: true -dependencies: - module: - - system - theme: - - bootstrap_barrio -_core: - default_config_hash: uHGQeXpjudF5HkwGniQ_zzUngqcc3iAzzE7fdjWJiyA -id: bootstrap_barrio_powered -theme: bootstrap_barrio -region: footer_fifth -weight: -7 -provider: null -plugin: system_powered_by_block -settings: - id: system_powered_by_block - label: 'Powered by Drupal' - label_display: '0' - provider: system -visibility: { } diff --git a/config/export/block.block.bootstrap_barrio_primary_admin_actions.yml b/config/export/block.block.bootstrap_barrio_primary_admin_actions.yml deleted file mode 100644 index 7e7cabc71..000000000 --- a/config/export/block.block.bootstrap_barrio_primary_admin_actions.yml +++ /dev/null @@ -1,20 +0,0 @@ -uuid: a6394bfb-5db1-42b9-a17d-294d73393765 -langcode: en -status: true -dependencies: - theme: - - bootstrap_barrio -_core: - default_config_hash: MY-b6RFbUcofefyaeI8uMqaPh2bJOasn2y1bvGVF4dw -id: bootstrap_barrio_primary_admin_actions -theme: bootstrap_barrio -region: content -weight: -6 -provider: null -plugin: local_actions_block -settings: - id: local_actions_block - label: 'Primary admin actions' - label_display: '0' - provider: core -visibility: { } diff --git a/config/export/block.block.bootstrap_barrio_primary_local_tasks.yml b/config/export/block.block.bootstrap_barrio_primary_local_tasks.yml deleted file mode 100644 index 3f9d3a9d1..000000000 --- a/config/export/block.block.bootstrap_barrio_primary_local_tasks.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 3384b16c-b6c2-49a8-8619-09f8bae0f905 -langcode: en -status: true -dependencies: - theme: - - bootstrap_barrio -_core: - default_config_hash: IsKUlBAi-gl90iZ3w0OI3XZvSYDrtxg4nF1aDhfLWIA -id: bootstrap_barrio_primary_local_tasks -theme: bootstrap_barrio -region: content -weight: -5 -provider: null -plugin: local_tasks_block -settings: - id: local_tasks_block - label: 'Primary tabs' - label_display: '0' - provider: core - primary: true - secondary: false -visibility: { } diff --git a/config/export/block.block.bootstrap_barrio_secondary_local_tasks.yml b/config/export/block.block.bootstrap_barrio_secondary_local_tasks.yml deleted file mode 100644 index 772f5b889..000000000 --- a/config/export/block.block.bootstrap_barrio_secondary_local_tasks.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 8b983efa-64e8-48de-9a59-ae8e1d9c2a59 -langcode: en -status: true -dependencies: - theme: - - bootstrap_barrio -_core: - default_config_hash: lpVq_Qyojss-EfQ_LgUPkPSbXcUD9ojyNZgmUZP4d7I -id: bootstrap_barrio_secondary_local_tasks -theme: bootstrap_barrio -region: content -weight: -4 -provider: null -plugin: local_tasks_block -settings: - id: local_tasks_block - label: 'Secondary tabs' - label_display: '0' - provider: core - primary: false - secondary: true -visibility: { } diff --git a/config/export/block.block.bootstrap_barrio_site_branding.yml b/config/export/block.block.bootstrap_barrio_site_branding.yml deleted file mode 100644 index 211d22a0c..000000000 --- a/config/export/block.block.bootstrap_barrio_site_branding.yml +++ /dev/null @@ -1,25 +0,0 @@ -uuid: 1a0de20e-cfcb-4b97-8635-e604157cb19d -langcode: en -status: true -dependencies: - module: - - system - theme: - - bootstrap_barrio -_core: - default_config_hash: lE5hyDUbMWVcRxvlVMAwguAJFBiZH2Xf-59wmBIq9co -id: bootstrap_barrio_site_branding -theme: bootstrap_barrio -region: header -weight: -7 -provider: null -plugin: system_branding_block -settings: - id: system_branding_block - label: 'Site branding' - label_display: '0' - provider: system - use_site_logo: true - use_site_name: true - use_site_slogan: false -visibility: { } diff --git a/config/export/block.block.bootstrap_barrio_subject.yml b/config/export/block.block.bootstrap_barrio_subject.yml deleted file mode 100644 index d9baf2785..000000000 --- a/config/export/block.block.bootstrap_barrio_subject.yml +++ /dev/null @@ -1,31 +0,0 @@ -uuid: 2ea32c20-df33-4c39-a075-39377c7b12fe -langcode: en -status: true -dependencies: - config: - - facets.facet.subject - module: - - facets - - system - theme: - - bootstrap_barrio -_core: - default_config_hash: 8CNTurKBSOQZRTrWiaCmfAwseQyzXZOb8gJohUvIBFw -id: bootstrap_barrio_subject -theme: bootstrap_barrio -region: top_header -weight: 0 -provider: null -plugin: 'facet_block:subject' -settings: - id: 'facet_block:subject' - label: Subject - label_display: visible - provider: facets - block_id: subject -visibility: - request_path: - id: request_path - negate: false - context_mapping: { } - pages: /solr-search/content diff --git a/config/export/block.block.bootstrap_barrio_subjectname.yml b/config/export/block.block.bootstrap_barrio_subjectname.yml deleted file mode 100644 index d87934a8d..000000000 --- a/config/export/block.block.bootstrap_barrio_subjectname.yml +++ /dev/null @@ -1,31 +0,0 @@ -uuid: ac3449c2-0ddc-49ab-b82c-223d829a832c -langcode: en -status: true -dependencies: - config: - - facets.facet.subject_name - module: - - facets - - system - theme: - - bootstrap_barrio -_core: - default_config_hash: VFNCtt7POqemCYyZ3x3gWDwdyJfoAmbqHim37oy6onU -id: bootstrap_barrio_subjectname -theme: bootstrap_barrio -region: top_header -weight: 0 -provider: null -plugin: 'facet_block:subject_name' -settings: - id: 'facet_block:subject_name' - label: 'Subject (name)' - label_display: visible - provider: facets - block_id: subjectname -visibility: - request_path: - id: request_path - negate: false - context_mapping: { } - pages: /solr-search/content diff --git a/config/export/block.block.bootstrap_barrio_syndicate.yml b/config/export/block.block.bootstrap_barrio_syndicate.yml deleted file mode 100644 index 191c04acd..000000000 --- a/config/export/block.block.bootstrap_barrio_syndicate.yml +++ /dev/null @@ -1,23 +0,0 @@ -uuid: 2f244621-4148-4f5a-94e7-8638813f29be -langcode: en -status: true -dependencies: - module: - - node - theme: - - bootstrap_barrio -_core: - default_config_hash: 0gq3VPg-_UM69FCCWurLFIrrnIjC2HLKhwo9iQNtcUo -id: bootstrap_barrio_syndicate -theme: bootstrap_barrio -region: top_header -weight: 0 -provider: null -plugin: node_syndicate_block -settings: - id: node_syndicate_block - label: 'RSS feed' - label_display: '0' - provider: node - block_count: 10 -visibility: { } diff --git a/config/export/block.block.bootstrap_barrio_temporalsubject.yml b/config/export/block.block.bootstrap_barrio_temporalsubject.yml deleted file mode 100644 index 5493f7eb8..000000000 --- a/config/export/block.block.bootstrap_barrio_temporalsubject.yml +++ /dev/null @@ -1,31 +0,0 @@ -uuid: bbcbc71f-5b35-42f2-9bc7-35cd04554874 -langcode: en -status: true -dependencies: - config: - - facets.facet.temporal_subject - module: - - facets - - system - theme: - - bootstrap_barrio -_core: - default_config_hash: 1BMA18tJL_4xlrR2wg5QSmr499p157HBiWAgv_rJmQ4 -id: bootstrap_barrio_temporalsubject -theme: bootstrap_barrio -region: top_header -weight: 0 -provider: null -plugin: 'facet_block:temporal_subject' -settings: - id: 'facet_block:temporal_subject' - label: 'Temporal Subject' - label_display: visible - provider: facets - block_id: temporalsubject -visibility: - request_path: - id: request_path - negate: false - context_mapping: { } - pages: /solr-search/content diff --git a/config/export/block.block.claro_breadcrumbs.yml b/config/export/block.block.claro_breadcrumbs.yml deleted file mode 100644 index 10c12b44f..000000000 --- a/config/export/block.block.claro_breadcrumbs.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 04e5298f-1671-4c75-8371-8020feafc968 -langcode: en -status: true -dependencies: - module: - - system - theme: - - claro -_core: - default_config_hash: NjcxOBrPOiK5-38t56DwFBDVY4yer7YSlbRWXFuHe7A -id: claro_breadcrumbs -theme: claro -region: breadcrumb -weight: 0 -provider: null -plugin: system_breadcrumb_block -settings: - id: system_breadcrumb_block - label: Breadcrumbs - label_display: '0' - provider: system -visibility: { } diff --git a/config/export/block.block.claro_content.yml b/config/export/block.block.claro_content.yml deleted file mode 100644 index c3f66a80e..000000000 --- a/config/export/block.block.claro_content.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 171aa20c-cba5-40b4-9692-106450a04a17 -langcode: en -status: true -dependencies: - module: - - system - theme: - - claro -_core: - default_config_hash: a0Yyx1GeyKarZ4T_yXQBR_ZFKnXiFLtxAb6gWLd8nr0 -id: claro_content -theme: claro -region: content -weight: 0 -provider: null -plugin: system_main_block -settings: - id: system_main_block - label: 'Main page content' - label_display: '0' - provider: system -visibility: { } diff --git a/config/export/block.block.claro_help.yml b/config/export/block.block.claro_help.yml deleted file mode 100644 index 5b0e9deba..000000000 --- a/config/export/block.block.claro_help.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: e524857e-9ffb-43ca-a3a6-345843fe33dd -langcode: en -status: true -dependencies: - module: - - help - theme: - - claro -_core: - default_config_hash: jccFSSVqV0WCDb6NtML1VWAWTtDbZ-zn5YgTRMgMrIM -id: claro_help -theme: claro -region: help -weight: 0 -provider: null -plugin: help_block -settings: - id: help_block - label: Help - label_display: '0' - provider: help -visibility: { } diff --git a/config/export/block.block.claro_local_actions.yml b/config/export/block.block.claro_local_actions.yml deleted file mode 100644 index d27269f62..000000000 --- a/config/export/block.block.claro_local_actions.yml +++ /dev/null @@ -1,20 +0,0 @@ -uuid: 39c2ba17-b7e5-4073-b059-23b796cbd82c -langcode: en -status: true -dependencies: - theme: - - claro -_core: - default_config_hash: CdXfDmRgAvms7EQovxxWPdYi0GitxeRbVtScYK16ZH0 -id: claro_local_actions -theme: claro -region: content -weight: -10 -provider: null -plugin: local_actions_block -settings: - id: local_actions_block - label: 'Primary admin actions' - label_display: '0' - provider: core -visibility: { } diff --git a/config/export/block.block.claro_messages.yml b/config/export/block.block.claro_messages.yml deleted file mode 100644 index 37155aaf4..000000000 --- a/config/export/block.block.claro_messages.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 1cdb3f25-5e60-4438-ac52-67d5fa368d81 -langcode: en -status: true -dependencies: - module: - - system - theme: - - claro -_core: - default_config_hash: '-Ac3ISpIT0PQ-whzD7_dw0SdKi6dAbRFNWdSjOiVDqg' -id: claro_messages -theme: claro -region: highlighted -weight: 0 -provider: null -plugin: system_messages_block -settings: - id: system_messages_block - label: 'Status messages' - label_display: '0' - provider: system -visibility: { } diff --git a/config/export/block.block.claro_page_title.yml b/config/export/block.block.claro_page_title.yml deleted file mode 100644 index f4d7a15c7..000000000 --- a/config/export/block.block.claro_page_title.yml +++ /dev/null @@ -1,20 +0,0 @@ -uuid: defaec36-d4df-4dff-8612-dabf86b93a7a -langcode: en -status: true -dependencies: - theme: - - claro -_core: - default_config_hash: fNwDdW063tk_ktzSWzZVeQS9wzvLooVO280BQ9WrsIs -id: claro_page_title -theme: claro -region: header -weight: -30 -provider: null -plugin: page_title_block -settings: - id: page_title_block - label: 'Page title' - label_display: '0' - provider: core -visibility: { } diff --git a/config/export/block.block.claro_primary_local_tasks.yml b/config/export/block.block.claro_primary_local_tasks.yml deleted file mode 100644 index d1ab2daa6..000000000 --- a/config/export/block.block.claro_primary_local_tasks.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 97185aca-ce5e-4054-80dc-811dfe907cb2 -langcode: en -status: true -dependencies: - theme: - - claro -_core: - default_config_hash: ACjBZI5shAMiiUpsz-inLYVXDqNNXRnSzAWV3kV_8Hw -id: claro_primary_local_tasks -theme: claro -region: header -weight: 0 -provider: null -plugin: local_tasks_block -settings: - id: local_tasks_block - label: 'Primary tabs' - label_display: '0' - provider: core - primary: true - secondary: false -visibility: { } diff --git a/config/export/block.block.claro_secondary_local_tasks.yml b/config/export/block.block.claro_secondary_local_tasks.yml deleted file mode 100644 index 9531ec460..000000000 --- a/config/export/block.block.claro_secondary_local_tasks.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 5c251d07-cdc3-4d5b-ac8a-8cccb9deb713 -langcode: en -status: true -dependencies: - theme: - - claro -_core: - default_config_hash: 2L0geP-ixCbCkEpW6BVF6H7vDUZN4ea07_Y9CociQm4 -id: claro_secondary_local_tasks -theme: claro -region: pre_content -weight: 0 -provider: null -plugin: local_tasks_block -settings: - id: local_tasks_block - label: 'Secondary tabs' - label_display: '0' - provider: core - primary: false - secondary: true -visibility: { } diff --git a/config/export/block.block.footer.yml b/config/export/block.block.footer.yml deleted file mode 100644 index ecc9c3387..000000000 --- a/config/export/block.block.footer.yml +++ /dev/null @@ -1,51 +0,0 @@ -uuid: 6fd5eeca-b4e7-4ef6-aa5b-79290c3d83af -langcode: en -status: true -dependencies: - config: - - system.menu.footer - module: - - context - - islandora - - system - theme: - - idc_ui_theme_boots -id: footer -theme: idc_ui_theme_boots -region: footer_third -weight: 0 -provider: null -plugin: 'system_menu_block:footer' -settings: - id: 'system_menu_block:footer' - label: Footer - label_display: '0' - provider: system - level: 1 - depth: 0 - expand_all_items: false -visibility: - context_all: - id: context_all - negate: null - values: '' - context: - id: context - negate: null - values: '' - user_status: - id: user_status - negate: false - context_mapping: - user: '@user.current_user_context:current_user' - user_status: - viewing_profile: '0' - logged_viewing_profile: '0' - own_page_true: '0' - field_value: '0' - user_fields: uid - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' diff --git a/config/export/block.block.idc_ui_theme_boots_account_menu.yml b/config/export/block.block.idc_ui_theme_boots_account_menu.yml deleted file mode 100644 index b37f4d5f1..000000000 --- a/config/export/block.block.idc_ui_theme_boots_account_menu.yml +++ /dev/null @@ -1,27 +0,0 @@ -uuid: 6fc7c68b-4887-4ab0-b571-ef9b2e182b6a -langcode: en -status: false -dependencies: - config: - - system.menu.account - module: - - system - theme: - - idc_ui_theme_boots -_core: - default_config_hash: gmxYWWHmgbe0Pnv8y48ZLSLH5mEHejOjAP6RLxUfdzU -id: idc_ui_theme_boots_account_menu -theme: idc_ui_theme_boots -region: secondary_menu -weight: -10 -provider: null -plugin: 'system_menu_block:account' -settings: - id: 'system_menu_block:account' - label: 'User account menu' - label_display: '0' - provider: system - level: 1 - depth: 1 - expand_all_items: false -visibility: { } diff --git a/config/export/block.block.idc_ui_theme_boots_branding.yml b/config/export/block.block.idc_ui_theme_boots_branding.yml deleted file mode 100644 index f856af89e..000000000 --- a/config/export/block.block.idc_ui_theme_boots_branding.yml +++ /dev/null @@ -1,42 +0,0 @@ -uuid: dec916ec-70d2-46c8-b5f9-e4a6cecdaf13 -langcode: en -status: false -dependencies: - module: - - context - - islandora - - system - theme: - - idc_ui_theme_boots -_core: - default_config_hash: Uh1uXyIia-DXvwCH8GlmWet0iyjZN40kRqvBO8sO0ck -id: idc_ui_theme_boots_branding -theme: idc_ui_theme_boots -region: header -weight: -10 -provider: null -plugin: system_branding_block -settings: - id: system_branding_block - label: 'Site branding' - label_display: '0' - provider: system - use_site_logo: true - use_site_name: true - use_site_slogan: true -visibility: - view_inclusion: - id: view_inclusion - negate: null - context_mapping: { } - view_inclusion: { } - request_path_exclusion: - id: request_path_exclusion - negate: null - context_mapping: { } - pages: '' - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' diff --git a/config/export/block.block.idc_ui_theme_boots_breadcrumbs.yml b/config/export/block.block.idc_ui_theme_boots_breadcrumbs.yml deleted file mode 100644 index 9052af152..000000000 --- a/config/export/block.block.idc_ui_theme_boots_breadcrumbs.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 58586bdc-2dcf-4253-a3b7-14b1c8eb28a7 -langcode: en -status: true -dependencies: - module: - - system - theme: - - idc_ui_theme_boots -_core: - default_config_hash: VhBzWb7lMRtIOg9G7VSw_0uopi-7zXeHq4vXqqV1HFE -id: idc_ui_theme_boots_breadcrumbs -theme: idc_ui_theme_boots -region: breadcrumb -weight: 0 -provider: null -plugin: system_breadcrumb_block -settings: - id: system_breadcrumb_block - label: Breadcrumbs - label_display: '0' - provider: system -visibility: { } diff --git a/config/export/block.block.idc_ui_theme_boots_content.yml b/config/export/block.block.idc_ui_theme_boots_content.yml deleted file mode 100644 index bdbe0280a..000000000 --- a/config/export/block.block.idc_ui_theme_boots_content.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 72ff5a03-cec4-4a7e-814c-c0ce33db0228 -langcode: en -status: true -dependencies: - module: - - system - theme: - - idc_ui_theme_boots -_core: - default_config_hash: erQSEZF2XUjNmgTl0uNRBzmg18ZGXwUcw2FhApoeuHk -id: idc_ui_theme_boots_content -theme: idc_ui_theme_boots -region: content -weight: -10 -provider: null -plugin: system_main_block -settings: - id: system_main_block - label: 'Main page content' - label_display: '0' - provider: system -visibility: { } diff --git a/config/export/block.block.idc_ui_theme_boots_creatorsandcontributors.yml b/config/export/block.block.idc_ui_theme_boots_creatorsandcontributors.yml deleted file mode 100644 index a739cff15..000000000 --- a/config/export/block.block.idc_ui_theme_boots_creatorsandcontributors.yml +++ /dev/null @@ -1,37 +0,0 @@ -uuid: 6652277d-5c6c-4f7c-b4e6-13702af4c422 -langcode: en -status: true -dependencies: - config: - - facets.facet.creators_and_contributors - module: - - facets - - islandora - - system - theme: - - idc_ui_theme_boots -_core: - default_config_hash: jziE1LayhQhICzoN5LBg3jdBwNieZWUHHr4xGAlwj_o -id: idc_ui_theme_boots_creatorsandcontributors -theme: idc_ui_theme_boots -region: sidebar_first -weight: -15 -provider: null -plugin: 'facet_block:creators_and_contributors' -settings: - id: 'facet_block:creators_and_contributors' - label: 'Creators and Contributors' - label_display: visible - provider: facets - block_id: creatorsandcontributors -visibility: - request_path: - id: request_path - negate: false - context_mapping: { } - pages: /solr-search/content - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' diff --git a/config/export/block.block.idc_ui_theme_boots_exposedformsolr_search_contentpage_1.yml b/config/export/block.block.idc_ui_theme_boots_exposedformsolr_search_contentpage_1.yml deleted file mode 100644 index 64a3bb67e..000000000 --- a/config/export/block.block.idc_ui_theme_boots_exposedformsolr_search_contentpage_1.yml +++ /dev/null @@ -1,51 +0,0 @@ -uuid: 0fd27c5d-2482-41a4-9e88-5efcf43c9788 -langcode: en -status: false -dependencies: - config: - - views.view.solr_search_content - module: - - context - - islandora - - views - theme: - - idc_ui_theme_boots -_core: - default_config_hash: UGbvzHUCMdMe84lOKlLRajT3aIi2OFnAGpZw1eceoQY -id: idc_ui_theme_boots_exposedformsolr_search_contentpage_1 -theme: idc_ui_theme_boots -region: header -weight: -10 -provider: null -plugin: 'views_exposed_filter_block:solr_search_content-page_1' -settings: - id: 'views_exposed_filter_block:solr_search_content-page_1' - label: '' - label_display: '0' - provider: views - views_label: '' -visibility: - context: - id: context - negate: null - values: '' - user_status: - id: user_status - negate: false - context_mapping: - user: '@user.current_user_context:current_user' - user_status: - viewing_profile: '0' - logged_viewing_profile: '0' - own_page_true: '0' - field_value: '0' - user_fields: uid - context_all: - id: context_all - negate: null - values: '' - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' diff --git a/config/export/block.block.idc_ui_theme_boots_help.yml b/config/export/block.block.idc_ui_theme_boots_help.yml deleted file mode 100644 index 8953f735a..000000000 --- a/config/export/block.block.idc_ui_theme_boots_help.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 708bd022-0d77-46fa-8afd-6b2f06c23369 -langcode: en -status: true -dependencies: - module: - - help - theme: - - idc_ui_theme_boots -_core: - default_config_hash: VfPFqqxfkomud5CO8DUijw85QIl9GIxh_nIxLOYESxg -id: idc_ui_theme_boots_help -theme: idc_ui_theme_boots -region: top_header -weight: -6 -provider: null -plugin: help_block -settings: - id: help_block - label: Help - label_display: '0' - provider: help -visibility: { } diff --git a/config/export/block.block.idc_ui_theme_boots_local_actions.yml b/config/export/block.block.idc_ui_theme_boots_local_actions.yml deleted file mode 100644 index 2e000372a..000000000 --- a/config/export/block.block.idc_ui_theme_boots_local_actions.yml +++ /dev/null @@ -1,20 +0,0 @@ -uuid: 6c481d9c-6e3c-4297-819d-04df06e6e4bb -langcode: en -status: true -dependencies: - theme: - - idc_ui_theme_boots -_core: - default_config_hash: 3YhiHkVshhPZ5VIR7-ZjGNmUTjtq8QAhEwu5gpIrNyU -id: idc_ui_theme_boots_local_actions -theme: idc_ui_theme_boots -region: content -weight: -5 -provider: null -plugin: local_actions_block -settings: - id: local_actions_block - label: 'Primary admin actions' - label_display: '0' - provider: core -visibility: { } diff --git a/config/export/block.block.idc_ui_theme_boots_local_tasks.yml b/config/export/block.block.idc_ui_theme_boots_local_tasks.yml deleted file mode 100644 index 8b793f6cd..000000000 --- a/config/export/block.block.idc_ui_theme_boots_local_tasks.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: b15d832d-10e7-4096-97a9-3de4e77b0ba3 -langcode: en -status: false -dependencies: - theme: - - idc_ui_theme_boots -_core: - default_config_hash: gUw6yvXTwg-Ldx15B87h7SjnUcF64ANf635LkieF8rg -id: idc_ui_theme_boots_local_tasks -theme: idc_ui_theme_boots -region: content -weight: -7 -provider: null -plugin: local_tasks_block -settings: - id: local_tasks_block - label: Tabs - label_display: '0' - provider: core - primary: true - secondary: true -visibility: { } diff --git a/config/export/block.block.idc_ui_theme_boots_main_menu.yml b/config/export/block.block.idc_ui_theme_boots_main_menu.yml deleted file mode 100644 index d2b5359d5..000000000 --- a/config/export/block.block.idc_ui_theme_boots_main_menu.yml +++ /dev/null @@ -1,53 +0,0 @@ -uuid: 27861613-0e57-4a7a-872c-3ce56dfb889f -langcode: en -status: true -dependencies: - config: - - system.menu.main - module: - - context - - islandora - - system - theme: - - idc_ui_theme_boots -_core: - default_config_hash: KWAiziL39uEzmOJEql_wbUP2RtqGceL3WM2CfxhMelE -id: idc_ui_theme_boots_main_menu -theme: idc_ui_theme_boots -region: secondary_menu -weight: -11 -provider: null -plugin: 'system_menu_block:main' -settings: - id: 'system_menu_block:main' - label: 'Main navigation' - label_display: '0' - provider: system - level: 1 - depth: 5 - expand_all_items: true -visibility: - context_all: - id: context_all - negate: null - values: '' - context: - id: context - negate: null - values: '' - user_status: - id: user_status - negate: false - context_mapping: - user: '@user.current_user_context:current_user' - user_status: - viewing_profile: '0' - logged_viewing_profile: '0' - own_page_true: '0' - field_value: '0' - user_fields: uid - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' diff --git a/config/export/block.block.idc_ui_theme_boots_memberof.yml b/config/export/block.block.idc_ui_theme_boots_memberof.yml deleted file mode 100644 index 0a129e799..000000000 --- a/config/export/block.block.idc_ui_theme_boots_memberof.yml +++ /dev/null @@ -1,55 +0,0 @@ -uuid: 1ba6cb69-c81c-4c9d-b955-b57256008603 -langcode: en -status: false -dependencies: - config: - - facets.facet.member_of - module: - - context - - facets - - islandora - - system - theme: - - idc_ui_theme_boots -id: idc_ui_theme_boots_memberof -theme: idc_ui_theme_boots -region: top_header -weight: -11 -provider: null -plugin: 'facet_block:member_of' -settings: - id: 'facet_block:member_of' - label: 'Member of' - label_display: visible - provider: facets - context_mapping: { } - block_id: memberof -visibility: - context: - id: context - negate: null - values: '' - user_status: - id: user_status - negate: false - context_mapping: - user: '@user.current_user_context:current_user' - user_status: - viewing_profile: '0' - logged_viewing_profile: '0' - own_page_true: '0' - field_value: '0' - user_fields: uid - context_all: - id: context_all - negate: null - values: '' - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' - request_path: - id: request_path - negate: false - pages: /solr-search/content diff --git a/config/export/block.block.idc_ui_theme_boots_messages.yml b/config/export/block.block.idc_ui_theme_boots_messages.yml deleted file mode 100644 index f33e01c26..000000000 --- a/config/export/block.block.idc_ui_theme_boots_messages.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: e04bd2dd-af06-41fd-87cd-1c5af9f18acb -langcode: en -status: true -dependencies: - module: - - system - theme: - - idc_ui_theme_boots -_core: - default_config_hash: BZ5tpW7H8X4PVGRm3MImTIHd2tN0eF7zOtp4SpRYUA0 -id: idc_ui_theme_boots_messages -theme: idc_ui_theme_boots -region: highlighted -weight: -5 -provider: null -plugin: system_messages_block -settings: - id: system_messages_block - label: 'Status messages' - label_display: '0' - provider: system -visibility: { } diff --git a/config/export/block.block.idc_ui_theme_boots_page_title.yml b/config/export/block.block.idc_ui_theme_boots_page_title.yml deleted file mode 100644 index 8570458d7..000000000 --- a/config/export/block.block.idc_ui_theme_boots_page_title.yml +++ /dev/null @@ -1,51 +0,0 @@ -uuid: 2d5933d0-c5a8-427c-a8de-fcfb23dfd90d -langcode: en -status: false -dependencies: - module: - - context - - islandora - theme: - - idc_ui_theme_boots -_core: - default_config_hash: 6aOgWsNTXjqrDm98TXSAjP6qd2nCijD1xw45MrnbK-Y -id: idc_ui_theme_boots_page_title -theme: idc_ui_theme_boots -region: top_header -weight: -8 -provider: null -plugin: page_title_block -settings: - id: page_title_block - label: 'Page title' - label_display: '0' - provider: core -visibility: - context_all: - id: context_all - negate: null - values: '' - context: - id: context - negate: null - values: '' - request_path_exclusion: - id: request_path_exclusion - negate: true - pages: '' - user_status: - id: user_status - negate: false - context_mapping: - user: '@user.current_user_context:current_user' - user_status: - viewing_profile: '0' - logged_viewing_profile: '0' - own_page_true: '0' - field_value: '0' - user_fields: uid - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' diff --git a/config/export/block.block.idc_ui_theme_boots_physicalform.yml b/config/export/block.block.idc_ui_theme_boots_physicalform.yml deleted file mode 100644 index dad2a4f90..000000000 --- a/config/export/block.block.idc_ui_theme_boots_physicalform.yml +++ /dev/null @@ -1,31 +0,0 @@ -uuid: c25b7813-d677-47ee-a268-604a254dab8c -langcode: en -status: true -dependencies: - config: - - facets.facet.physical_form - module: - - facets - - system - theme: - - idc_ui_theme_boots -_core: - default_config_hash: Gb14JbPGc1IX6-hfhZr_EVEg-AUiYnV50EJcfUIIgHc -id: idc_ui_theme_boots_physicalform -theme: idc_ui_theme_boots -region: sidebar_first -weight: -14 -provider: null -plugin: 'facet_block:physical_form' -settings: - id: 'facet_block:physical_form' - label: 'Physical Form' - label_display: visible - provider: facets - block_id: physicalform -visibility: - request_path: - id: request_path - negate: false - context_mapping: { } - pages: /solr-search/content diff --git a/config/export/block.block.idc_ui_theme_boots_primary_admin_actions.yml b/config/export/block.block.idc_ui_theme_boots_primary_admin_actions.yml deleted file mode 100644 index ac84eebf9..000000000 --- a/config/export/block.block.idc_ui_theme_boots_primary_admin_actions.yml +++ /dev/null @@ -1,20 +0,0 @@ -uuid: 3e9c93d3-5c87-45f5-bdff-e4024c7598f6 -langcode: en -status: true -dependencies: - theme: - - idc_ui_theme_boots -_core: - default_config_hash: Q9_2whdOj1YIomfvsIfopROW4FT_X5pY0DjdOiOaQ5U -id: idc_ui_theme_boots_primary_admin_actions -theme: idc_ui_theme_boots -region: highlighted -weight: -6 -provider: null -plugin: local_actions_block -settings: - id: local_actions_block - label: 'Primary admin actions' - label_display: '0' - provider: core -visibility: { } diff --git a/config/export/block.block.idc_ui_theme_boots_primary_local_tasks.yml b/config/export/block.block.idc_ui_theme_boots_primary_local_tasks.yml deleted file mode 100644 index c005d0446..000000000 --- a/config/export/block.block.idc_ui_theme_boots_primary_local_tasks.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 84e0d500-0948-4b71-af39-27d74ee9bf47 -langcode: en -status: true -dependencies: - theme: - - idc_ui_theme_boots -_core: - default_config_hash: nGE3EoPQQaQCuqTUtZgw0-KIzmrqdKDzdNQf2JyPUt4 -id: idc_ui_theme_boots_primary_local_tasks -theme: idc_ui_theme_boots -region: highlighted -weight: -4 -provider: null -plugin: local_tasks_block -settings: - id: local_tasks_block - label: 'Primary tabs' - label_display: '0' - provider: core - primary: true - secondary: false -visibility: { } diff --git a/config/export/block.block.idc_ui_theme_boots_resourcetype.yml b/config/export/block.block.idc_ui_theme_boots_resourcetype.yml deleted file mode 100644 index 33ffb2f74..000000000 --- a/config/export/block.block.idc_ui_theme_boots_resourcetype.yml +++ /dev/null @@ -1,55 +0,0 @@ -uuid: 3487476e-d986-49e8-9267-18c12eaa3db1 -langcode: en -status: true -dependencies: - config: - - facets.facet.resource_type - module: - - context - - facets - - islandora - - system - theme: - - idc_ui_theme_boots -id: idc_ui_theme_boots_resourcetype -theme: idc_ui_theme_boots -region: sidebar_first -weight: -16 -provider: null -plugin: 'facet_block:resource_type' -settings: - id: 'facet_block:resource_type' - label: 'Resource Type' - label_display: visible - provider: facets - context_mapping: { } - block_id: resourcetype -visibility: - context: - id: context - negate: null - values: '' - user_status: - id: user_status - negate: false - context_mapping: - user: '@user.current_user_context:current_user' - user_status: - viewing_profile: '0' - logged_viewing_profile: '0' - own_page_true: '0' - field_value: '0' - user_fields: uid - context_all: - id: context_all - negate: null - values: '' - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' - request_path: - id: request_path - negate: false - pages: /solr-search/content diff --git a/config/export/block.block.idc_ui_theme_boots_resourcetype_2.yml b/config/export/block.block.idc_ui_theme_boots_resourcetype_2.yml deleted file mode 100755 index a34c8e968..000000000 --- a/config/export/block.block.idc_ui_theme_boots_resourcetype_2.yml +++ /dev/null @@ -1,54 +0,0 @@ -langcode: en -status: true -dependencies: - config: - - facets.facet.resource_type_2 - module: - - context - - facets - - islandora - - system - theme: - - idc_ui_theme_boots -id: idc_ui_theme_boots_resourcetype_2 -theme: idc_ui_theme_boots -region: sidebar_first -weight: -10 -provider: null -plugin: 'facet_block:resource_type_2' -settings: - id: 'facet_block:resource_type_2' - label: 'Resource Type' - label_display: visible - provider: facets - context_mapping: { } - block_id: resourcetype_2 -visibility: - context: - id: context - negate: null - values: '' - user_status: - id: user_status - negate: false - context_mapping: - user: '@user.current_user_context:current_user' - user_status: - viewing_profile: '0' - logged_viewing_profile: '0' - own_page_true: '0' - field_value: '0' - user_fields: uid - context_all: - id: context_all - negate: null - values: '' - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' - request_path: - id: request_path - negate: false - pages: '/node/*/search' diff --git a/config/export/block.block.idc_ui_theme_boots_secondary_local_tasks.yml b/config/export/block.block.idc_ui_theme_boots_secondary_local_tasks.yml deleted file mode 100644 index 246e75971..000000000 --- a/config/export/block.block.idc_ui_theme_boots_secondary_local_tasks.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 6f8adfb3-ec46-4398-96d8-0e3fc99364bd -langcode: en -status: true -dependencies: - theme: - - idc_ui_theme_boots -_core: - default_config_hash: ydSxdq7R66I8UMC460rOzlfzvlUL4VRbdwc6z9DWaUI -id: idc_ui_theme_boots_secondary_local_tasks -theme: idc_ui_theme_boots -region: highlighted -weight: -3 -provider: null -plugin: local_tasks_block -settings: - id: local_tasks_block - label: 'Secondary tabs' - label_display: '0' - provider: core - primary: false - secondary: true -visibility: { } diff --git a/config/export/block.block.idc_ui_theme_boots_site_branding.yml b/config/export/block.block.idc_ui_theme_boots_site_branding.yml deleted file mode 100644 index c58f35818..000000000 --- a/config/export/block.block.idc_ui_theme_boots_site_branding.yml +++ /dev/null @@ -1,25 +0,0 @@ -uuid: 73365296-5801-49ad-b74a-1a6e30ffb83b -langcode: en -status: true -dependencies: - module: - - system - theme: - - idc_ui_theme_boots -_core: - default_config_hash: n_nlgjggHVfQt2H__zvLOKB2YtjPDbQ5tHijF9LE1aM -id: idc_ui_theme_boots_site_branding -theme: idc_ui_theme_boots -region: header -weight: -11 -provider: null -plugin: system_branding_block -settings: - id: system_branding_block - label: 'Site branding' - label_display: '0' - provider: system - use_site_logo: true - use_site_name: true - use_site_slogan: false -visibility: { } diff --git a/config/export/block.block.idc_ui_theme_boots_sitebranding.yml b/config/export/block.block.idc_ui_theme_boots_sitebranding.yml deleted file mode 100644 index 1b8cb748e..000000000 --- a/config/export/block.block.idc_ui_theme_boots_sitebranding.yml +++ /dev/null @@ -1,42 +0,0 @@ -uuid: 28e6999f-81a0-4c6b-83a4-5ea808edfac1 -langcode: en -status: true -dependencies: - module: - - context - - islandora - - system - theme: - - idc_ui_theme_boots -_core: - default_config_hash: Qe6YFMsxZxHcUdSm0nXTftS8MjGN2cX-lfUJievSwXU -id: idc_ui_theme_boots_sitebranding -theme: idc_ui_theme_boots -region: footer_first -weight: -9 -provider: null -plugin: system_branding_block -settings: - id: system_branding_block - label: 'Site branding' - label_display: '0' - provider: system - use_site_logo: true - use_site_name: true - use_site_slogan: true -visibility: - view_inclusion: - id: view_inclusion - negate: null - context_mapping: { } - view_inclusion: { } - request_path_exclusion: - id: request_path_exclusion - negate: null - context_mapping: { } - pages: '' - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' diff --git a/config/export/block.block.idc_ui_theme_boots_solrsearchcontentsearchresultspagerforpage.yml b/config/export/block.block.idc_ui_theme_boots_solrsearchcontentsearchresultspagerforpage.yml deleted file mode 100755 index 35ea79dd6..000000000 --- a/config/export/block.block.idc_ui_theme_boots_solrsearchcontentsearchresultspagerforpage.yml +++ /dev/null @@ -1,50 +0,0 @@ -langcode: en -status: true -dependencies: - module: - - context - - islandora - - islandora_advanced_search - theme: - - idc_ui_theme_boots -id: idc_ui_theme_boots_solrsearchcontentsearchresultspagerforpage -theme: idc_ui_theme_boots -region: content -weight: -11 -provider: null -plugin: 'islandora_advanced_search_result_pager:solr_search_content__page_1' -settings: - id: 'islandora_advanced_search_result_pager:solr_search_content__page_1' - label: 'Solr search content: Search Results Pager for Page' - label_display: visible - provider: islandora_advanced_search -visibility: - context: - id: context - negate: null - values: '' - user_status: - id: user_status - negate: false - context_mapping: - user: '@user.current_user_context:current_user' - user_status: - viewing_profile: '0' - logged_viewing_profile: '0' - own_page_true: '0' - field_value: '0' - user_fields: uid - context_all: - id: context_all - negate: null - values: '' - view_inclusion: - id: view_inclusion - negate: false - view_inclusion: - view-collection_children-page_1: view-collection_children-page_1 - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' diff --git a/config/export/block.block.idc_ui_theme_boots_subject.yml b/config/export/block.block.idc_ui_theme_boots_subject.yml deleted file mode 100644 index 9252a613b..000000000 --- a/config/export/block.block.idc_ui_theme_boots_subject.yml +++ /dev/null @@ -1,31 +0,0 @@ -uuid: eedc559b-5340-4852-9853-c8a24191ae17 -langcode: en -status: true -dependencies: - config: - - facets.facet.subject - module: - - facets - - system - theme: - - idc_ui_theme_boots -_core: - default_config_hash: 8CNTurKBSOQZRTrWiaCmfAwseQyzXZOb8gJohUvIBFw -id: idc_ui_theme_boots_subject -theme: idc_ui_theme_boots -region: sidebar_first -weight: -9 -provider: null -plugin: 'facet_block:subject' -settings: - id: 'facet_block:subject' - label: Subject - label_display: visible - provider: facets - block_id: subject -visibility: - request_path: - id: request_path - negate: false - context_mapping: { } - pages: /solr-search/content diff --git a/config/export/block.block.idc_ui_theme_boots_subjectname.yml b/config/export/block.block.idc_ui_theme_boots_subjectname.yml deleted file mode 100644 index 80a45cae2..000000000 --- a/config/export/block.block.idc_ui_theme_boots_subjectname.yml +++ /dev/null @@ -1,31 +0,0 @@ -uuid: e4a64e7f-d79b-458e-98c6-ce9bf7bd2ad0 -langcode: en -status: true -dependencies: - config: - - facets.facet.subject_name - module: - - facets - - system - theme: - - idc_ui_theme_boots -_core: - default_config_hash: VFNCtt7POqemCYyZ3x3gWDwdyJfoAmbqHim37oy6onU -id: idc_ui_theme_boots_subjectname -theme: idc_ui_theme_boots -region: sidebar_first -weight: -12 -provider: null -plugin: 'facet_block:subject_name' -settings: - id: 'facet_block:subject_name' - label: 'Subject (name)' - label_display: visible - provider: facets - block_id: subjectname -visibility: - request_path: - id: request_path - negate: false - context_mapping: { } - pages: /solr-search/content diff --git a/config/export/block.block.idc_ui_theme_boots_syndicate.yml b/config/export/block.block.idc_ui_theme_boots_syndicate.yml deleted file mode 100644 index 78193e161..000000000 --- a/config/export/block.block.idc_ui_theme_boots_syndicate.yml +++ /dev/null @@ -1,23 +0,0 @@ -uuid: df12edea-ae6b-4a16-951e-98267aa6f216 -langcode: en -status: false -dependencies: - module: - - node - theme: - - idc_ui_theme_boots -_core: - default_config_hash: 0gq3VPg-_UM69FCCWurLFIrrnIjC2HLKhwo9iQNtcUo -id: idc_ui_theme_boots_syndicate -theme: idc_ui_theme_boots -region: top_header -weight: -1 -provider: null -plugin: node_syndicate_block -settings: - id: node_syndicate_block - label: 'RSS feed' - label_display: '0' - provider: node - block_count: 10 -visibility: { } diff --git a/config/export/block.block.idc_ui_theme_boots_temporalsubject.yml b/config/export/block.block.idc_ui_theme_boots_temporalsubject.yml deleted file mode 100644 index 62b2fe242..000000000 --- a/config/export/block.block.idc_ui_theme_boots_temporalsubject.yml +++ /dev/null @@ -1,31 +0,0 @@ -uuid: b8a8cc1e-fb40-4b06-8b76-4f851363aca8 -langcode: en -status: true -dependencies: - config: - - facets.facet.temporal_subject - module: - - facets - - system - theme: - - idc_ui_theme_boots -_core: - default_config_hash: 1BMA18tJL_4xlrR2wg5QSmr499p157HBiWAgv_rJmQ4 -id: idc_ui_theme_boots_temporalsubject -theme: idc_ui_theme_boots -region: sidebar_first -weight: -11 -provider: null -plugin: 'facet_block:temporal_subject' -settings: - id: 'facet_block:temporal_subject' - label: 'Temporal Subject' - label_display: visible - provider: facets - block_id: temporalsubject -visibility: - request_path: - id: request_path - negate: false - context_mapping: { } - pages: /solr-search/content diff --git a/config/export/block.block.idc_ui_theme_boots_year.yml b/config/export/block.block.idc_ui_theme_boots_year.yml deleted file mode 100644 index c938a2c04..000000000 --- a/config/export/block.block.idc_ui_theme_boots_year.yml +++ /dev/null @@ -1,55 +0,0 @@ -uuid: a486d028-b15c-49ca-a154-058075e85dce -langcode: en -status: true -dependencies: - config: - - facets.facet.year - module: - - context - - facets - - islandora - - system - theme: - - idc_ui_theme_boots -id: idc_ui_theme_boots_year -theme: idc_ui_theme_boots -region: sidebar_first -weight: -13 -provider: null -plugin: 'facet_block:year' -settings: - id: 'facet_block:year' - label: Year - label_display: visible - provider: facets - context_mapping: { } - block_id: year -visibility: - context: - id: context - negate: null - values: '' - user_status: - id: user_status - negate: false - context_mapping: - user: '@user.current_user_context:current_user' - user_status: - viewing_profile: '0' - logged_viewing_profile: '0' - own_page_true: '0' - field_value: '0' - user_fields: uid - context_all: - id: context_all - negate: null - values: '' - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' - request_path: - id: request_path - negate: false - pages: /solr-search/content diff --git a/config/export/block.block.memberof.yml b/config/export/block.block.memberof.yml deleted file mode 100644 index d4c0d0080..000000000 --- a/config/export/block.block.memberof.yml +++ /dev/null @@ -1,55 +0,0 @@ -uuid: 75be2606-c8db-4b9d-b8f4-fb61551c741b -langcode: en -status: false -dependencies: - config: - - facets.facet.member_of - module: - - context - - facets - - islandora - theme: - - idc_ui_theme_boots -id: memberof -theme: idc_ui_theme_boots -region: top_header -weight: -12 -provider: null -plugin: 'facet_block:member_of' -settings: - id: 'facet_block:member_of' - label: 'Member of' - label_display: visible - provider: facets - context_mapping: { } - block_id: memberof -visibility: - context: - id: context - negate: null - values: '' - user_status: - id: user_status - negate: false - context_mapping: - user: '@user.current_user_context:current_user' - user_status: - viewing_profile: '0' - logged_viewing_profile: '0' - own_page_true: '0' - field_value: '0' - user_fields: uid - context_all: - id: context_all - negate: null - values: '' - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' - view_inclusion: - id: view_inclusion - negate: false - view_inclusion: - view-solr_search_content-page_1: view-solr_search_content-page_1 diff --git a/config/export/block.block.pagetitle.yml b/config/export/block.block.pagetitle.yml deleted file mode 100644 index 9e1322057..000000000 --- a/config/export/block.block.pagetitle.yml +++ /dev/null @@ -1,50 +0,0 @@ -uuid: 77c1752b-a3e4-4c4f-820b-e9f32f7a5c57 -langcode: en -status: false -dependencies: - module: - - context - - islandora - theme: - - idc_ui_theme_boots -id: pagetitle -theme: idc_ui_theme_boots -region: content -weight: -8 -provider: null -plugin: page_title_block -settings: - id: page_title_block - label: 'Page title' - label_display: '0' - provider: core -visibility: - context_all: - id: context_all - negate: null - values: '' - context: - id: context - negate: null - values: '' - user_status: - id: user_status - negate: false - context_mapping: - user: '@user.current_user_context:current_user' - user_status: - viewing_profile: '0' - logged_viewing_profile: '0' - own_page_true: '0' - field_value: '0' - user_fields: uid - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' - view_inclusion: - id: view_inclusion - negate: false - view_inclusion: - view-solr_search_content-page_1: view-solr_search_content-page_1 diff --git a/config/export/block.block.search.yml b/config/export/block.block.search.yml deleted file mode 100644 index 557024501..000000000 --- a/config/export/block.block.search.yml +++ /dev/null @@ -1,56 +0,0 @@ -uuid: e31cee54-f0e1-4ac3-bf84-c89584745b31 -langcode: en -status: true -dependencies: - module: - - advanced_search - - context - - islandora - - system - theme: - - idc_ui_theme_boots -id: search -theme: idc_ui_theme_boots -region: primary_menu -weight: -11 -provider: null -plugin: search_block -settings: - id: search_block - label: Search - label_display: '0' - provider: advanced_search - block_id: search - search_view_machine_name: view.solr_search_content.page_1 - search_textfield_label: Keyword - search_placeholder: '' - search_submit_label: Search -visibility: - context_all: - id: context_all - negate: null - values: '' - context: - id: context - negate: null - values: '' - user_status: - id: user_status - negate: false - context_mapping: - user: '@user.current_user_context:current_user' - user_status: - viewing_profile: '0' - logged_viewing_profile: '0' - own_page_true: '0' - field_value: '0' - user_fields: uid - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' - request_path: - id: request_path - negate: true - pages: /search diff --git a/config/export/block.block.solrsearchcontentadvancedsearchforblock.yml b/config/export/block.block.solrsearchcontentadvancedsearchforblock.yml deleted file mode 100644 index 9f84ee687..000000000 --- a/config/export/block.block.solrsearchcontentadvancedsearchforblock.yml +++ /dev/null @@ -1,50 +0,0 @@ -uuid: e26b17b6-a1f5-4eb8-9ad3-28e7b8f352d2 -langcode: en -status: true -dependencies: - module: - - context - - islandora - theme: - - idc_ui_theme_boots -id: solrsearchcontentadvancedsearchforblock -theme: idc_ui_theme_boots -region: top_header -weight: -15 -provider: null -plugin: 'advanced_search_block:solr_search_content__block_1' -settings: - id: 'advanced_search_block:solr_search_content__block_1' - label: 'Search within Collection' - label_display: visible - provider: advanced_search - fields: - - title_aggregated_fulltext - - abstract_description_fulltext - - linked_agent_name_fulltext - context_filter: field_member_of -visibility: - user_status: - id: user_status - negate: false - context_mapping: - user: '@user.current_user_context:current_user' - user_status: - viewing_profile: '0' - logged_viewing_profile: '0' - own_page_true: '0' - field_value: '0' - user_fields: uid - context: - id: context - negate: null - values: '' - context_all: - id: context_all - negate: null - values: collection - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' diff --git a/config/export/block.block.solrsearchcontentadvancedsearchforpage.yml b/config/export/block.block.solrsearchcontentadvancedsearchforpage.yml deleted file mode 100644 index 727231b3e..000000000 --- a/config/export/block.block.solrsearchcontentadvancedsearchforpage.yml +++ /dev/null @@ -1,56 +0,0 @@ -uuid: 0224ff66-123d-4d86-94e0-0915b7cc0542 -langcode: en -status: false -dependencies: - module: - - advanced_search - - context - - islandora - theme: - - idc_ui_theme_boots -id: solrsearchcontentadvancedsearchforpage -theme: idc_ui_theme_boots -region: top_header -weight: -16 -provider: null -plugin: 'advanced_search_block:solr_search_content__page_1' -settings: - id: 'advanced_search_block:solr_search_content__page_1' - label: Search - label_display: visible - provider: advanced_search - fields: - - title_aggregated_fulltext - - abstract_description_fulltext - - linked_agent_name_fulltext - context_filter: null -visibility: - user_status: - id: user_status - negate: false - context_mapping: - user: '@user.current_user_context:current_user' - user_status: - viewing_profile: '0' - logged_viewing_profile: '0' - own_page_true: '0' - field_value: '0' - user_fields: uid - context: - id: context - negate: null - values: '' - context_all: - id: context_all - negate: null - values: '' - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' - view_inclusion: - id: view_inclusion - negate: false - view_inclusion: - view-solr_search_content-page_1: view-solr_search_content-page_1 diff --git a/config/export/block.block.solrsearchcontentsearchresultspagerforblock.yml b/config/export/block.block.solrsearchcontentsearchresultspagerforblock.yml deleted file mode 100644 index 9f027ecd4..000000000 --- a/config/export/block.block.solrsearchcontentsearchresultspagerforblock.yml +++ /dev/null @@ -1,45 +0,0 @@ -uuid: 93af8e5e-0844-454f-9bdb-50dee29e52d3 -langcode: en -status: true -dependencies: - module: - - context - - islandora - theme: - - idc_ui_theme_boots -id: solrsearchcontentsearchresultspagerforblock -theme: idc_ui_theme_boots -region: content -weight: -10 -provider: null -plugin: 'advanced_search_result_pager:solr_search_content__block_1' -settings: - id: 'advanced_search_result_pager:solr_search_content__block_1' - label: 'Solr search content: Search Results Pager for Block' - label_display: '0' - provider: advanced_search -visibility: - user_status: - id: user_status - negate: false - context_mapping: - user: '@user.current_user_context:current_user' - user_status: - viewing_profile: '0' - logged_viewing_profile: '0' - own_page_true: '0' - field_value: '0' - user_fields: uid - context: - id: context - negate: null - values: '' - context_all: - id: context_all - negate: null - values: collection - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' diff --git a/config/export/block.block.solrsearchcontentsearchresultspagerforpage.yml b/config/export/block.block.solrsearchcontentsearchresultspagerforpage.yml deleted file mode 100644 index 521000876..000000000 --- a/config/export/block.block.solrsearchcontentsearchresultspagerforpage.yml +++ /dev/null @@ -1,51 +0,0 @@ -uuid: e99d15e7-3690-48bc-8225-bc498c9a3604 -langcode: en -status: true -dependencies: - module: - - advanced_search - - context - - islandora - theme: - - idc_ui_theme_boots -id: solrsearchcontentsearchresultspagerforpage -theme: idc_ui_theme_boots -region: content -weight: -12 -provider: null -plugin: 'advanced_search_result_pager:solr_search_content__page_1' -settings: - id: 'advanced_search_result_pager:solr_search_content__page_1' - label: 'Solr search content: Search Results Pager for Page' - label_display: '0' - provider: advanced_search -visibility: - user_status: - id: user_status - negate: false - context_mapping: - user: '@user.current_user_context:current_user' - user_status: - viewing_profile: '0' - logged_viewing_profile: '0' - own_page_true: '0' - field_value: '0' - user_fields: uid - view_inclusion: - id: view_inclusion - negate: false - view_inclusion: - view-solr_search_content-page_1: view-solr_search_content-page_1 - context: - id: context - negate: null - values: '' - context_all: - id: context_all - negate: null - values: '' - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' diff --git a/config/export/block.block.views_block__solr_search_content_block_1.yml b/config/export/block.block.views_block__solr_search_content_block_1.yml deleted file mode 100644 index 6e7152bb1..000000000 --- a/config/export/block.block.views_block__solr_search_content_block_1.yml +++ /dev/null @@ -1,47 +0,0 @@ -uuid: d9ad9477-0f98-4086-9711-33986fcd0121 -langcode: en -status: true -dependencies: - module: - - context - - islandora - theme: - - idc_ui_theme_boots -id: views_block__solr_search_content_block_1 -theme: idc_ui_theme_boots -region: content -weight: -9 -provider: null -plugin: 'views_block:solr_search_content-block_1' -settings: - id: 'views_block:solr_search_content-block_1' - label: Broken/Missing - label_display: '0' - provider: core - views_label: '' - items_per_page: none -visibility: - user_status: - id: user_status - negate: false - context_mapping: - user: '@user.current_user_context:current_user' - user_status: - viewing_profile: '0' - logged_viewing_profile: '0' - own_page_true: '0' - field_value: '0' - user_fields: uid - context: - id: context - negate: null - values: '' - context_all: - id: context_all - negate: null - values: collection - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' diff --git a/config/export/block.block.year.yml b/config/export/block.block.year.yml deleted file mode 100644 index 7c89c419e..000000000 --- a/config/export/block.block.year.yml +++ /dev/null @@ -1,55 +0,0 @@ -uuid: e5f139d7-33fc-4da5-ae00-ffefb45e2816 -langcode: en -status: false -dependencies: - config: - - facets.facet.year - module: - - context - - facets - - islandora - theme: - - idc_ui_theme_boots -id: year -theme: idc_ui_theme_boots -region: top_header -weight: 0 -provider: null -plugin: 'facet_block:year' -settings: - id: 'facet_block:year' - label: Year - label_display: visible - provider: facets - context_mapping: { } - block_id: year -visibility: - context: - id: context - negate: null - values: '' - user_status: - id: user_status - negate: false - context_mapping: - user: '@user.current_user_context:current_user' - user_status: - viewing_profile: '0' - logged_viewing_profile: '0' - own_page_true: '0' - field_value: '0' - user_fields: uid - context_all: - id: context_all - negate: null - values: '' - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' - view_inclusion: - id: view_inclusion - negate: false - view_inclusion: - view-solr_search_content-page_1: view-solr_search_content-page_1 diff --git a/config/export/block.block.yearswc.yml b/config/export/block.block.yearswc.yml deleted file mode 100644 index 0874cf479..000000000 --- a/config/export/block.block.yearswc.yml +++ /dev/null @@ -1,50 +0,0 @@ -uuid: c6a1b124-c1d0-4249-9c5a-3eb0963f25a1 -langcode: en -status: false -dependencies: - config: - - facets.facet.year_swc - module: - - context - - facets - - islandora - theme: - - idc_ui_theme_boots -id: yearswc -theme: idc_ui_theme_boots -region: top_header -weight: 0 -provider: null -plugin: 'facet_block:year_swc' -settings: - id: 'facet_block:year_swc' - label: Year - label_display: visible - provider: facets - context_mapping: { } - block_id: yearswc -visibility: - user_status: - id: user_status - negate: false - context_mapping: - user: '@user.current_user_context:current_user' - user_status: - viewing_profile: '0' - logged_viewing_profile: '0' - own_page_true: '0' - field_value: '0' - user_fields: uid - context: - id: context - negate: null - values: '' - context_all: - id: context_all - negate: null - values: collection - media_source_mimetype: - id: media_source_mimetype - negate: false - context_mapping: { } - mimetype: '' diff --git a/config/export/block_content.type.basic.yml b/config/export/block_content.type.basic.yml deleted file mode 100644 index d07ed3b38..000000000 --- a/config/export/block_content.type.basic.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: a56ea544-e048-44db-9c16-02c2b5e147b0 -langcode: en -status: true -dependencies: { } -_core: - default_config_hash: zglzjmYxi0G0ag9MZ02y0LSJOdpWRwJxyP_OvFojFyo -id: basic -label: 'Basic block' -revision: 0 -description: 'A basic block contains a title and a body.' diff --git a/config/export/bootstrap_barrio.settings.yml b/config/export/bootstrap_barrio.settings.yml deleted file mode 100644 index 79c4abd57..000000000 --- a/config/export/bootstrap_barrio.settings.yml +++ /dev/null @@ -1,27 +0,0 @@ -_core: - default_config_hash: t6US_F0C6QlULV41MsacNyE5f9Nxrp1jNM3MkChYtDY -bootstrap_barrio_library: production -bootstrap_barrio_fluid_container: 0 -bootstrap_barrio_sidebar_position: both -bootstrap_barrio_content_offset: 0 -bootstrap_barrio_sidebar_first_width: 4 -bootstrap_barrio_sidebar_first_offset: 0 -bootstrap_barrio_sidebar_second_width: 3 -bootstrap_barrio_sidebar_second_offset: 0 -bootstrap_barrio_button: 1 -bootstrap_barrio_button_size: '' -bootstrap_barrio_button_outline: 0 -bootstrap_barrio_navbar_container: navbar-toggleable-md -bootstrap_barrio_navbar_toggle: navbar-toggleable-lg -bootstrap_barrio_navbar_top_position: '' -bootstrap_barrio_navbar_top_color: navbar-dark -bootstrap_barrio_navbar_top_background: bg-secondary -bootstrap_barrio_navbar_position: '' -bootstrap_barrio_navbar_color: navbar-dark -bootstrap_barrio_navbar_background: bg-primary -bootstrap_barrio_messages_widget: toasts -bootstrap_barrio_bootstrap_icons: 1 -bootstrap_barrio_system_messages: messages_white -bootstrap_barrio_table_style: table-striped -bootstrap_barrio_table_hover: 1 -bootstrap_barrio_button_type: primary diff --git a/config/export/citation_select.settings.yml b/config/export/citation_select.settings.yml deleted file mode 100644 index 1ae0324c5..000000000 --- a/config/export/citation_select.settings.yml +++ /dev/null @@ -1,12 +0,0 @@ -_core: - default_config_hash: Hp8pxCkOLxZjIb2VJfTXGKWTUscMK3f3cg0McSzAmKo -csl_map: - title: - - title - 'current url': - - URL -typed_relation_map: - 'relators:aut': author - 'relators:ctb': contributor - 'relators:edt': editor - 'relators:pbl': publisher diff --git a/config/export/claro.settings.yml b/config/export/claro.settings.yml deleted file mode 100644 index 6bba58bc7..000000000 --- a/config/export/claro.settings.yml +++ /dev/null @@ -1,3 +0,0 @@ -third_party_settings: - shortcut: - module_link: true diff --git a/config/export/comment.settings.yml b/config/export/comment.settings.yml deleted file mode 100644 index 5b7ad98a8..000000000 --- a/config/export/comment.settings.yml +++ /dev/null @@ -1,3 +0,0 @@ -_core: - default_config_hash: YNUW2Ij5uE7a4oaXp3i_2lvaFdYM1zNKPPfnEjB0jEc -log_ip_addresses: false diff --git a/config/export/comment.type.comment.yml b/config/export/comment.type.comment.yml deleted file mode 100644 index 56db717f3..000000000 --- a/config/export/comment.type.comment.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 28b375a9-fee1-4840-8059-b7839e0f0303 -langcode: en -status: true -dependencies: { } -_core: - default_config_hash: bqZsN31T2n0UjcbyCpOPi9D2iO0sAOHR7FnEs9qMvaA -id: comment -label: 'Default comments' -target_entity_type_id: node -description: 'Allows commenting on content' diff --git a/config/export/contact.form.feedback.yml b/config/export/contact.form.feedback.yml deleted file mode 100644 index a7070aec0..000000000 --- a/config/export/contact.form.feedback.yml +++ /dev/null @@ -1,14 +0,0 @@ -uuid: 3e371e21-1cad-48c6-a416-8c496e6a6f03 -langcode: en -status: true -dependencies: { } -_core: - default_config_hash: vymHlgJy26BuI5GGj9-IXjwR3dRC5C0tij4BpWJnoqw -id: feedback -label: 'Website feedback' -recipients: - - admin@example.com -reply: '' -weight: 0 -message: 'Your message has been sent.' -redirect: '' diff --git a/config/export/contact.form.personal.yml b/config/export/contact.form.personal.yml deleted file mode 100644 index 8438dc171..000000000 --- a/config/export/contact.form.personal.yml +++ /dev/null @@ -1,13 +0,0 @@ -uuid: edea0493-7c2e-4911-897b-fcc5ec370537 -langcode: en -status: true -dependencies: { } -_core: - default_config_hash: jonvgt3CkUM2eMLTFwWfHileWWDC4YtXCuIlCahTk_I -id: personal -label: 'Personal contact form' -recipients: { } -reply: '' -weight: 0 -message: 'Your message has been sent.' -redirect: '' diff --git a/config/export/contact.settings.yml b/config/export/contact.settings.yml deleted file mode 100644 index 1c949a66a..000000000 --- a/config/export/contact.settings.yml +++ /dev/null @@ -1,7 +0,0 @@ -_core: - default_config_hash: U69DBeuvXuNVOC15rVNaBjDPK2fWFbo9v4takdYSSO8 -default_form: feedback -flood: - limit: 5 - interval: 3600 -user_default_enabled: true diff --git a/config/export/context.context.all_media.yml b/config/export/context.context.all_media.yml deleted file mode 100644 index 1f08e3835..000000000 --- a/config/export/context.context.all_media.yml +++ /dev/null @@ -1,50 +0,0 @@ -uuid: 8d5dff96-4f1a-4958-bf0f-ba83de62986e -langcode: en -status: true -dependencies: - module: - - islandora -_core: - default_config_hash: 0ipt7H647M0BLxXJETg1ktGLwD1IsWRJvjveTP-PCKA -label: 'All Media' -name: all_media -group: Indexing -description: 'Index all media bundles in Fedora and Blazegraph' -requireAllConditions: false -disabled: false -conditions: - islandora_entity_bundle: - id: islandora_entity_bundle - negate: false - context_mapping: - media: '@islandora.media_route_context_provider:media' - bundles: - audio: audio - document: document - extracted_text: extracted_text - file: file - fits_technical_metadata: fits_technical_metadata - image: image - remote_video: remote_video - video: video -reactions: - alter_jsonld_type: - id: alter_jsonld_type - saved: false - source_field: field_media_use - islandora_map_uri_predicate: - id: islandora_map_uri_predicate - saved: false - drupal_uri_predicate: 'iana:describedby' - index: - id: index - saved: false - actions: - index_media_in_fedora: index_media_in_fedora - index_media_in_triplestore: index_media_in_triplestore - delete: - id: delete - saved: false - actions: - delete_media_from_triplestore: delete_media_from_triplestore -weight: -8 diff --git a/config/export/context.context.audio.yml b/config/export/context.context.audio.yml deleted file mode 100644 index 997bede46..000000000 --- a/config/export/context.context.audio.yml +++ /dev/null @@ -1,23 +0,0 @@ -uuid: ae4d5cd2-15b4-4d0d-b6bc-2052f20f4907 -langcode: en -status: true -dependencies: - module: - - islandora -label: Audio -name: audio -group: Display -description: 'Audio player' -requireAllConditions: false -disabled: false -conditions: - media_has_term: - id: media_has_term - negate: false - uuid: 0cfb89ac-df90-4530-aa56-364ac4c50ef1 - context_mapping: - media: '@islandora.media_route_context_provider:media' - uri: 'http://purl.org/coar/resource_type/c_18cc' - logic: and -reactions: { } -weight: 0 diff --git a/config/export/context.context.audio_original_file.yml b/config/export/context.context.audio_original_file.yml deleted file mode 100644 index af2252aaf..000000000 --- a/config/export/context.context.audio_original_file.yml +++ /dev/null @@ -1,36 +0,0 @@ -uuid: 31359591-29f0-4a08-b7e4-be677f80c7ce -langcode: en -status: true -dependencies: - module: - - islandora -_core: - default_config_hash: LF_53zO22iJb5lGnTEum37B_719Nz_EM5iG-fOKt3-I -label: 'Audio Derivatives' -name: audio_original_file -group: Derivatives -description: 'Derivatives for Audio' -requireAllConditions: true -disabled: false -conditions: - media_has_term: - id: media_has_term - negate: false - context_mapping: - media: '@islandora.media_route_context_provider:media' - uri: 'http://pcdm.org/use#OriginalFile' - logic: and - parent_node_has_term: - id: parent_node_has_term - negate: false - context_mapping: - media: '@islandora.media_route_context_provider:media' - uri: 'http://purl.org/coar/resource_type/c_18cc' - logic: and -reactions: - derivative: - id: derivative - saved: false - actions: - audio_generate_a_service_file_from_an_original_file: audio_generate_a_service_file_from_an_original_file -weight: -8 diff --git a/config/export/context.context.basic_image.yml b/config/export/context.context.basic_image.yml deleted file mode 100644 index 9b8b422ec..000000000 --- a/config/export/context.context.basic_image.yml +++ /dev/null @@ -1,23 +0,0 @@ -uuid: a93863b4-2722-4b67-b1f3-457032fb6e54 -langcode: en -status: true -dependencies: - module: - - islandora -label: 'Basic Image' -name: basic_image -group: Display -description: 'jpg, bmp, png, etc' -requireAllConditions: false -disabled: false -conditions: - media_has_term: - id: media_has_term - negate: false - uuid: bd5de267-83c8-469b-a58c-34436d7538ce - context_mapping: - media: '@islandora.media_route_context_provider:media' - uri: 'http://purl.org/coar/resource_type/c_c513,http://purl.org/dc/dcmitype/StillImage' - logic: and -reactions: { } -weight: 0 diff --git a/config/export/context.context.basic_pages.yml b/config/export/context.context.basic_pages.yml deleted file mode 100644 index db052abe8..000000000 --- a/config/export/context.context.basic_pages.yml +++ /dev/null @@ -1,28 +0,0 @@ -uuid: 0da942b4-9831-43de-9676-0f02e5ec5b01 -langcode: en -status: true -dependencies: - module: - - islandora - - node -label: 'Basic Pages' -name: basic_pages -group: Display -description: 'Basic Pages layout' -requireAllConditions: false -disabled: false -conditions: - node_type: - id: node_type - negate: false - uuid: aaabe174-b6d6-4b51-9c61-4d5f8bf243e3 - context_mapping: - node: '@node.node_route_context:node' - bundles: - page: page -reactions: - view_mode_alter: - id: view_mode_alter - saved: false - mode: media.full -weight: 0 diff --git a/config/export/context.context.binary.yml b/config/export/context.context.binary.yml deleted file mode 100644 index b53fbcbe4..000000000 --- a/config/export/context.context.binary.yml +++ /dev/null @@ -1,31 +0,0 @@ -uuid: 184c9417-055b-422c-8c59-90cee3fe5017 -langcode: en -status: true -dependencies: - module: - - islandora -_core: - default_config_hash: oGkVaBYKYomHuP2Z9rfQhrLtOz__N6ss2_GoosejYLk -label: Binary -name: binary -group: Display -description: 'Binary Object Display' -requireAllConditions: false -disabled: false -conditions: - node_has_term: - id: node_has_term - negate: false - context_mapping: - node: '@node.node_route_context:node' - uri: 'http://purl.org/coar/resource_type/c_1843' - logic: and - tids: - - - target_id: 5 -reactions: - view_mode_alter: - id: view_mode_alter - saved: false - mode: node.binary -weight: 0 diff --git a/config/export/context.context.book_or_page.yml b/config/export/context.context.book_or_page.yml deleted file mode 100644 index e3714dd98..000000000 --- a/config/export/context.context.book_or_page.yml +++ /dev/null @@ -1,27 +0,0 @@ -uuid: ecd8c8b2-58e7-425f-a493-10c85ed28fdc -langcode: en -status: true -dependencies: - module: - - islandora -label: 'Book or Page' -name: book_or_page -group: Display -description: 'parent of pages' -requireAllConditions: false -disabled: false -conditions: - node_has_term: - id: node_has_term - negate: false - uuid: cd223e50-0f6d-4e66-8a34-1e149789308a - context_mapping: - node: '@node.node_route_context:node' - uri: 'https://schema.org/Book,http://purl.org/dc/dcmitype/Collection' - logic: and -reactions: - view_mode_alter: - id: view_mode_alter - saved: false - mode: node.paged -weight: 0 diff --git a/config/export/context.context.collection.yml b/config/export/context.context.collection.yml deleted file mode 100644 index 7ef48eebc..000000000 --- a/config/export/context.context.collection.yml +++ /dev/null @@ -1,66 +0,0 @@ -uuid: a936e30e-a520-47c8-a872-ee479fda3493 -langcode: en -status: true -dependencies: - config: - - views.view.members - module: - - islandora - - views -_core: - default_config_hash: vH6Z5udf5Ab9cLW3Zl2-6VCbT0hagmZfalNjb654KVs -label: 'Collection (members of)' -name: collection -group: Display -description: 'If a Collection or Compound, display a block of children' -requireAllConditions: false -disabled: false -conditions: - node_has_term: - id: node_has_term - negate: false - context_mapping: - node: '@node.node_route_context:node' - uri: 'http://purl.org/dc/dcmitype/Collection,http://vocab.getty.edu/aat/300242735' - logic: or -reactions: - blocks: - id: blocks - blocks: - 71991e2c-74a8-4200-b085-2bf6e6d0a046: - uuid: 71991e2c-74a8-4200-b085-2bf6e6d0a046 - id: 'views_block:members-block_1' - label: '' - provider: views - label_display: visible - region: content - weight: '0' - custom_id: views_block_members_block_1 - theme: olivero - css_class: '' - unique: 0 - context_id: collection - context_mapping: { } - views_label: '' - items_per_page: none - third_party_settings: { } - 925dee73-f840-41b9-8137-7c1be8347665: - uuid: 925dee73-f840-41b9-8137-7c1be8347665 - id: 'views_block:members-block_1' - label: '' - provider: views - label_display: visible - region: content - weight: '10' - custom_id: views_block_members_block_1 - theme: idc_ui_theme_boots - css_class: views_block_members_block_class - unique: 1 - context_id: collection - context_mapping: { } - views_label: '' - items_per_page: none - third_party_settings: { } - include_default_blocks: 1 - saved: false -weight: 1 diff --git a/config/export/context.context.compound_member_object.yml b/config/export/context.context.compound_member_object.yml deleted file mode 100644 index b7867a2db..000000000 --- a/config/export/context.context.compound_member_object.yml +++ /dev/null @@ -1,13 +0,0 @@ -uuid: 8582a828-8b99-458d-ad14-5a1838230c26 -langcode: en -status: true -dependencies: { } -label: 'Compound member object' -name: compound_member_object -group: Display -description: 'Compound member object' -requireAllConditions: true -disabled: false -conditions: { } -reactions: { } -weight: 0 diff --git a/config/export/context.context.compound_parent_object.yml b/config/export/context.context.compound_parent_object.yml deleted file mode 100644 index 59c22d3c9..000000000 --- a/config/export/context.context.compound_parent_object.yml +++ /dev/null @@ -1,27 +0,0 @@ -uuid: 3adb18a7-1c37-4bd4-888c-254cabdcc3bc -langcode: en -status: true -dependencies: - module: - - islandora -label: 'Compound Parent Object' -name: compound_parent_object -group: Display -description: 'Compound Parent Object' -requireAllConditions: true -disabled: false -conditions: - node_has_term: - id: node_has_term - negate: false - uuid: 5dbdd84a-18cf-422a-80ca-4018f991ca47 - context_mapping: - node: '@node.node_route_context:node' - uri: 'http://purl.org/dc/dcmitype/Collection,http://vocab.getty.edu/aat/300242735' - logic: and -reactions: - view_mode_alter: - id: view_mode_alter - saved: false - mode: node.compound -weight: 0 diff --git a/config/export/context.context.external_files.yml b/config/export/context.context.external_files.yml deleted file mode 100644 index c93a32bde..000000000 --- a/config/export/context.context.external_files.yml +++ /dev/null @@ -1,34 +0,0 @@ -uuid: 0913dd70-8444-46ff-8bd2-27cf89748cee -langcode: en -status: true -dependencies: - module: - - islandora -_core: - default_config_hash: 5SUy4U9p47y_Ke10LfvsOR2RVkjpRjPQ5tgAG4Fs1wk -label: 'External Files' -name: external_files -group: Indexing -description: 'Index files not in Fedora in Fedora and Blazegraph' -requireAllConditions: false -disabled: false -conditions: - file_uses_filesystem: - id: file_uses_filesystem - negate: false - context_mapping: - file: '@islandora.file_route_context_provider:file' - filesystems: - public: public -reactions: - index: - id: index - saved: false - actions: - index_file_as_fedora_external_content: index_file_as_fedora_external_content - delete: - id: delete - saved: false - actions: - delete_file_as_fedora_external_content: delete_file_as_fedora_external_content -weight: -7 diff --git a/config/export/context.context.image_original_file.yml b/config/export/context.context.image_original_file.yml deleted file mode 100644 index fba98fcf4..000000000 --- a/config/export/context.context.image_original_file.yml +++ /dev/null @@ -1,37 +0,0 @@ -uuid: d99ec3c0-6333-4ccf-9bd3-ff874a8f59ff -langcode: en -status: true -dependencies: - module: - - islandora -_core: - default_config_hash: _w1tI4doB71OVhr9ylF4DCZRMGXy8Mtjcuk-8iAOz7Y -label: 'Image Derivatives' -name: image_original_file -group: Derivatives -description: 'Derivatives for Images' -requireAllConditions: true -disabled: false -conditions: - media_has_term: - id: media_has_term - negate: false - context_mapping: - media: '@islandora.media_route_context_provider:media' - uri: 'http://pcdm.org/use#OriginalFile' - logic: and - parent_node_has_term: - id: parent_node_has_term - negate: false - context_mapping: - media: '@islandora.media_route_context_provider:media' - uri: 'http://purl.org/coar/resource_type/c_c513' - logic: and -reactions: - derivative: - id: derivative - saved: false - actions: - image_generate_a_service_file_from_an_original_file: image_generate_a_service_file_from_an_original_file - image_generate_a_thumbnail_from_an_original_file: image_generate_a_thumbnail_from_an_original_file -weight: -3 diff --git a/config/export/context.context.large_image.yml b/config/export/context.context.large_image.yml deleted file mode 100644 index b4c6d2772..000000000 --- a/config/export/context.context.large_image.yml +++ /dev/null @@ -1,23 +0,0 @@ -uuid: 263ae238-770d-4ac8-9289-e0b0e64d9721 -langcode: en -status: true -dependencies: - module: - - islandora -label: 'Large Image' -name: large_image -group: Display -description: 'tiff, jp2, etc' -requireAllConditions: false -disabled: false -conditions: - media_has_term: - id: media_has_term - negate: false - uuid: f3ac7c4d-c61f-4801-9dd2-d2854f1a7fbc - context_mapping: - media: '@islandora.media_route_context_provider:media' - uri: 'http://purl.org/dc/dcmitype/Image,http://purl.org/dc/dcmitype/StillImage' - logic: and -reactions: { } -weight: 0 diff --git a/config/export/context.context.newspaper.yml b/config/export/context.context.newspaper.yml deleted file mode 100644 index 03d76a611..000000000 --- a/config/export/context.context.newspaper.yml +++ /dev/null @@ -1,49 +0,0 @@ -uuid: 1efd72d3-7a06-4f43-9249-3ccea32d300d -langcode: en -status: true -dependencies: - config: - - views.view.newspapers - module: - - islandora - - views -label: Newspaper -name: newspaper -group: Display -description: 'If a Newspaper, display the newspaper''s children (issues) by date.' -requireAllConditions: false -disabled: false -conditions: - node_has_term: - id: node_has_term - negate: false - uuid: 0906379e-21e5-483f-9248-56ec7ef9eeba - context_mapping: - node: '@node.node_route_context:node' - uri: 'https://schema.org/Newspaper' - logic: and -reactions: - blocks: - id: blocks - uuid: 83998c46-0118-4deb-9c12-10e33d02b49b - blocks: - ed4c4f13-b90a-4274-9d88-ef9d69c8c34b: - uuid: ed4c4f13-b90a-4274-9d88-ef9d69c8c34b - id: 'views_block:newspapers-block_1' - label: '' - provider: views - label_display: '0' - region: content - weight: '0' - custom_id: views_block_newspapers_block_1 - theme: olivero - css_class: '' - unique: 0 - context_id: newspaper - context_mapping: { } - views_label: '' - items_per_page: none - third_party_settings: { } - include_default_blocks: 1 - saved: false -weight: 0 diff --git a/config/export/context.context.newspaper_issue.yml b/config/export/context.context.newspaper_issue.yml deleted file mode 100644 index 9aff4bdcb..000000000 --- a/config/export/context.context.newspaper_issue.yml +++ /dev/null @@ -1,27 +0,0 @@ -uuid: ea4e08ae-606d-4726-b30d-56fdd5641519 -langcode: en -status: true -dependencies: - module: - - islandora -label: 'Newspaper Issue' -name: newspaper_issue -group: Display -description: 'Newspaper Issue' -requireAllConditions: true -disabled: false -conditions: - node_has_term: - id: node_has_term - negate: false - uuid: 759841b3-6786-4bfa-8c14-fb13db664635 - context_mapping: - node: '@node.node_route_context:node' - uri: 'https://schema.org/PublicationIssue,http://purl.org/dc/dcmitype/Collection' - logic: and -reactions: - view_mode_alter: - id: view_mode_alter - saved: false - mode: node.paged -weight: 0 diff --git a/config/export/context.context.open_seadragon.yml b/config/export/context.context.open_seadragon.yml deleted file mode 100644 index 278afd6ec..000000000 --- a/config/export/context.context.open_seadragon.yml +++ /dev/null @@ -1,31 +0,0 @@ -uuid: 001addcf-8c88-4a8a-8b92-59cfdbdfd0fe -langcode: en -status: true -dependencies: - module: - - islandora -_core: - default_config_hash: Da9SKh2OX1dNN8-V54Zrhcsnb5bNRwQanxqlujk9tzA -label: 'Open Seadragon' -name: open_seadragon -group: Display -description: 'Open Seadragon viewer for Images' -requireAllConditions: false -disabled: false -conditions: - node_has_term: - id: node_has_term - negate: false - context_mapping: - node: '@node.node_route_context:node' - uri: 'http://openseadragon.github.io' - logic: and - tids: - - - target_id: 35 -reactions: - view_mode_alter: - id: view_mode_alter - saved: false - mode: node.open_seadragon -weight: -2 diff --git a/config/export/context.context.openseadragon_block.yml b/config/export/context.context.openseadragon_block.yml deleted file mode 100644 index ace992805..000000000 --- a/config/export/context.context.openseadragon_block.yml +++ /dev/null @@ -1,48 +0,0 @@ -uuid: bbd4f114-c54d-492c-9268-99ddd6f518cb -langcode: en -status: true -dependencies: - module: - - islandora - - openseadragon -_core: - default_config_hash: sN9l77XqTzoy1x5fp1O7v91Di5_6iCx9prNHDvGYrKo -label: 'Openseadragon Block - Multipaged items' -name: openseadragon_block -group: Display -description: 'If Paged Content or Publication Issue, display Openseadragon from manifest.' -requireAllConditions: false -disabled: false -conditions: - node_has_term: - id: node_has_term - negate: false - uuid: e5689bd5-7eec-4378-b329-2f35d5bb35b0 - context_mapping: - node: '@node.node_route_context:node' - uri: 'https://schema.org/Book,https://schema.org/PublicationIssue' - logic: or -reactions: - blocks: - id: blocks - uuid: 50b9b25e-0836-4531-8a78-9698d71d81de - blocks: - 30e02221-7810-425f-abed-5b5f82da4612: - uuid: 30e02221-7810-425f-abed-5b5f82da4612 - id: openseadragon_block - label: 'Multipage Viewer' - provider: openseadragon - label_display: visible - region: content_above - weight: '0' - custom_id: openseadragon_block - theme: olivero - css_class: '' - unique: 0 - context_id: openseadragon_block - context_mapping: { } - iiif_manifest_url: 'node/[node:nid]/book-manifest' - third_party_settings: { } - include_default_blocks: 1 - saved: false -weight: -1 diff --git a/config/export/context.context.paged_content_openseadragon.yml b/config/export/context.context.paged_content_openseadragon.yml deleted file mode 100644 index 92a3a05a0..000000000 --- a/config/export/context.context.paged_content_openseadragon.yml +++ /dev/null @@ -1,29 +0,0 @@ -uuid: b8eca5eb-5d17-4a1d-8809-e72c645c4a7f -langcode: en -status: true -dependencies: - module: - - islandora -label: 'Paged Content - Openseadragon' -name: paged_content_openseadragon -group: Display -description: 'Display a block for Paged Content' -requireAllConditions: false -disabled: false -conditions: - node_has_term: - id: node_has_term - negate: false - uuid: 49390c36-e529-41ec-9ff5-105c7b992326 - context_mapping: - node: '@node.node_route_context:node' - uri: 'http://openseadragon.github.io,https://schema.org/Book' - logic: and -reactions: - blocks: - id: blocks - uuid: c9658346-1109-4738-9fe1-9edeaad42cb8 - blocks: { } - include_default_blocks: 1 - saved: false -weight: 0 diff --git a/config/export/context.context.pages.yml b/config/export/context.context.pages.yml deleted file mode 100644 index 883cb5316..000000000 --- a/config/export/context.context.pages.yml +++ /dev/null @@ -1,38 +0,0 @@ -uuid: 27b7544f-8c79-4c52-ba89-436affb8f787 -langcode: en -status: true -dependencies: - module: - - islandora -_core: - default_config_hash: xavOhHKb20w-w4Izd0AAF6xMVnVZJo00Wv3MFho81pc -label: 'Page Derivatives' -name: pages -group: Derivatives -description: 'Derivatives for Pages' -requireAllConditions: true -disabled: false -conditions: - parent_node_has_term: - id: parent_node_has_term - negate: false - context_mapping: - media: '@islandora.media_route_context_provider:media' - uri: 'http://id.loc.gov/ontologies/bibframe/part' - logic: and - media_has_term: - id: media_has_term - negate: false - context_mapping: - media: '@islandora.media_route_context_provider:media' - uri: 'http://pcdm.org/use#OriginalFile' - logic: and -reactions: - derivative: - id: derivative - saved: false - actions: - get_ocr_from_image: get_ocr_from_image - image_generate_a_service_file_from_an_original_file: image_generate_a_service_file_from_an_original_file - image_generate_a_thumbnail_from_an_original_file: image_generate_a_thumbnail_from_an_original_file -weight: -7 diff --git a/config/export/context.context.pdf_original_file.yml b/config/export/context.context.pdf_original_file.yml deleted file mode 100644 index afc0034a2..000000000 --- a/config/export/context.context.pdf_original_file.yml +++ /dev/null @@ -1,37 +0,0 @@ -uuid: 17241c20-ca14-4009-a42f-2348994b1468 -langcode: en -status: true -dependencies: - module: - - islandora -_core: - default_config_hash: c7_MtAQ35bFVk9PanoKR52wijgATcHFDBpFQ7MB7NPQ -label: 'PDF Derivatives' -name: pdf_original_file -group: Derivatives -description: 'Derivatives for PDF documents' -requireAllConditions: true -disabled: false -conditions: - media_has_term: - id: media_has_term - negate: false - context_mapping: - media: '@islandora.media_route_context_provider:media' - uri: 'http://pcdm.org/use#OriginalFile' - logic: and - parent_node_has_term: - id: parent_node_has_term - negate: false - context_mapping: - media: '@islandora.media_route_context_provider:media' - uri: 'https://schema.org/DigitalDocument' - logic: and -reactions: - derivative: - id: derivative - saved: false - actions: - digital_document_generate_a_thumbnail_from_an_original_file: digital_document_generate_a_thumbnail_from_an_original_file - get_ocr_from_image: get_ocr_from_image -weight: -6 diff --git a/config/export/context.context.pdfjs.yml b/config/export/context.context.pdfjs.yml deleted file mode 100644 index cbbc9d621..000000000 --- a/config/export/context.context.pdfjs.yml +++ /dev/null @@ -1,28 +0,0 @@ -uuid: 2ed4bdff-4f31-49a0-b007-74b129260733 -langcode: en -status: true -dependencies: - module: - - islandora -_core: - default_config_hash: Tr1c1AVZTJkM0732yQxi9xQuBpCN7X6V_CWkbKwjrN8 -label: 'PDFjs Viewer' -name: pdfjs -group: Display -description: 'Displays file using the PDFjs viewer' -requireAllConditions: false -disabled: false -conditions: - node_has_term: - id: node_has_term - negate: false - context_mapping: - node: '@node.node_route_context:node' - uri: 'http://mozilla.github.io/pdf.js' - logic: and -reactions: - view_mode_alter: - id: view_mode_alter - saved: false - mode: node.pdfjs -weight: 0 diff --git a/config/export/context.context.remote_media.yml b/config/export/context.context.remote_media.yml deleted file mode 100644 index b2c4e5ad3..000000000 --- a/config/export/context.context.remote_media.yml +++ /dev/null @@ -1,13 +0,0 @@ -uuid: bb713ec8-4ee3-461b-bb0d-e69619e55a86 -langcode: en -status: true -dependencies: { } -label: 'Remote Media' -name: remote_media -group: Display -description: 'Displays remote video or audio' -requireAllConditions: false -disabled: false -conditions: { } -reactions: { } -weight: 0 diff --git a/config/export/context.context.repository_content.yml b/config/export/context.context.repository_content.yml deleted file mode 100644 index c65a9cfba..000000000 --- a/config/export/context.context.repository_content.yml +++ /dev/null @@ -1,43 +0,0 @@ -uuid: f23608eb-477d-4532-816a-8bcbf13b83e2 -langcode: en -status: true -dependencies: - module: - - islandora -_core: - default_config_hash: o5KHcnyibXt-7SXqNpNyHTd8qYFOrDh1bk5I4aQo91Y -label: Content -name: repository_content -group: Indexing -description: 'Index all Islandora nodes in Fedora and Blazegraph.' -requireAllConditions: false -disabled: false -conditions: - node_is_islandora_object: - id: node_is_islandora_object - negate: 0 - uuid: ce7f5b47-6998-4ddf-bbf5-87401bcc145b - context_mapping: - node: '@node.node_route_context:node' -reactions: - index: - id: index - saved: false - actions: - index_node_in_fedora: index_node_in_fedora - index_node_in_triplestore: index_node_in_triplestore - delete: - id: delete - saved: false - actions: - delete_node_from_fedora: delete_node_from_fedora - delete_node_from_triplestore: delete_node_from_triplestore - islandora_map_uri_predicate: - id: islandora_map_uri_predicate - saved: false - drupal_uri_predicate: 'schema:sameAs' - alter_jsonld_type: - id: alter_jsonld_type - saved: false - source_field: field_model -weight: -5 diff --git a/config/export/context.context.taxonomy_terms.yml b/config/export/context.context.taxonomy_terms.yml deleted file mode 100644 index 43391165e..000000000 --- a/config/export/context.context.taxonomy_terms.yml +++ /dev/null @@ -1,36 +0,0 @@ -uuid: d558a755-bcde-4424-84ba-0b623d6a08cf -langcode: en -status: true -dependencies: - module: - - islandora -_core: - default_config_hash: 6RXlwQmbN073bHOiyMIfbdyUvCyjEXjfxpr65b_1ssg -label: 'Taxonomy Terms' -name: taxonomy_terms -group: Indexing -description: 'Index all taxonomy terms in Fedora and Blazegraph' -requireAllConditions: false -disabled: false -conditions: - content_entity_type: - id: content_entity_type - negate: false - context_mapping: - taxonomy_term: '@islandora.taxonomy_term_route_context_provider:taxonomy_term' - types: - taxonomy_term: taxonomy_term -reactions: - index: - id: index - saved: false - actions: - index_taxonomy_term_in_fedora: index_taxonomy_term_in_fedora - index_taxonomy_term_in_the_triplestore: index_taxonomy_term_in_the_triplestore - delete: - id: delete - saved: false - actions: - delete_taxonomy_term_in_fedora: delete_taxonomy_term_in_fedora - delete_taxonomy_term_in_triplestore: delete_taxonomy_term_in_triplestore -weight: -4 diff --git a/config/export/context.context.technical_metadata_on_ingest.yml b/config/export/context.context.technical_metadata_on_ingest.yml deleted file mode 100644 index 37bf95f59..000000000 --- a/config/export/context.context.technical_metadata_on_ingest.yml +++ /dev/null @@ -1,30 +0,0 @@ -uuid: 579c2116-df88-474e-8096-1cabca0d0e59 -langcode: en -status: true -dependencies: - module: - - islandora -_core: - default_config_hash: XtBYoGhM0h6E6KN_OfmCVMN8ey6inC6fdogp7FuSQPE -label: 'FITS derivatives' -name: technical_metadata_on_ingest -group: Derivatives -description: 'FITS derivatives for all original files' -requireAllConditions: false -disabled: false -conditions: - media_has_term: - id: media_has_term - negate: false - uuid: b270cb14-b960-4494-9ccf-1c9433092837 - context_mapping: - media: '@islandora.media_route_context_provider:media' - uri: 'http://pcdm.org/use#OriginalFile' - logic: and -reactions: - derivative: - id: derivative - saved: false - actions: - generate_a_technical_metadata_derivative: generate_a_technical_metadata_derivative -weight: 0 diff --git a/config/export/context.context.video_original_file.yml b/config/export/context.context.video_original_file.yml deleted file mode 100644 index e7c740258..000000000 --- a/config/export/context.context.video_original_file.yml +++ /dev/null @@ -1,37 +0,0 @@ -uuid: 51bff83c-8c70-4709-95ca-c71df90dd72d -langcode: en -status: true -dependencies: - module: - - islandora -_core: - default_config_hash: 1hWjMsl225Q8XunEOdRDfkkuswJrsGmg2qhYd1i36XQ -label: 'Video Derivatives' -name: video_original_file -group: Derivatives -description: 'Derivatives for Video' -requireAllConditions: true -disabled: false -conditions: - media_has_term: - id: media_has_term - negate: false - context_mapping: - media: '@islandora.media_route_context_provider:media' - uri: 'http://pcdm.org/use#OriginalFile' - logic: and - parent_node_has_term: - id: parent_node_has_term - negate: false - context_mapping: - media: '@islandora.media_route_context_provider:media' - uri: 'http://purl.org/coar/resource_type/c_12ce' - logic: and -reactions: - derivative: - id: derivative - saved: false - actions: - video_generate_a_service_file_from_an_original_file: video_generate_a_service_file_from_an_original_file - video_generate_a_thumbnail_from_an_original_file: video_generate_a_thumbnail_from_an_original_file -weight: -5 diff --git a/config/export/core.base_field_override.media.audio.changed.yml b/config/export/core.base_field_override.media.audio.changed.yml deleted file mode 100644 index c86a8d26b..000000000 --- a/config/export/core.base_field_override.media.audio.changed.yml +++ /dev/null @@ -1,20 +0,0 @@ -uuid: 851ecdf5-687b-4310-b032-28585c27d132 -langcode: en -status: true -dependencies: - config: - - media.type.audio -_core: - default_config_hash: qTIW8jApL5XMixeqe9-LeOkaRUKR1GfCQ-BAsz0rzvk -id: media.audio.changed -field_name: changed -entity_type: media -bundle: audio -label: Changed -description: 'The time the media item was last edited.' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: { } -field_type: changed diff --git a/config/export/core.base_field_override.media.audio.created.yml b/config/export/core.base_field_override.media.audio.created.yml deleted file mode 100644 index 4a31725a7..000000000 --- a/config/export/core.base_field_override.media.audio.created.yml +++ /dev/null @@ -1,20 +0,0 @@ -uuid: 9eee5ef8-984c-4ae2-849d-52cdd53a3369 -langcode: en -status: true -dependencies: - config: - - media.type.audio -_core: - default_config_hash: BhJH9pn-WDdp5mhe0dv25WVxMVbZciWtJbd6aVk3nYw -id: media.audio.created -field_name: created -entity_type: media -bundle: audio -label: 'Authored on' -description: 'The time the media item was created.' -required: false -translatable: false -default_value: { } -default_value_callback: 'Drupal\media\Entity\Media::getRequestTime' -settings: { } -field_type: created diff --git a/config/export/core.base_field_override.media.audio.name.yml b/config/export/core.base_field_override.media.audio.name.yml deleted file mode 100644 index 332396ef0..000000000 --- a/config/export/core.base_field_override.media.audio.name.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: f653155c-26c7-4178-a601-663439c35d05 -langcode: en -status: true -dependencies: - config: - - media.type.audio -_core: - default_config_hash: 3WLLqnUkB2L1I0zrqorLpcwe4eti11D9p6XOK2qxdcg -id: media.audio.name -field_name: name -entity_type: media -bundle: audio -label: Name -description: '' -required: true -translatable: true -default_value: - - - value: '' -default_value_callback: '' -settings: { } -field_type: string diff --git a/config/export/core.base_field_override.media.audio.path.yml b/config/export/core.base_field_override.media.audio.path.yml deleted file mode 100644 index 937b99658..000000000 --- a/config/export/core.base_field_override.media.audio.path.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: cfaed09f-395e-4ce4-bec8-0b386e2aaa37 -langcode: en -status: true -dependencies: - config: - - media.type.audio - module: - - path -_core: - default_config_hash: q5ByGnUHg6E2zWOVhF_7ZHhVCv6zKwQx4JNyESNgG4k -id: media.audio.path -field_name: path -entity_type: media -bundle: audio -label: 'URL alias' -description: '' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: { } -field_type: path diff --git a/config/export/core.base_field_override.media.audio.status.yml b/config/export/core.base_field_override.media.audio.status.yml deleted file mode 100644 index 437fc1ad2..000000000 --- a/config/export/core.base_field_override.media.audio.status.yml +++ /dev/null @@ -1,24 +0,0 @@ -uuid: 16f47928-c536-44ab-9992-a2a2b49131b6 -langcode: en -status: true -dependencies: - config: - - media.type.audio -_core: - default_config_hash: n2G2117mFQVI2O2jhXUDB0Ojgy9QqS5EXq_CqbEq-lo -id: media.audio.status -field_name: status -entity_type: media -bundle: audio -label: Published -description: '' -required: false -translatable: false -default_value: - - - value: 1 -default_value_callback: '' -settings: - on_label: 'On' - off_label: 'Off' -field_type: boolean diff --git a/config/export/core.base_field_override.media.audio.thumbnail.yml b/config/export/core.base_field_override.media.audio.thumbnail.yml deleted file mode 100644 index 31789ed6c..000000000 --- a/config/export/core.base_field_override.media.audio.thumbnail.yml +++ /dev/null @@ -1,39 +0,0 @@ -uuid: 709ffa76-6cc1-4266-bd33-3777f35205a0 -langcode: en -status: true -dependencies: - config: - - media.type.audio - module: - - image -_core: - default_config_hash: MwkcFHeT_--p0X0a3XB34tzrewKmSVFogJP6rhr33-Y -id: media.audio.thumbnail -field_name: thumbnail -entity_type: media -bundle: audio -label: Thumbnail -description: 'The thumbnail of the media item.' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: - handler: default - handler_settings: { } - file_directory: '[date:custom:Y]-[date:custom:m]' - file_extensions: 'png gif jpg jpeg' - max_filesize: '' - max_resolution: '' - min_resolution: '' - alt_field: true - alt_field_required: true - title_field: false - title_field_required: false - default_image: - uuid: null - alt: '' - title: '' - width: null - height: null -field_type: image diff --git a/config/export/core.base_field_override.media.audio.uid.yml b/config/export/core.base_field_override.media.audio.uid.yml deleted file mode 100644 index 80919aed6..000000000 --- a/config/export/core.base_field_override.media.audio.uid.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 2f60ea23-513e-4f8d-bae7-0c3d16c25c24 -langcode: en -status: true -dependencies: - config: - - media.type.audio -_core: - default_config_hash: qIOGEtzIWuxpt_0ix1YL5IOKOr5PYB25oLleeKYsNSk -id: media.audio.uid -field_name: uid -entity_type: media -bundle: audio -label: 'Authored by' -description: 'The user ID of the author.' -required: false -translatable: false -default_value: { } -default_value_callback: 'Drupal\media\Entity\Media::getDefaultEntityOwner' -settings: - handler: default - handler_settings: { } -field_type: entity_reference diff --git a/config/export/core.base_field_override.media.file.changed.yml b/config/export/core.base_field_override.media.file.changed.yml deleted file mode 100644 index bc6e41d6f..000000000 --- a/config/export/core.base_field_override.media.file.changed.yml +++ /dev/null @@ -1,20 +0,0 @@ -uuid: 77700a62-d881-4147-af5e-d9e47b4f0c48 -langcode: en -status: true -dependencies: - config: - - media.type.file -_core: - default_config_hash: uy3KuTrDiyBPwoByHxogH_dPK0oJHczqD5JT-49sjf8 -id: media.file.changed -field_name: changed -entity_type: media -bundle: file -label: Changed -description: 'The time the media item was last edited.' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: { } -field_type: changed diff --git a/config/export/core.base_field_override.media.file.created.yml b/config/export/core.base_field_override.media.file.created.yml deleted file mode 100644 index 6d3303b11..000000000 --- a/config/export/core.base_field_override.media.file.created.yml +++ /dev/null @@ -1,20 +0,0 @@ -uuid: 277f9656-f79f-471b-af6b-3b35156e4eca -langcode: en -status: true -dependencies: - config: - - media.type.file -_core: - default_config_hash: mY2VGrFj7Oo3n3srimSZjwS4WpwoPGse2Ge5Wnivcuk -id: media.file.created -field_name: created -entity_type: media -bundle: file -label: 'Authored on' -description: 'The time the media item was created.' -required: false -translatable: false -default_value: { } -default_value_callback: 'Drupal\media\Entity\Media::getRequestTime' -settings: { } -field_type: created diff --git a/config/export/core.base_field_override.media.file.name.yml b/config/export/core.base_field_override.media.file.name.yml deleted file mode 100644 index eb6d62ef4..000000000 --- a/config/export/core.base_field_override.media.file.name.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: a1fd4265-b100-49be-ac1f-59d8d41e32c4 -langcode: en -status: true -dependencies: - config: - - media.type.file -_core: - default_config_hash: uKtxUqXK61EbMT74jJM6mMVDnjax5MtLqwRJ0_AM1_c -id: media.file.name -field_name: name -entity_type: media -bundle: file -label: Name -description: '' -required: true -translatable: true -default_value: - - - value: '' -default_value_callback: '' -settings: { } -field_type: string diff --git a/config/export/core.base_field_override.media.file.path.yml b/config/export/core.base_field_override.media.file.path.yml deleted file mode 100644 index 9cafe2a68..000000000 --- a/config/export/core.base_field_override.media.file.path.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: fba77cc6-43e9-41d3-bac9-12cad68e5f1f -langcode: en -status: true -dependencies: - config: - - media.type.file - module: - - path -_core: - default_config_hash: LBphK6UZJLRYa91yT7zVe8-_yqboNVXTdOzItPbiu0M -id: media.file.path -field_name: path -entity_type: media -bundle: file -label: 'URL alias' -description: '' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: { } -field_type: path diff --git a/config/export/core.base_field_override.media.file.status.yml b/config/export/core.base_field_override.media.file.status.yml deleted file mode 100644 index 6f8cfdfa1..000000000 --- a/config/export/core.base_field_override.media.file.status.yml +++ /dev/null @@ -1,24 +0,0 @@ -uuid: 0b471e4d-968c-447c-8cd7-c809ed2e6dd6 -langcode: en -status: true -dependencies: - config: - - media.type.file -_core: - default_config_hash: msBL8N4SjfVUkKEXr0WUt04uQsoo31V29IuyooqXxC4 -id: media.file.status -field_name: status -entity_type: media -bundle: file -label: Published -description: '' -required: false -translatable: false -default_value: - - - value: 1 -default_value_callback: '' -settings: - on_label: 'On' - off_label: 'Off' -field_type: boolean diff --git a/config/export/core.base_field_override.media.file.thumbnail.yml b/config/export/core.base_field_override.media.file.thumbnail.yml deleted file mode 100644 index e4db1f0d5..000000000 --- a/config/export/core.base_field_override.media.file.thumbnail.yml +++ /dev/null @@ -1,39 +0,0 @@ -uuid: 1e0f0aad-4014-4b7c-bc75-6f37c281198a -langcode: en -status: true -dependencies: - config: - - media.type.file - module: - - image -_core: - default_config_hash: LIpRLg2zzlvAksG-WJ5HqK5IQ_UHbDBgImX0AyUzvPs -id: media.file.thumbnail -field_name: thumbnail -entity_type: media -bundle: file -label: Thumbnail -description: 'The thumbnail of the media item.' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: - handler: default - handler_settings: { } - file_directory: '[date:custom:Y]-[date:custom:m]' - file_extensions: 'png gif jpg jpeg' - max_filesize: '' - max_resolution: '' - min_resolution: '' - alt_field: true - alt_field_required: true - title_field: false - title_field_required: false - default_image: - uuid: null - alt: '' - title: '' - width: null - height: null -field_type: image diff --git a/config/export/core.base_field_override.media.file.uid.yml b/config/export/core.base_field_override.media.file.uid.yml deleted file mode 100644 index 47a67e7c0..000000000 --- a/config/export/core.base_field_override.media.file.uid.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: bfdeb0f2-d26a-498d-bea0-697ef862af67 -langcode: en -status: true -dependencies: - config: - - media.type.file -_core: - default_config_hash: s1opVWRHwqmv__D85qw0HKtR6vy7vviXGcQp0fhS4FI -id: media.file.uid -field_name: uid -entity_type: media -bundle: file -label: 'Authored by' -description: 'The user ID of the author.' -required: false -translatable: false -default_value: { } -default_value_callback: 'Drupal\media\Entity\Media::getDefaultEntityOwner' -settings: - handler: default - handler_settings: { } -field_type: entity_reference diff --git a/config/export/core.base_field_override.media.image.changed.yml b/config/export/core.base_field_override.media.image.changed.yml deleted file mode 100644 index 0e10f887c..000000000 --- a/config/export/core.base_field_override.media.image.changed.yml +++ /dev/null @@ -1,20 +0,0 @@ -uuid: d6883d61-86bc-4060-9581-ee993af5d680 -langcode: en -status: true -dependencies: - config: - - media.type.image -_core: - default_config_hash: 5HVSmzFl909_BK78549b-yy0sAPGNL7UjNUM954_wUs -id: media.image.changed -field_name: changed -entity_type: media -bundle: image -label: Changed -description: 'The time the media item was last edited.' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: { } -field_type: changed diff --git a/config/export/core.base_field_override.media.image.created.yml b/config/export/core.base_field_override.media.image.created.yml deleted file mode 100644 index 6c0c5a76d..000000000 --- a/config/export/core.base_field_override.media.image.created.yml +++ /dev/null @@ -1,20 +0,0 @@ -uuid: 890a5654-13bd-4289-bedf-9a482bcadfa9 -langcode: en -status: true -dependencies: - config: - - media.type.image -_core: - default_config_hash: VJzBEV4Of0nqQVuXJlaRkEl7NX0gu5jmRMxuihGV8EI -id: media.image.created -field_name: created -entity_type: media -bundle: image -label: 'Authored on' -description: 'The time the media item was created.' -required: false -translatable: false -default_value: { } -default_value_callback: 'Drupal\media\Entity\Media::getRequestTime' -settings: { } -field_type: created diff --git a/config/export/core.base_field_override.media.image.name.yml b/config/export/core.base_field_override.media.image.name.yml deleted file mode 100644 index a84dcc12a..000000000 --- a/config/export/core.base_field_override.media.image.name.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: d4d574c2-edae-4fc4-8d2a-f6c87709980d -langcode: en -status: true -dependencies: - config: - - media.type.image -_core: - default_config_hash: h18PNrH5ndi-j2d3SyJLxFon1zFSukgffMiz7dln0Gw -id: media.image.name -field_name: name -entity_type: media -bundle: image -label: Name -description: '' -required: true -translatable: true -default_value: - - - value: '' -default_value_callback: '' -settings: { } -field_type: string diff --git a/config/export/core.base_field_override.media.image.path.yml b/config/export/core.base_field_override.media.image.path.yml deleted file mode 100644 index 5f77702fd..000000000 --- a/config/export/core.base_field_override.media.image.path.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 685328ed-4a01-4068-9da3-cd8406f313f6 -langcode: en -status: true -dependencies: - config: - - media.type.image - module: - - path -_core: - default_config_hash: DQJkTlRZvato7RyvNlRQvy4ArbM6p_r7FAGQe7kCd70 -id: media.image.path -field_name: path -entity_type: media -bundle: image -label: 'URL alias' -description: '' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: { } -field_type: path diff --git a/config/export/core.base_field_override.media.image.status.yml b/config/export/core.base_field_override.media.image.status.yml deleted file mode 100644 index afc3f7b0d..000000000 --- a/config/export/core.base_field_override.media.image.status.yml +++ /dev/null @@ -1,24 +0,0 @@ -uuid: 887ca70a-4432-42a8-b6d5-a5ea18537eac -langcode: en -status: true -dependencies: - config: - - media.type.image -_core: - default_config_hash: zTh6FRayjF4sB7x52aahw1pif31JH25YQtPmfQKYoSo -id: media.image.status -field_name: status -entity_type: media -bundle: image -label: Published -description: '' -required: false -translatable: false -default_value: - - - value: 1 -default_value_callback: '' -settings: - on_label: 'On' - off_label: 'Off' -field_type: boolean diff --git a/config/export/core.base_field_override.media.image.thumbnail.yml b/config/export/core.base_field_override.media.image.thumbnail.yml deleted file mode 100644 index ad516fdaa..000000000 --- a/config/export/core.base_field_override.media.image.thumbnail.yml +++ /dev/null @@ -1,39 +0,0 @@ -uuid: 5cc2905f-288c-4730-b068-65263ac4fb8b -langcode: en -status: true -dependencies: - config: - - media.type.image - module: - - image -_core: - default_config_hash: oguI7ZT6nFjnmbR-rfWpGO9bDslCYEPM4OkHW9BF7Gk -id: media.image.thumbnail -field_name: thumbnail -entity_type: media -bundle: image -label: Thumbnail -description: 'The thumbnail of the media item.' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: - handler: default - handler_settings: { } - file_directory: '[date:custom:Y]-[date:custom:m]' - file_extensions: 'png gif jpg jpeg' - max_filesize: '' - max_resolution: '' - min_resolution: '' - alt_field: true - alt_field_required: true - title_field: false - title_field_required: false - default_image: - uuid: null - alt: '' - title: '' - width: null - height: null -field_type: image diff --git a/config/export/core.base_field_override.media.image.uid.yml b/config/export/core.base_field_override.media.image.uid.yml deleted file mode 100644 index 749751ab5..000000000 --- a/config/export/core.base_field_override.media.image.uid.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: acddf357-70f7-45be-a168-0521a700a46d -langcode: en -status: true -dependencies: - config: - - media.type.image -_core: - default_config_hash: s6wX-OIAen7UrilcuW_WoHqOK6zOIvMUGMqCT1BjzaU -id: media.image.uid -field_name: uid -entity_type: media -bundle: image -label: 'Authored by' -description: 'The user ID of the author.' -required: false -translatable: false -default_value: { } -default_value_callback: 'Drupal\media\Entity\Media::getDefaultEntityOwner' -settings: - handler: default - handler_settings: { } -field_type: entity_reference diff --git a/config/export/core.base_field_override.media.video.changed.yml b/config/export/core.base_field_override.media.video.changed.yml deleted file mode 100644 index f6e77c0a5..000000000 --- a/config/export/core.base_field_override.media.video.changed.yml +++ /dev/null @@ -1,20 +0,0 @@ -uuid: d3560cf3-9bc7-4a2d-8d1f-3cb331f26a51 -langcode: en -status: true -dependencies: - config: - - media.type.video -_core: - default_config_hash: A5f2t6b-bDZUUX83-suEhkxFFE3UP_MmxqZOprX2baU -id: media.video.changed -field_name: changed -entity_type: media -bundle: video -label: Changed -description: 'The time the media item was last edited.' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: { } -field_type: changed diff --git a/config/export/core.base_field_override.media.video.created.yml b/config/export/core.base_field_override.media.video.created.yml deleted file mode 100644 index 369d09f91..000000000 --- a/config/export/core.base_field_override.media.video.created.yml +++ /dev/null @@ -1,20 +0,0 @@ -uuid: 2131e335-75cd-4784-ac82-3f42c3234e62 -langcode: en -status: true -dependencies: - config: - - media.type.video -_core: - default_config_hash: o8Ix4Ak8Hy4PT_jm7rBfWmeLSDJyXZWOG-o597Zhv_k -id: media.video.created -field_name: created -entity_type: media -bundle: video -label: 'Authored on' -description: 'The time the media item was created.' -required: false -translatable: false -default_value: { } -default_value_callback: 'Drupal\media\Entity\Media::getRequestTime' -settings: { } -field_type: created diff --git a/config/export/core.base_field_override.media.video.name.yml b/config/export/core.base_field_override.media.video.name.yml deleted file mode 100644 index bd39b0afa..000000000 --- a/config/export/core.base_field_override.media.video.name.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 79b08d2e-afab-4293-b336-2e0fccfa3840 -langcode: en -status: true -dependencies: - config: - - media.type.video -_core: - default_config_hash: IQWsECCfmPY2ej2CeeDlg1PmvJ_3-4pGfvX-1s-X0HY -id: media.video.name -field_name: name -entity_type: media -bundle: video -label: Name -description: '' -required: true -translatable: true -default_value: - - - value: '' -default_value_callback: '' -settings: { } -field_type: string diff --git a/config/export/core.base_field_override.media.video.path.yml b/config/export/core.base_field_override.media.video.path.yml deleted file mode 100644 index c31fe0ee5..000000000 --- a/config/export/core.base_field_override.media.video.path.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 754009c8-0472-4338-bd3d-00abe2cbfc53 -langcode: en -status: true -dependencies: - config: - - media.type.video - module: - - path -_core: - default_config_hash: h5jssdKqYFnmuEatlGfw4Mhdf4s92G2PMxEHLqEfQWY -id: media.video.path -field_name: path -entity_type: media -bundle: video -label: 'URL alias' -description: '' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: { } -field_type: path diff --git a/config/export/core.base_field_override.media.video.status.yml b/config/export/core.base_field_override.media.video.status.yml deleted file mode 100644 index 0fe4ec822..000000000 --- a/config/export/core.base_field_override.media.video.status.yml +++ /dev/null @@ -1,24 +0,0 @@ -uuid: b76f8bcd-5fe5-40e5-b650-c3cdc4cadc4a -langcode: en -status: true -dependencies: - config: - - media.type.video -_core: - default_config_hash: LWtDkEOUpIT8TeyOdvM2pgQrX4bYIbjgaNR9ciL1mtg -id: media.video.status -field_name: status -entity_type: media -bundle: video -label: Published -description: '' -required: false -translatable: false -default_value: - - - value: 1 -default_value_callback: '' -settings: - on_label: 'On' - off_label: 'Off' -field_type: boolean diff --git a/config/export/core.base_field_override.media.video.thumbnail.yml b/config/export/core.base_field_override.media.video.thumbnail.yml deleted file mode 100644 index fd8e2cf0c..000000000 --- a/config/export/core.base_field_override.media.video.thumbnail.yml +++ /dev/null @@ -1,39 +0,0 @@ -uuid: dfb478f1-d56b-4608-8f36-8ac1cba5420c -langcode: en -status: true -dependencies: - config: - - media.type.video - module: - - image -_core: - default_config_hash: lRYs_Ep78Dx_lJJCFy5ujhPaQRq4a6VTMtUbpeo0TG4 -id: media.video.thumbnail -field_name: thumbnail -entity_type: media -bundle: video -label: Thumbnail -description: 'The thumbnail of the media item.' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: - handler: default - handler_settings: { } - file_directory: '[date:custom:Y]-[date:custom:m]' - file_extensions: 'png gif jpg jpeg' - max_filesize: '' - max_resolution: '' - min_resolution: '' - alt_field: true - alt_field_required: true - title_field: false - title_field_required: false - default_image: - uuid: null - alt: '' - title: '' - width: null - height: null -field_type: image diff --git a/config/export/core.base_field_override.media.video.uid.yml b/config/export/core.base_field_override.media.video.uid.yml deleted file mode 100644 index e67f762b7..000000000 --- a/config/export/core.base_field_override.media.video.uid.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 09686bc2-50db-407a-8d17-45d388405575 -langcode: en -status: true -dependencies: - config: - - media.type.video -_core: - default_config_hash: wO1PQxr2G2C-lkIr3pzoLY-TC1PiRs4P26P4HJDeN5M -id: media.video.uid -field_name: uid -entity_type: media -bundle: video -label: 'Authored by' -description: 'The user ID of the author.' -required: false -translatable: false -default_value: { } -default_value_callback: 'Drupal\media\Entity\Media::getDefaultEntityOwner' -settings: - handler: default - handler_settings: { } -field_type: entity_reference diff --git a/config/export/core.base_field_override.node.islandora_object.changed.yml b/config/export/core.base_field_override.node.islandora_object.changed.yml deleted file mode 100644 index 2e0455943..000000000 --- a/config/export/core.base_field_override.node.islandora_object.changed.yml +++ /dev/null @@ -1,20 +0,0 @@ -uuid: cd5225a3-2760-47f3-acca-96efd60212ac -langcode: en -status: true -dependencies: - config: - - node.type.islandora_object -_core: - default_config_hash: LLL4Ifzyon9Q1aapBWH8t3OeF7_DmDSzAL2gj8KCg3I -id: node.islandora_object.changed -field_name: changed -entity_type: node -bundle: islandora_object -label: Changed -description: 'The time that the node was last edited.' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: { } -field_type: changed diff --git a/config/export/core.base_field_override.node.islandora_object.created.yml b/config/export/core.base_field_override.node.islandora_object.created.yml deleted file mode 100644 index 5103aea32..000000000 --- a/config/export/core.base_field_override.node.islandora_object.created.yml +++ /dev/null @@ -1,20 +0,0 @@ -uuid: 0b04a9c3-99f6-4302-83ab-9b2481b1240b -langcode: en -status: true -dependencies: - config: - - node.type.islandora_object -_core: - default_config_hash: vwqJTnii6G9YPWUu4bRG8hZjhF9BC9zziUTkR1163PE -id: node.islandora_object.created -field_name: created -entity_type: node -bundle: islandora_object -label: 'Authored on' -description: 'The time that the node was created.' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: { } -field_type: created diff --git a/config/export/core.base_field_override.node.islandora_object.menu_link.yml b/config/export/core.base_field_override.node.islandora_object.menu_link.yml deleted file mode 100644 index 8ba49ea44..000000000 --- a/config/export/core.base_field_override.node.islandora_object.menu_link.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: f5ab2bcf-7858-4294-9c5b-7197eed208a0 -langcode: en -status: true -dependencies: - config: - - node.type.islandora_object -_core: - default_config_hash: JsCXlShNN0Qit8lhfUAtCYPEP0RBYzGB_tlzYghfSOs -id: node.islandora_object.menu_link -field_name: menu_link -entity_type: node -bundle: islandora_object -label: 'Menu link' -description: 'Computed menu link for the node (only available during node saving).' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: - handler: default - handler_settings: { } -field_type: entity_reference diff --git a/config/export/core.base_field_override.node.islandora_object.path.yml b/config/export/core.base_field_override.node.islandora_object.path.yml deleted file mode 100644 index d18e498d7..000000000 --- a/config/export/core.base_field_override.node.islandora_object.path.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 7fecf5ea-f1eb-4a58-bb6e-27b00a100f59 -langcode: en -status: true -dependencies: - config: - - node.type.islandora_object - module: - - path -_core: - default_config_hash: VeoPdiMPVN49mrAAx_WFyeS16ZhYEM7GH8zZ96ZWPuE -id: node.islandora_object.path -field_name: path -entity_type: node -bundle: islandora_object -label: 'URL alias' -description: '' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: { } -field_type: path diff --git a/config/export/core.base_field_override.node.islandora_object.promote.yml b/config/export/core.base_field_override.node.islandora_object.promote.yml deleted file mode 100644 index 99b99c8f9..000000000 --- a/config/export/core.base_field_override.node.islandora_object.promote.yml +++ /dev/null @@ -1,24 +0,0 @@ -uuid: b57f407f-5852-48fb-95cf-38515c284da1 -langcode: en -status: true -dependencies: - config: - - node.type.islandora_object -_core: - default_config_hash: nYdar2D6NOkEngbyKDhFTj1idPQqtP0U3ReJK2u-59s -id: node.islandora_object.promote -field_name: promote -entity_type: node -bundle: islandora_object -label: 'Promoted to front page' -description: '' -required: false -translatable: false -default_value: - - - value: 1 -default_value_callback: '' -settings: - on_label: 'On' - off_label: 'Off' -field_type: boolean diff --git a/config/export/core.base_field_override.node.islandora_object.status.yml b/config/export/core.base_field_override.node.islandora_object.status.yml deleted file mode 100644 index d2c94d137..000000000 --- a/config/export/core.base_field_override.node.islandora_object.status.yml +++ /dev/null @@ -1,24 +0,0 @@ -uuid: 162973ee-46ed-4ebf-9285-476c50b8f168 -langcode: en -status: true -dependencies: - config: - - node.type.islandora_object -_core: - default_config_hash: 6b4KFr0Z6wLZP_1aZqDvJu9LKXJXiiqZMUNOgi7XMRM -id: node.islandora_object.status -field_name: status -entity_type: node -bundle: islandora_object -label: Published -description: '' -required: false -translatable: false -default_value: - - - value: 1 -default_value_callback: '' -settings: - on_label: 'On' - off_label: 'Off' -field_type: boolean diff --git a/config/export/core.base_field_override.node.islandora_object.sticky.yml b/config/export/core.base_field_override.node.islandora_object.sticky.yml deleted file mode 100644 index f9b957c61..000000000 --- a/config/export/core.base_field_override.node.islandora_object.sticky.yml +++ /dev/null @@ -1,24 +0,0 @@ -uuid: a1b4f7d2-f3c0-4267-85dc-2e8f3cc5ab64 -langcode: en -status: true -dependencies: - config: - - node.type.islandora_object -_core: - default_config_hash: sq8ComJdVg-Bahy1MsEgWSe7LOpJjWM4sry56pvnBmI -id: node.islandora_object.sticky -field_name: sticky -entity_type: node -bundle: islandora_object -label: 'Sticky at top of lists' -description: '' -required: false -translatable: false -default_value: - - - value: 0 -default_value_callback: '' -settings: - on_label: 'On' - off_label: 'Off' -field_type: boolean diff --git a/config/export/core.base_field_override.node.islandora_object.title.yml b/config/export/core.base_field_override.node.islandora_object.title.yml deleted file mode 100644 index efafac0fe..000000000 --- a/config/export/core.base_field_override.node.islandora_object.title.yml +++ /dev/null @@ -1,20 +0,0 @@ -uuid: 6d35b5fb-8fa5-44ad-b286-6aca92cde6d5 -langcode: en -status: true -dependencies: - config: - - node.type.islandora_object -_core: - default_config_hash: goFbXmRwXz8Ka0Vyu-jFOIqF6x7T5I8a7Eby6kfDKzQ -id: node.islandora_object.title -field_name: title -entity_type: node -bundle: islandora_object -label: Title -description: '' -required: true -translatable: true -default_value: { } -default_value_callback: '' -settings: { } -field_type: string diff --git a/config/export/core.base_field_override.node.islandora_object.uid.yml b/config/export/core.base_field_override.node.islandora_object.uid.yml deleted file mode 100644 index 4eb6bbddf..000000000 --- a/config/export/core.base_field_override.node.islandora_object.uid.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 56d898f6-8c0e-428e-8565-7a877de853d3 -langcode: en -status: true -dependencies: - config: - - node.type.islandora_object -_core: - default_config_hash: R9tzl3gXbLnojgU6wijGL671X4z_kNWUcGJf7YPgwek -id: node.islandora_object.uid -field_name: uid -entity_type: node -bundle: islandora_object -label: 'Authored by' -description: 'The username of the content author.' -required: false -translatable: false -default_value: { } -default_value_callback: 'Drupal\node\Entity\Node::getDefaultEntityOwner' -settings: - handler: default - handler_settings: { } -field_type: entity_reference diff --git a/config/export/core.base_field_override.node.page.promote.yml b/config/export/core.base_field_override.node.page.promote.yml deleted file mode 100644 index d4b7dc705..000000000 --- a/config/export/core.base_field_override.node.page.promote.yml +++ /dev/null @@ -1,24 +0,0 @@ -uuid: 7228cfbf-fb2e-4ede-8365-348b097cea1e -langcode: en -status: true -dependencies: - config: - - node.type.page -_core: - default_config_hash: fPUEnm4T5zfZRr3ttDUqq7yCDd2uW3clWD-pvos4tlQ -id: node.page.promote -field_name: promote -entity_type: node -bundle: page -label: 'Promoted to front page' -description: '' -required: false -translatable: false -default_value: - - - value: 0 -default_value_callback: '' -settings: - on_label: 'On' - off_label: 'Off' -field_type: boolean diff --git a/config/export/core.date_format.fallback.yml b/config/export/core.date_format.fallback.yml deleted file mode 100644 index 9544dcf18..000000000 --- a/config/export/core.date_format.fallback.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: afeb5150-a63e-472e-97d7-145d988532b2 -langcode: en -status: true -dependencies: { } -_core: - default_config_hash: 7klS5IWXrwzVaPpYZFAs6wcx8U2FF1X73OfrtTsvuvE -id: fallback -label: 'Fallback date format' -locked: true -pattern: 'D, m/d/Y - H:i' diff --git a/config/export/core.date_format.html_date.yml b/config/export/core.date_format.html_date.yml deleted file mode 100644 index c925d2a98..000000000 --- a/config/export/core.date_format.html_date.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: d854afa8-17e8-4c67-9dfe-0431412836d9 -langcode: en -status: true -dependencies: { } -_core: - default_config_hash: EOQltUQPmgc6UQ2rcJ4Xi_leCEJj5ui0TR-12duS-Tk -id: html_date -label: 'HTML Date' -locked: true -pattern: Y-m-d diff --git a/config/export/core.date_format.html_datetime.yml b/config/export/core.date_format.html_datetime.yml deleted file mode 100644 index 8dc9ef815..000000000 --- a/config/export/core.date_format.html_datetime.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: ea06668d-5b90-4073-8b47-f1f907a466d0 -langcode: en -status: true -dependencies: { } -_core: - default_config_hash: jxfClwZIRXIdcvMrE--WkcZxDGUVoOIE3Sm2NRZlFuE -id: html_datetime -label: 'HTML Datetime' -locked: true -pattern: 'Y-m-d\TH:i:sO' diff --git a/config/export/core.date_format.html_month.yml b/config/export/core.date_format.html_month.yml deleted file mode 100644 index b019a44ae..000000000 --- a/config/export/core.date_format.html_month.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 147466dd-81a3-4409-bc46-2f394844f7ca -langcode: en -status: true -dependencies: { } -_core: - default_config_hash: Z7KuCUwM_WdTNvLcoltuX3_8d-s-8FZkTN6KgNwF0eM -id: html_month -label: 'HTML Month' -locked: true -pattern: Y-m diff --git a/config/export/core.date_format.html_time.yml b/config/export/core.date_format.html_time.yml deleted file mode 100644 index c3910a170..000000000 --- a/config/export/core.date_format.html_time.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: f480f320-2f56-48b1-8e4d-7ff64e50ee57 -langcode: en -status: true -dependencies: { } -_core: - default_config_hash: M7yqicYkU36hRy5p9drAaGBBihhUD1OyujFrAaQ93ZE -id: html_time -label: 'HTML Time' -locked: true -pattern: 'H:i:s' diff --git a/config/export/core.date_format.html_week.yml b/config/export/core.date_format.html_week.yml deleted file mode 100644 index 23e3da418..000000000 --- a/config/export/core.date_format.html_week.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: c7684755-08db-4a5c-af32-f33d49c4f6bf -langcode: en -status: true -dependencies: { } -_core: - default_config_hash: wKD4WsoV_wFgv2vgI4mcAAFSIzrye17ykzdwrnApkfY -id: html_week -label: 'HTML Week' -locked: true -pattern: Y-\WW diff --git a/config/export/core.date_format.html_year.yml b/config/export/core.date_format.html_year.yml deleted file mode 100644 index dd4d059c4..000000000 --- a/config/export/core.date_format.html_year.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 48ae8bd5-eb36-4b21-b72b-2c28d91742a8 -langcode: en -status: true -dependencies: { } -_core: - default_config_hash: OjekiQuX9RbVQ2_8jOHBL94RgYLePqX7wpfNGgcQzrk -id: html_year -label: 'HTML Year' -locked: true -pattern: 'Y' diff --git a/config/export/core.date_format.html_yearless_date.yml b/config/export/core.date_format.html_yearless_date.yml deleted file mode 100644 index 4086e6fcd..000000000 --- a/config/export/core.date_format.html_yearless_date.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 4b16a3d3-4f22-4623-b5f5-ce756ad84d69 -langcode: en -status: true -dependencies: { } -_core: - default_config_hash: 5VpawMrKPEPCkoO4YpPa0TDFO2dgiIHfTziJtwlmUxc -id: html_yearless_date -label: 'HTML Yearless date' -locked: true -pattern: m-d diff --git a/config/export/core.date_format.long.yml b/config/export/core.date_format.long.yml deleted file mode 100644 index 78e5c0321..000000000 --- a/config/export/core.date_format.long.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 9e3e259d-c845-4bbb-8316-dec2b0929dbb -langcode: en -status: true -dependencies: { } -_core: - default_config_hash: og8sWXhBuHbLMw3CoiBEZjgqSyhFBFmcbUW_wLcfNbo -id: long -label: 'Default long date' -locked: false -pattern: 'l, F j, Y - H:i' diff --git a/config/export/core.date_format.medium.yml b/config/export/core.date_format.medium.yml deleted file mode 100644 index addfc4a53..000000000 --- a/config/export/core.date_format.medium.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 0991a663-34df-477d-99b7-15b5ac8d5664 -langcode: en -status: true -dependencies: { } -_core: - default_config_hash: nzL5d024NjXIX_8TlT6uFAu973lmfkmHklJC-2i9rAE -id: medium -label: 'Default medium date' -locked: false -pattern: 'D, m/d/Y - H:i' diff --git a/config/export/core.date_format.short.yml b/config/export/core.date_format.short.yml deleted file mode 100644 index 293819c82..000000000 --- a/config/export/core.date_format.short.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 91905f7c-cfb6-4074-a01d-c353cd8f8a87 -langcode: en -status: true -dependencies: { } -_core: - default_config_hash: AlzeyytA8InBgxIG9H2UDJYs3CG98Zj6yRsDKmlbZwA -id: short -label: 'Default short date' -locked: false -pattern: 'm/d/Y - H:i' diff --git a/config/export/core.entity_form_display.block_content.basic.default.yml b/config/export/core.entity_form_display.block_content.basic.default.yml deleted file mode 100644 index 18a3106ab..000000000 --- a/config/export/core.entity_form_display.block_content.basic.default.yml +++ /dev/null @@ -1,42 +0,0 @@ -uuid: bb149ade-0593-477a-ac04-8b9280531a80 -langcode: en -status: true -dependencies: - config: - - block_content.type.basic - - field.field.block_content.basic.body - module: - - text -_core: - default_config_hash: jAps3FCxvKecABS_tgExbhCZrBLQB3bNPWw18WjE3ss -id: block_content.basic.default -targetEntityType: block_content -bundle: basic -mode: default -content: - body: - type: text_textarea_with_summary - weight: -4 - region: content - settings: - rows: 9 - summary_rows: 3 - placeholder: '' - show_summary: false - third_party_settings: { } - info: - type: string_textfield - weight: -5 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - langcode: - type: language_select - weight: 2 - region: content - settings: - include_locked: true - third_party_settings: { } -hidden: { } diff --git a/config/export/core.entity_form_display.comment.comment.default.yml b/config/export/core.entity_form_display.comment.comment.default.yml deleted file mode 100644 index 1c74f237a..000000000 --- a/config/export/core.entity_form_display.comment.comment.default.yml +++ /dev/null @@ -1,43 +0,0 @@ -uuid: 7605c4ea-b2ac-4b35-95c9-8fbcaf2dc550 -langcode: en -status: true -dependencies: - config: - - comment.type.comment - - field.field.comment.comment.comment_body - module: - - text -_core: - default_config_hash: I0Pa0aQvT_jawlPo9oz4FE3h_ickc55dYKTPl6gILes -id: comment.comment.default -targetEntityType: comment -bundle: comment -mode: default -content: - author: - weight: -2 - region: content - comment_body: - type: text_textarea - weight: 11 - region: content - settings: - rows: 5 - placeholder: '' - third_party_settings: { } - langcode: - type: language_select - weight: 2 - region: content - settings: - include_locked: true - third_party_settings: { } - subject: - type: string_textfield - weight: 10 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } -hidden: { } diff --git a/config/export/core.entity_form_display.media.audio.default.yml b/config/export/core.entity_form_display.media.audio.default.yml deleted file mode 100644 index b6053aa8b..000000000 --- a/config/export/core.entity_form_display.media.audio.default.yml +++ /dev/null @@ -1,108 +0,0 @@ -uuid: 625643d5-db4a-45c8-8492-d7492308b4f9 -langcode: en -status: true -dependencies: - config: - - field.field.media.audio.field_file_size - - field.field.media.audio.field_media_audio_file - - field.field.media.audio.field_media_of - - field.field.media.audio.field_media_use - - field.field.media.audio.field_mime_type - - field.field.media.audio.field_original_name - - field.field.media.audio.field_track - - media.type.audio - module: - - file - - islandora - - path -_core: - default_config_hash: Yn8eodNOBbempx1_qeBOIbHMk3lCLqSqLQ-FYSdm83A -id: media.audio.default -targetEntityType: media -bundle: audio -mode: default -content: - created: - type: datetime_timestamp - weight: 5 - region: content - settings: { } - third_party_settings: { } - field_media_audio_file: - type: file_generic - weight: 1 - region: content - settings: - progress_indicator: throbber - third_party_settings: { } - field_media_of: - type: entity_reference_autocomplete - weight: 3 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_media_use: - type: options_buttons - weight: 2 - region: content - settings: { } - third_party_settings: { } - field_original_name: - type: string_textarea - weight: 8 - region: content - settings: - rows: 5 - placeholder: '' - third_party_settings: { } - field_track: - type: media_track - weight: 9 - region: content - settings: - progress_indicator: throbber - third_party_settings: { } - name: - type: string_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 6 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 10 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 7 - region: content - settings: { } - third_party_settings: { } - uid: - type: entity_reference_autocomplete - weight: 4 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } -hidden: - field_file_size: true - field_mime_type: true - langcode: true diff --git a/config/export/core.entity_form_display.media.document.default.yml b/config/export/core.entity_form_display.media.document.default.yml deleted file mode 100644 index b51e1790c..000000000 --- a/config/export/core.entity_form_display.media.document.default.yml +++ /dev/null @@ -1,107 +0,0 @@ -uuid: 4c68e767-06fb-4fa8-b94d-fbc4d69f7c30 -langcode: en -status: true -dependencies: - config: - - field.field.media.document.field_display_mode_for_viewer - - field.field.media.document.field_file_size - - field.field.media.document.field_media_document - - field.field.media.document.field_media_of - - field.field.media.document.field_media_use - - field.field.media.document.field_mime_type - - field.field.media.document.field_original_name - - media.type.document - module: - - file - - path - - view_mode_switch -_core: - default_config_hash: H8rwcqLpsXqtZdgT7Gnf-Z9lUhlnRVKsK0eSEa1N3iw -id: media.document.default -targetEntityType: media -bundle: document -mode: default -content: - created: - type: datetime_timestamp - weight: 5 - region: content - settings: { } - third_party_settings: { } - field_display_mode_for_viewer: - type: view_mode_switch - weight: 8 - region: content - settings: { } - third_party_settings: { } - field_media_document: - type: file_generic - weight: 1 - region: content - settings: - progress_indicator: throbber - third_party_settings: { } - field_media_of: - type: entity_reference_autocomplete - weight: 3 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_media_use: - type: options_buttons - weight: 2 - region: content - settings: { } - third_party_settings: { } - field_original_name: - type: string_textarea - weight: 7 - region: content - settings: - rows: 5 - placeholder: '' - third_party_settings: { } - name: - type: string_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 6 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 9 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 9 - region: content - settings: { } - third_party_settings: { } - uid: - type: entity_reference_autocomplete - weight: 4 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } -hidden: - field_file_size: true - field_mime_type: true - langcode: true diff --git a/config/export/core.entity_form_display.media.extracted_text.default.yml b/config/export/core.entity_form_display.media.extracted_text.default.yml deleted file mode 100644 index a92b802a0..000000000 --- a/config/export/core.entity_form_display.media.extracted_text.default.yml +++ /dev/null @@ -1,84 +0,0 @@ -uuid: 118250de-d9a6-46bf-9cd8-83b757dc52f7 -langcode: en -status: true -dependencies: - config: - - field.field.media.extracted_text.field_edited_text - - field.field.media.extracted_text.field_media_file - - field.field.media.extracted_text.field_media_of - - field.field.media.extracted_text.field_media_use - - field.field.media.extracted_text.field_mime_type - - media.type.extracted_text - module: - - file - - path - - text -_core: - default_config_hash: 0Zeu8012np-BZS2tUHhI5CnSeZbuJD7pUtXGIsgDUdk -id: media.extracted_text.default -targetEntityType: media -bundle: extracted_text -mode: default -content: - created: - type: datetime_timestamp - weight: 3 - region: content - settings: { } - third_party_settings: { } - field_edited_text: - type: text_textarea - weight: 7 - region: content - settings: - rows: 5 - placeholder: '' - third_party_settings: { } - field_media_file: - type: file_generic - weight: 6 - region: content - settings: - progress_indicator: throbber - third_party_settings: { } - langcode: - type: language_select - weight: 1 - region: content - settings: - include_locked: true - third_party_settings: { } - name: - type: string_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 4 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 5 - region: content - settings: - display_label: true - third_party_settings: { } - uid: - type: entity_reference_autocomplete - weight: 2 - region: content - settings: - match_operator: CONTAINS - size: 60 - placeholder: '' - third_party_settings: { } -hidden: - field_media_of: true - field_media_use: true - field_mime_type: true diff --git a/config/export/core.entity_form_display.media.file.default.yml b/config/export/core.entity_form_display.media.file.default.yml deleted file mode 100644 index da90f4132..000000000 --- a/config/export/core.entity_form_display.media.file.default.yml +++ /dev/null @@ -1,105 +0,0 @@ -uuid: cd80b005-d315-44f3-8866-b01cb7e6d254 -langcode: en -status: true -dependencies: - config: - - field.field.media.file.field_display_mode_for_viewer - - field.field.media.file.field_file_size - - field.field.media.file.field_media_file - - field.field.media.file.field_media_of - - field.field.media.file.field_media_use - - field.field.media.file.field_mime_type - - field.field.media.file.field_original_name - - media.type.file - module: - - file - - path - - view_mode_switch -_core: - default_config_hash: KBFaIyU4BWuyhM9EC8IsREAxU8F0OqcQJ9a1V5HaiKo -id: media.file.default -targetEntityType: media -bundle: file -mode: default -content: - created: - type: datetime_timestamp - weight: 6 - region: content - settings: { } - third_party_settings: { } - field_display_mode_for_viewer: - type: view_mode_switch - weight: 27 - region: content - settings: { } - third_party_settings: { } - field_media_file: - type: file_generic - weight: 1 - region: content - settings: - progress_indicator: throbber - third_party_settings: { } - field_media_of: - type: entity_reference_autocomplete - weight: 4 - region: content - settings: - match_operator: CONTAINS - size: 60 - placeholder: '' - third_party_settings: { } - field_media_use: - type: options_buttons - weight: 2 - region: content - settings: { } - third_party_settings: { } - field_original_name: - type: string_textarea - weight: 26 - region: content - settings: - rows: 5 - placeholder: '' - third_party_settings: { } - name: - type: string_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 7 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 8 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 9 - region: content - settings: { } - third_party_settings: { } - uid: - type: entity_reference_autocomplete - weight: 5 - region: content - settings: - match_operator: CONTAINS - size: 60 - placeholder: '' - third_party_settings: { } -hidden: - field_file_size: true - field_mime_type: true - langcode: true diff --git a/config/export/core.entity_form_display.media.image.default.yml b/config/export/core.entity_form_display.media.image.default.yml deleted file mode 100644 index 61d05e6f9..000000000 --- a/config/export/core.entity_form_display.media.image.default.yml +++ /dev/null @@ -1,111 +0,0 @@ -uuid: b7d7d96f-2367-487b-928e-3b0233e4ae37 -langcode: en -status: true -dependencies: - config: - - field.field.media.image.field_display_mode_for_viewer - - field.field.media.image.field_file_size - - field.field.media.image.field_height - - field.field.media.image.field_media_image - - field.field.media.image.field_media_of - - field.field.media.image.field_media_use - - field.field.media.image.field_mime_type - - field.field.media.image.field_original_name - - field.field.media.image.field_width - - image.style.thumbnail - - media.type.image - module: - - image - - path - - view_mode_switch -_core: - default_config_hash: 0m1---KA1hTxMlNoqo1kI1ZG5TBbGQy4sQ1rOMy9Ovg -id: media.image.default -targetEntityType: media -bundle: image -mode: default -content: - created: - type: datetime_timestamp - weight: 6 - region: content - settings: { } - third_party_settings: { } - field_display_mode_for_viewer: - type: view_mode_switch - weight: 27 - region: content - settings: { } - third_party_settings: { } - field_media_image: - type: image_image - weight: 1 - region: content - settings: - progress_indicator: throbber - preview_image_style: thumbnail - third_party_settings: { } - field_media_of: - type: entity_reference_autocomplete - weight: 4 - region: content - settings: - match_operator: CONTAINS - size: 60 - placeholder: '' - third_party_settings: { } - field_media_use: - type: options_buttons - weight: 2 - region: content - settings: { } - third_party_settings: { } - field_original_name: - type: string_textarea - weight: 26 - region: content - settings: - rows: 5 - placeholder: '' - third_party_settings: { } - name: - type: string_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 7 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 8 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 9 - region: content - settings: { } - third_party_settings: { } - uid: - type: entity_reference_autocomplete - weight: 5 - region: content - settings: - match_operator: CONTAINS - size: 60 - placeholder: '' - third_party_settings: { } -hidden: - field_file_size: true - field_height: true - field_mime_type: true - field_width: true - langcode: true diff --git a/config/export/core.entity_form_display.media.remote_video.default.yml b/config/export/core.entity_form_display.media.remote_video.default.yml deleted file mode 100644 index d25e05803..000000000 --- a/config/export/core.entity_form_display.media.remote_video.default.yml +++ /dev/null @@ -1,63 +0,0 @@ -uuid: 542aadd3-1b53-43d8-ba06-f065cef7d431 -langcode: en -status: true -dependencies: - config: - - field.field.media.remote_video.field_media_oembed_video - - media.type.remote_video - module: - - media - - path -_core: - default_config_hash: pM8mGlwfpvfG_y5tZn0lGAXFLXz2_yKkL7MvWZsRqdA -id: media.remote_video.default -targetEntityType: media -bundle: remote_video -mode: default -content: - created: - type: datetime_timestamp - weight: 10 - region: content - settings: { } - third_party_settings: { } - field_media_oembed_video: - type: oembed_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - langcode: - type: language_select - weight: 2 - region: content - settings: - include_locked: true - third_party_settings: { } - path: - type: path - weight: 30 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 100 - region: content - settings: - display_label: true - third_party_settings: { } - uid: - type: entity_reference_autocomplete - weight: 5 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } -hidden: - name: true diff --git a/config/export/core.entity_form_display.media.video.default.yml b/config/export/core.entity_form_display.media.video.default.yml deleted file mode 100644 index 3bb98b09d..000000000 --- a/config/export/core.entity_form_display.media.video.default.yml +++ /dev/null @@ -1,106 +0,0 @@ -uuid: 5ca545df-5264-4d07-96e3-2bde71e68ec7 -langcode: en -status: true -dependencies: - config: - - field.field.media.video.field_file_size - - field.field.media.video.field_media_of - - field.field.media.video.field_media_use - - field.field.media.video.field_media_video_file - - field.field.media.video.field_mime_type - - field.field.media.video.field_original_name - - field.field.media.video.field_track - - media.type.video - module: - - file - - islandora - - path -_core: - default_config_hash: OmfTLG22H4-yDtPxlJffsgiBdIVPy_ioRtu7psvscpI -id: media.video.default -targetEntityType: media -bundle: video -mode: default -content: - created: - type: datetime_timestamp - weight: 6 - region: content - settings: { } - third_party_settings: { } - field_media_of: - type: entity_reference_autocomplete - weight: 4 - region: content - settings: - match_operator: CONTAINS - size: 60 - placeholder: '' - third_party_settings: { } - field_media_use: - type: options_buttons - weight: 2 - region: content - settings: { } - third_party_settings: { } - field_media_video_file: - type: file_generic - weight: 1 - region: content - settings: - progress_indicator: throbber - third_party_settings: { } - field_original_name: - type: string_textarea - weight: 26 - region: content - settings: - rows: 5 - placeholder: '' - third_party_settings: { } - field_track: - type: media_track - weight: 27 - region: content - settings: - progress_indicator: throbber - third_party_settings: { } - name: - type: string_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 7 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 8 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 9 - region: content - settings: { } - third_party_settings: { } - uid: - type: entity_reference_autocomplete - weight: 5 - region: content - settings: - match_operator: CONTAINS - size: 60 - placeholder: '' - third_party_settings: { } -hidden: - field_file_size: true - field_mime_type: true - langcode: true diff --git a/config/export/core.entity_form_display.node.article.default.yml b/config/export/core.entity_form_display.node.article.default.yml deleted file mode 100644 index 48bcbd502..000000000 --- a/config/export/core.entity_form_display.node.article.default.yml +++ /dev/null @@ -1,116 +0,0 @@ -uuid: 29f0ee86-e434-418a-923a-721dee3d6b21 -langcode: en -status: true -dependencies: - config: - - field.field.node.article.body - - field.field.node.article.comment - - field.field.node.article.field_image - - field.field.node.article.field_tags - - image.style.thumbnail - - node.type.article - module: - - comment - - image - - path - - text -_core: - default_config_hash: Pzq9mzrsfoPf775qgEU_SUbHSro9pv1ga-Euh1Ykd_k -id: node.article.default -targetEntityType: node -bundle: article -mode: default -content: - body: - type: text_textarea_with_summary - weight: 1 - region: content - settings: - rows: 9 - summary_rows: 3 - placeholder: '' - show_summary: false - third_party_settings: { } - comment: - type: comment_default - weight: 20 - region: content - settings: { } - third_party_settings: { } - created: - type: datetime_timestamp - weight: 10 - region: content - settings: { } - third_party_settings: { } - field_image: - type: image_image - weight: 4 - region: content - settings: - progress_indicator: throbber - preview_image_style: thumbnail - third_party_settings: { } - field_tags: - type: entity_reference_autocomplete_tags - weight: 3 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - langcode: - type: language_select - weight: 2 - region: content - settings: - include_locked: true - third_party_settings: { } - path: - type: path - weight: 30 - region: content - settings: { } - third_party_settings: { } - promote: - type: boolean_checkbox - weight: 15 - region: content - settings: - display_label: true - third_party_settings: { } - status: - type: boolean_checkbox - weight: 120 - region: content - settings: - display_label: true - third_party_settings: { } - sticky: - type: boolean_checkbox - weight: 16 - region: content - settings: - display_label: true - third_party_settings: { } - title: - type: string_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - uid: - type: entity_reference_autocomplete - weight: 5 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } -hidden: { } diff --git a/config/export/core.entity_form_display.node.collection_object.default.yml b/config/export/core.entity_form_display.node.collection_object.default.yml deleted file mode 100644 index 33448de50..000000000 --- a/config/export/core.entity_form_display.node.collection_object.default.yml +++ /dev/null @@ -1,331 +0,0 @@ -uuid: fd6deb42-cbff-4d9f-bb78-f4900da85632 -langcode: en -status: true -dependencies: - config: - - field.field.node.collection_object.field_alternative_title - - field.field.node.collection_object.field_collection_contact_email - - field.field.node.collection_object.field_collection_contact_name - - field.field.node.collection_object.field_collection_number - - field.field.node.collection_object.field_date_captured - - field.field.node.collection_object.field_date_modified - - field.field.node.collection_object.field_date_valid - - field.field.node.collection_object.field_description - - field.field.node.collection_object.field_display_hints - - field.field.node.collection_object.field_edtf_date - - field.field.node.collection_object.field_edtf_date_created - - field.field.node.collection_object.field_edtf_date_issued - - field.field.node.collection_object.field_extent - - field.field.node.collection_object.field_featured_item - - field.field.node.collection_object.field_finding_aid - - field.field.node.collection_object.field_geographic_subject - - field.field.node.collection_object.field_linked_agent - - field.field.node.collection_object.field_member_of - - field.field.node.collection_object.field_model - - field.field.node.collection_object.field_resource_type - - field.field.node.collection_object.field_rights - - field.field.node.collection_object.field_subject_general - - field.field.node.collection_object.field_subjects_name - - field.field.node.collection_object.field_temporal_subject - - field.field.node.collection_object.field_unique_id - - field.field.node.collection_object.field_weight - - node.type.collection_object - module: - - controlled_access_terms - - link - - path -_core: - default_config_hash: ZaLPFlxFe0NJApwG98_vYftEPMQzsxfMPP0pDPJrgTs -id: node.collection_object.default -targetEntityType: node -bundle: collection_object -mode: default -content: - created: - type: datetime_timestamp - weight: 10 - region: content - settings: { } - third_party_settings: { } - field_alternative_title: - type: string_textfield - weight: 121 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_collection_contact_email: - type: email_default - weight: 123 - region: content - settings: - placeholder: '' - size: 60 - third_party_settings: { } - field_collection_contact_name: - type: string_textfield - weight: 124 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_collection_number: - type: string_textfield - weight: 125 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_date_captured: - type: edtf_default - weight: 135 - region: content - settings: - strict_dates: false - intervals: true - sets: false - third_party_settings: { } - field_date_modified: - type: edtf_default - weight: 138 - region: content - settings: - strict_dates: false - intervals: true - sets: false - third_party_settings: { } - field_date_valid: - type: edtf_default - weight: 139 - region: content - settings: - strict_dates: false - intervals: true - sets: false - third_party_settings: { } - field_description: - type: string_textarea - weight: 126 - region: content - settings: - rows: 5 - placeholder: '' - third_party_settings: { } - field_display_hints: - type: entity_reference_autocomplete - weight: 140 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_edtf_date: - type: edtf_default - weight: 134 - region: content - settings: - strict_dates: false - intervals: true - sets: false - third_party_settings: { } - field_edtf_date_created: - type: edtf_default - weight: 136 - region: content - settings: - strict_dates: false - intervals: true - sets: false - third_party_settings: { } - field_edtf_date_issued: - type: edtf_default - weight: 137 - region: content - settings: - strict_dates: false - intervals: true - sets: false - third_party_settings: { } - field_extent: - type: string_textfield - weight: 141 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_featured_item: - type: boolean_checkbox - weight: 127 - region: content - settings: - display_label: true - third_party_settings: { } - field_finding_aid: - type: link_default - weight: 128 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - field_geographic_subject: - type: entity_reference_autocomplete - weight: 145 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_linked_agent: - type: typed_relation_default - weight: 142 - region: content - settings: - match_operator: CONTAINS - size: 60 - placeholder: '' - match_limit: 10 - third_party_settings: { } - field_member_of: - type: entity_reference_autocomplete - weight: 130 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_model: - type: entity_reference_autocomplete - weight: 129 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_resource_type: - type: entity_reference_autocomplete - weight: 133 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_rights: - type: string_textfield - weight: 143 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_subject_general: - type: entity_reference_autocomplete - weight: 144 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_subjects_name: - type: entity_reference_autocomplete - weight: 146 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_temporal_subject: - type: entity_reference_autocomplete - weight: 147 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_unique_id: - type: string_textfield - weight: 131 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_weight: - type: number - weight: 132 - region: content - settings: - placeholder: '' - third_party_settings: { } - langcode: - type: language_select - weight: 2 - region: content - settings: - include_locked: true - third_party_settings: { } - path: - type: path - weight: 30 - region: content - settings: { } - third_party_settings: { } - promote: - type: boolean_checkbox - weight: 15 - region: content - settings: - display_label: true - third_party_settings: { } - status: - type: boolean_checkbox - weight: 120 - region: content - settings: - display_label: true - third_party_settings: { } - sticky: - type: boolean_checkbox - weight: 16 - region: content - settings: - display_label: true - third_party_settings: { } - title: - type: string_textfield - weight: -5 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - uid: - type: entity_reference_autocomplete - weight: 5 - region: content - settings: - match_operator: CONTAINS - size: 60 - placeholder: '' - third_party_settings: { } -hidden: { } diff --git a/config/export/core.entity_form_display.node.islandora_object.default.yml b/config/export/core.entity_form_display.node.islandora_object.default.yml deleted file mode 100644 index 9b31f09df..000000000 --- a/config/export/core.entity_form_display.node.islandora_object.default.yml +++ /dev/null @@ -1,943 +0,0 @@ -uuid: ec576230-8fc4-446e-94a2-58f3328e74c5 -langcode: en -status: true -dependencies: - config: - - field.field.node.islandora_object.field_abstract - - field.field.node.islandora_object.field_alt_title - - field.field.node.islandora_object.field_alternative_title - - field.field.node.islandora_object.field_citable_url - - field.field.node.islandora_object.field_classification - - field.field.node.islandora_object.field_collection_number - - field.field.node.islandora_object.field_contributor - - field.field.node.islandora_object.field_coordinates - - field.field.node.islandora_object.field_coordinates_text - - field.field.node.islandora_object.field_copyright_and_use - - field.field.node.islandora_object.field_copyright_date - - field.field.node.islandora_object.field_copyright_holder - - field.field.node.islandora_object.field_creator - - field.field.node.islandora_object.field_date_available - - field.field.node.islandora_object.field_date_captured - - field.field.node.islandora_object.field_date_copyrighted - - field.field.node.islandora_object.field_date_modified - - field.field.node.islandora_object.field_date_published - - field.field.node.islandora_object.field_date_valid - - field.field.node.islandora_object.field_description - - field.field.node.islandora_object.field_dewey_classification - - field.field.node.islandora_object.field_digital_identifier - - field.field.node.islandora_object.field_digital_publisher - - field.field.node.islandora_object.field_display_hints - - field.field.node.islandora_object.field_dspace_identifier - - field.field.node.islandora_object.field_dspace_item_id - - field.field.node.islandora_object.field_edition - - field.field.node.islandora_object.field_edtf_date - - field.field.node.islandora_object.field_edtf_date_created - - field.field.node.islandora_object.field_edtf_date_issued - - field.field.node.islandora_object.field_extent - - field.field.node.islandora_object.field_featured_item - - field.field.node.islandora_object.field_finding_aid - - field.field.node.islandora_object.field_frequency - - field.field.node.islandora_object.field_full_title - - field.field.node.islandora_object.field_genre - - field.field.node.islandora_object.field_geographic_subject - - field.field.node.islandora_object.field_geoportal_link - - field.field.node.islandora_object.field_identifier - - field.field.node.islandora_object.field_is_part_of - - field.field.node.islandora_object.field_isbn - - field.field.node.islandora_object.field_issn - - field.field.node.islandora_object.field_item_barcode - - field.field.node.islandora_object.field_jhir - - field.field.node.islandora_object.field_language - - field.field.node.islandora_object.field_lcc_classification - - field.field.node.islandora_object.field_library_catalog_link - - field.field.node.islandora_object.field_linked_agent - - field.field.node.islandora_object.field_local_identifier - - field.field.node.islandora_object.field_member_of - - field.field.node.islandora_object.field_mode_of_issuance - - field.field.node.islandora_object.field_model - - field.field.node.islandora_object.field_note - - field.field.node.islandora_object.field_oclc_number - - field.field.node.islandora_object.field_physical_form - - field.field.node.islandora_object.field_pid - - field.field.node.islandora_object.field_place_published - - field.field.node.islandora_object.field_place_published_country - - field.field.node.islandora_object.field_publisher - - field.field.node.islandora_object.field_publisher_country - - field.field.node.islandora_object.field_resource_type - - field.field.node.islandora_object.field_rights - - field.field.node.islandora_object.field_spatial_coverage - - field.field.node.islandora_object.field_subject - - field.field.node.islandora_object.field_subject_general - - field.field.node.islandora_object.field_subjects_name - - field.field.node.islandora_object.field_table_of_contents - - field.field.node.islandora_object.field_temporal_subject - - field.field.node.islandora_object.field_unique_id - - field.field.node.islandora_object.field_weight - - field.field.node.islandora_object.field_years - - node.type.islandora_object - module: - - controlled_access_terms - - field_group - - geolocation - - link - - path - - text -third_party_settings: - field_group: - group_structure: - children: - - langcode - - field_display_hints - - field_weight - - translation - - path - - status - - promote - - uid - - created - - sticky - label: System - region: content - parent_name: '' - weight: 23 - format_type: details - format_settings: - classes: '' - id: '' - open: false - description: '' - required_fields: true - group_required: - children: - - title - - field_model - label: Required - region: content - parent_name: '' - weight: 0 - format_type: details - format_settings: - classes: '' - id: '' - open: true - description: 'The title recorded here will be the main display title used within the system, and is limited to 255 characters. If your title is longer, enter a truncated version that will differentiate this resource from others in displays. Full titles longer than 255 characters may be optionally recorded below.' - required_fields: true - group_relationships: - children: - - field_member_of - label: Relationships - region: content - parent_name: '' - weight: 1 - format_type: details - format_settings: - classes: '' - id: '' - open: false - description: 'Relationships between this resource and other resources' - required_fields: true - weight: 0 - formatter: closed - direction: vertical - group_title_details: - children: - - field_full_title - - field_alt_title - label: 'Title Details' - region: content - parent_name: '' - weight: 2 - format_type: details - format_settings: - classes: '' - id: '' - open: false - description: 'More specific title fields that are needed less frequently' - required_fields: true - weight: 0 - formatter: closed - direction: vertical - group_identifiers: - children: - - field_identifier - - field_isbn - - field_oclc_number - - field_local_identifier - - field_pid - label: Identifiers - region: content - parent_name: '' - weight: 21 - format_type: details - format_settings: - classes: '' - id: '' - open: false - description: '' - required_fields: true - group_publication_details: - children: - - field_mode_of_issuance - - field_frequency - label: 'Publication Details' - region: content - parent_name: '' - weight: 9 - format_type: details - format_settings: - classes: '' - id: '' - open: false - description: '' - required_fields: true - group_additional_date_types: - children: - - field_edtf_date - - field_copyright_date - - field_date_valid - - field_date_captured - - field_date_modified - label: 'Additional Date Types' - region: content - parent_name: '' - weight: 7 - format_type: details - format_settings: - classes: '' - id: '' - open: false - description: 'Less-frequently needed fields for specific types of dates' - required_fields: true - group_specific_description_field: - children: - - field_abstract - - field_table_of_contents - - field_note - label: 'Specific Description Fields' - region: content - parent_name: '' - weight: 11 - format_type: details - format_settings: - classes: '' - id: '' - open: false - description: 'Fields that capture description elements of specific types' - required_fields: true - group_classification_: - children: - - field_dewey_classification - - field_lcc_classification - - field_classification - label: 'Classification ' - region: content - parent_name: '' - weight: 20 - format_type: details - format_settings: - classes: '' - id: '' - open: false - description: '' - required_fields: true - group_specific_subject_types: - children: - - field_subject - - field_geographic_subject - - field_subjects_name - - field_temporal_subject - - group_geographic_coordinates - label: 'Specific Subject Types' - region: content - parent_name: '' - weight: 19 - format_type: details - format_settings: - classes: '' - id: '' - open: false - description: '' - required_fields: true - group_geographic_coordinates: - children: - - field_coordinates - - field_coordinates_text - label: 'Geographic Coordinates' - region: content - parent_name: group_specific_subject_types - weight: 22 - format_type: details - format_settings: - classes: '' - id: '' - open: false - description: '' - required_fields: true -_core: - default_config_hash: wnUDv31TLzQaxvdHct4EV2lXhhaWUIf_1g_d0fLUWs4 -id: node.islandora_object.default -targetEntityType: node -bundle: islandora_object -mode: default -content: - created: - type: datetime_timestamp - weight: 44 - region: content - settings: { } - third_party_settings: { } - field_abstract: - type: text_textarea - weight: 14 - region: content - settings: - rows: 5 - placeholder: '' - third_party_settings: { } - field_alt_title: - type: string_textfield - weight: 9 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_alternative_title: - type: string_textfield - weight: 72 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_citable_url: - type: link_default - weight: 46 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - field_classification: - type: string_textfield - weight: 26 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_collection_number: - type: string_textfield - weight: 47 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_contributor: - type: typed_relation_default - weight: 48 - region: content - settings: - match_operator: CONTAINS - size: 60 - placeholder: '' - match_limit: 10 - third_party_settings: { } - field_coordinates: - type: geolocation_latlng - weight: 23 - region: content - settings: { } - third_party_settings: { } - field_coordinates_text: - type: string_textfield - weight: 24 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_copyright_and_use: - type: entity_reference_autocomplete - weight: 49 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_copyright_date: - type: edtf_default - weight: 14 - region: content - settings: - strict_dates: false - intervals: true - sets: false - third_party_settings: { } - field_copyright_holder: - type: entity_reference_autocomplete - weight: 50 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_creator: - type: typed_relation_default - weight: 51 - region: content - settings: - match_operator: CONTAINS - size: 60 - placeholder: '' - match_limit: 10 - third_party_settings: { } - field_date_available: - type: edtf_default - weight: 52 - region: content - settings: - strict_dates: false - intervals: true - sets: false - third_party_settings: { } - field_date_captured: - type: edtf_default - weight: 17 - region: content - settings: - strict_dates: false - intervals: true - sets: false - third_party_settings: { } - field_date_copyrighted: - type: edtf_default - weight: 53 - region: content - settings: - strict_dates: false - intervals: true - sets: false - third_party_settings: { } - field_date_modified: - type: edtf_default - weight: 18 - region: content - settings: - strict_dates: false - intervals: true - sets: false - third_party_settings: { } - field_date_published: - type: edtf_default - weight: 54 - region: content - settings: - strict_dates: false - intervals: true - sets: false - third_party_settings: { } - field_date_valid: - type: edtf_default - weight: 16 - region: content - settings: - strict_dates: false - intervals: true - sets: false - third_party_settings: { } - field_description: - type: string_textarea - weight: 10 - region: content - settings: - rows: 5 - placeholder: '' - third_party_settings: { } - field_dewey_classification: - type: string_textfield - weight: 24 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_digital_identifier: - type: string_textfield - weight: 55 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_digital_publisher: - type: entity_reference_autocomplete - weight: 56 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_dspace_identifier: - type: link_default - weight: 57 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - field_dspace_item_id: - type: string_textfield - weight: 58 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_edition: - type: string_textfield - weight: 8 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_edtf_date: - type: edtf_default - weight: 13 - region: content - settings: - strict_dates: false - intervals: false - sets: false - third_party_settings: { } - field_edtf_date_created: - type: edtf_default - weight: 6 - region: content - settings: - strict_dates: false - intervals: false - sets: false - third_party_settings: { } - field_edtf_date_issued: - type: edtf_default - weight: 5 - region: content - settings: - strict_dates: false - intervals: false - sets: false - third_party_settings: { } - field_extent: - type: string_textfield - weight: 16 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_featured_item: - type: boolean_checkbox - weight: 59 - region: content - settings: - display_label: true - third_party_settings: { } - field_finding_aid: - type: link_default - weight: 60 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - field_frequency: - type: entity_reference_autocomplete - weight: 32 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_full_title: - type: string_textarea - weight: 8 - region: content - settings: - rows: 2 - placeholder: '' - third_party_settings: { } - field_genre: - type: entity_reference_autocomplete - weight: 14 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_geographic_subject: - type: entity_reference_autocomplete - weight: 19 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_geoportal_link: - type: link_default - weight: 61 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - field_identifier: - type: string_textfield - weight: 18 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_is_part_of: - type: link_default - weight: 62 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - field_isbn: - type: string_textfield - weight: 19 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_issn: - type: string_textfield - weight: 63 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_item_barcode: - type: string_textfield - weight: 64 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_jhir: - type: link_default - weight: 65 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - field_language: - type: entity_reference_autocomplete - weight: 12 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_lcc_classification: - type: string_textfield - weight: 25 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_library_catalog_link: - type: link_default - weight: 66 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - field_linked_agent: - type: typed_relation_default - weight: 3 - region: content - settings: - match_operator: CONTAINS - size: 60 - placeholder: '' - match_limit: 10 - third_party_settings: { } - field_local_identifier: - type: string_textfield - weight: 21 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_member_of: - type: entity_reference_autocomplete - weight: 33 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_mode_of_issuance: - type: entity_reference_autocomplete - weight: 31 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_model: - type: options_select - weight: 1 - region: content - settings: { } - third_party_settings: { } - field_note: - type: text_textarea - weight: 16 - region: content - settings: - rows: 5 - placeholder: '' - third_party_settings: { } - field_oclc_number: - type: string_textfield - weight: 20 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_physical_form: - type: entity_reference_autocomplete - weight: 15 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_pid: - type: string_textfield - weight: 22 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_place_published: - type: string_textfield - weight: 4 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_publisher: - type: entity_reference_autocomplete - weight: 67 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_publisher_country: - type: entity_reference_autocomplete - weight: 68 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_resource_type: - type: options_select - weight: 13 - region: content - settings: { } - third_party_settings: { } - field_rights: - type: string_textfield - weight: 22 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_spatial_coverage: - type: entity_reference_autocomplete - weight: 69 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_subject: - type: entity_reference_autocomplete - weight: 18 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_subject_general: - type: entity_reference_autocomplete - weight: 17 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_subjects_name: - type: entity_reference_autocomplete - weight: 20 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_table_of_contents: - type: text_textarea - weight: 15 - region: content - settings: - rows: 5 - placeholder: '' - third_party_settings: { } - field_temporal_subject: - type: entity_reference_autocomplete - weight: 21 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_unique_id: - type: string_textfield - weight: 70 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_weight: - type: number - weight: 38 - region: content - settings: - placeholder: '' - third_party_settings: { } - field_years: - type: edtf_default - weight: 71 - region: content - settings: - strict_dates: false - intervals: true - sets: false - third_party_settings: { } - langcode: - type: language_select - weight: 34 - region: content - settings: - include_locked: true - third_party_settings: { } - path: - type: path - weight: 40 - region: content - settings: { } - third_party_settings: { } - promote: - type: boolean_checkbox - weight: 42 - region: content - settings: - display_label: true - third_party_settings: { } - status: - type: boolean_checkbox - weight: 41 - region: content - settings: - display_label: true - third_party_settings: { } - sticky: - type: boolean_checkbox - weight: 45 - region: content - settings: - display_label: true - third_party_settings: { } - title: - type: string_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - translation: - weight: 39 - region: content - settings: { } - third_party_settings: { } - uid: - type: entity_reference_autocomplete - weight: 43 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } -hidden: - field_display_hints: true - field_place_published_country: true diff --git a/config/export/core.entity_form_display.node.page.default.yml b/config/export/core.entity_form_display.node.page.default.yml deleted file mode 100644 index 3f5f1b6f6..000000000 --- a/config/export/core.entity_form_display.node.page.default.yml +++ /dev/null @@ -1,86 +0,0 @@ -uuid: 049183e3-2cc2-4292-a08e-9ab4f9d52c78 -langcode: en -status: true -dependencies: - config: - - field.field.node.page.body - - node.type.page - module: - - path - - text -_core: - default_config_hash: SfpLhPExzvR0MgFp0Wp7CrmgEnhcqQ-fXIWFhbf4ue0 -id: node.page.default -targetEntityType: node -bundle: page -mode: default -content: - body: - type: text_textarea_with_summary - weight: 31 - region: content - settings: - rows: 9 - summary_rows: 3 - placeholder: '' - show_summary: false - third_party_settings: { } - created: - type: datetime_timestamp - weight: 10 - region: content - settings: { } - third_party_settings: { } - langcode: - type: language_select - weight: 2 - region: content - settings: - include_locked: true - third_party_settings: { } - path: - type: path - weight: 30 - region: content - settings: { } - third_party_settings: { } - promote: - type: boolean_checkbox - weight: 15 - region: content - settings: - display_label: true - third_party_settings: { } - status: - type: boolean_checkbox - weight: 120 - region: content - settings: - display_label: true - third_party_settings: { } - sticky: - type: boolean_checkbox - weight: 16 - region: content - settings: - display_label: true - third_party_settings: { } - title: - type: string_textfield - weight: -5 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - uid: - type: entity_reference_autocomplete - weight: 5 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } -hidden: { } diff --git a/config/export/core.entity_form_display.taxonomy_term.copyright_and_use.default.yml b/config/export/core.entity_form_display.taxonomy_term.copyright_and_use.default.yml deleted file mode 100644 index 09e1600cc..000000000 --- a/config/export/core.entity_form_display.taxonomy_term.copyright_and_use.default.yml +++ /dev/null @@ -1,70 +0,0 @@ -uuid: 514b432e-6b7f-4334-8bab-5c2202278989 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.copyright_and_use.field_authority_link - - field.field.taxonomy_term.copyright_and_use.field_unique_id - - taxonomy.vocabulary.copyright_and_use - module: - - controlled_access_terms - - path - - text -id: taxonomy_term.copyright_and_use.default -targetEntityType: taxonomy_term -bundle: copyright_and_use -mode: default -content: - description: - type: text_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_authority_link: - type: authority_link_default - weight: 101 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - field_unique_id: - type: string_textfield - weight: 102 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - langcode: - type: language_select - weight: 2 - region: content - settings: - include_locked: true - third_party_settings: { } - name: - type: string_textfield - weight: -5 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 30 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 100 - region: content - settings: - display_label: true - third_party_settings: { } -hidden: { } diff --git a/config/export/core.entity_form_display.taxonomy_term.corporate_body.default.yml b/config/export/core.entity_form_display.taxonomy_term.corporate_body.default.yml deleted file mode 100644 index 7c3712533..000000000 --- a/config/export/core.entity_form_display.taxonomy_term.corporate_body.default.yml +++ /dev/null @@ -1,177 +0,0 @@ -uuid: c5a46931-b77b-4993-8752-12b4e1fe64e4 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.corporate_body.field_authority_link - - field.field.taxonomy_term.corporate_body.field_cat_date_begin - - field.field.taxonomy_term.corporate_body.field_cat_date_end - - field.field.taxonomy_term.corporate_body.field_corporate_body_alt_name - - field.field.taxonomy_term.corporate_body.field_date - - field.field.taxonomy_term.corporate_body.field_date_of_meeting_or_treaty - - field.field.taxonomy_term.corporate_body.field_location_of_meeting - - field.field.taxonomy_term.corporate_body.field_num_of_section_or_meet - - field.field.taxonomy_term.corporate_body.field_primary_name - - field.field.taxonomy_term.corporate_body.field_relationships - - field.field.taxonomy_term.corporate_body.field_subordinate_name - - field.field.taxonomy_term.corporate_body.field_type - - field.field.taxonomy_term.corporate_body.field_unique_id - - taxonomy.vocabulary.corporate_body - module: - - controlled_access_terms - - path - - text -_core: - default_config_hash: Z26S89S-0cqYggliefiijqELUP7YKg5MMaf5abqH1Dg -id: taxonomy_term.corporate_body.default -targetEntityType: taxonomy_term -bundle: corporate_body -mode: default -content: - description: - type: text_textarea - weight: 7 - region: content - settings: - rows: 9 - placeholder: '' - third_party_settings: { } - field_authority_link: - type: authority_link_default - weight: 3 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - field_cat_date_begin: - type: edtf_default - weight: 4 - region: content - settings: - strict_dates: false - intervals: false - third_party_settings: { } - field_cat_date_end: - type: edtf_default - weight: 5 - region: content - settings: - strict_dates: false - intervals: false - third_party_settings: { } - field_corporate_body_alt_name: - type: string_textfield - weight: 101 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_date: - type: edtf_default - weight: 106 - region: content - settings: - strict_dates: false - intervals: true - sets: false - third_party_settings: { } - field_date_of_meeting_or_treaty: - type: edtf_default - weight: 102 - region: content - settings: - strict_dates: false - intervals: true - sets: false - third_party_settings: { } - field_location_of_meeting: - type: string_textfield - weight: 103 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_num_of_section_or_meet: - type: string_textfield - weight: 104 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_primary_name: - type: string_textfield - weight: 105 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_relationships: - type: typed_relation_default - weight: 10 - region: content - settings: - match_operator: CONTAINS - size: 60 - placeholder: '' - third_party_settings: { } - field_subordinate_name: - type: string_textfield - weight: 108 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_type: - type: options_select - weight: 1 - region: content - settings: { } - third_party_settings: { } - field_unique_id: - type: string_textfield - weight: 107 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - langcode: - type: language_select - weight: 2 - region: content - settings: - include_locked: true - third_party_settings: { } - name: - type: string_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 2 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 100 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 10 - region: content - settings: { } - third_party_settings: { } -hidden: { } diff --git a/config/export/core.entity_form_display.taxonomy_term.country.default.yml b/config/export/core.entity_form_display.taxonomy_term.country.default.yml deleted file mode 100644 index e78f1dbb1..000000000 --- a/config/export/core.entity_form_display.taxonomy_term.country.default.yml +++ /dev/null @@ -1,68 +0,0 @@ -uuid: 051a95e8-e371-4a04-b141-5209c0a7a3fc -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.country.field_authority_link - - taxonomy.vocabulary.country - module: - - controlled_access_terms - - path - - text -_core: - default_config_hash: jjCMjwGvyxCVjSwFLhyeWDvxXTXWAzxbICOos3vWXPs -id: taxonomy_term.country.default -targetEntityType: taxonomy_term -bundle: country -mode: default -content: - description: - type: text_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_authority_link: - type: authority_link_default - weight: 31 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - langcode: - type: language_select - weight: 2 - region: content - settings: - include_locked: true - third_party_settings: { } - name: - type: string_textfield - weight: -5 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 30 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 100 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 10 - region: content - settings: { } - third_party_settings: { } -hidden: { } diff --git a/config/export/core.entity_form_display.taxonomy_term.family.default.yml b/config/export/core.entity_form_display.taxonomy_term.family.default.yml deleted file mode 100644 index 91abf2a75..000000000 --- a/config/export/core.entity_form_display.taxonomy_term.family.default.yml +++ /dev/null @@ -1,133 +0,0 @@ -uuid: 53b139ea-2c27-4ceb-a964-1a291090979b -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.family.field_authority_link - - field.field.taxonomy_term.family.field_cat_date_begin - - field.field.taxonomy_term.family.field_cat_date_end - - field.field.taxonomy_term.family.field_date - - field.field.taxonomy_term.family.field_family_name - - field.field.taxonomy_term.family.field_relationships - - field.field.taxonomy_term.family.field_title_and_other_words - - field.field.taxonomy_term.family.field_unique_id - - taxonomy.vocabulary.family - module: - - controlled_access_terms - - path - - text -_core: - default_config_hash: BjyADh-LMRM2m1r1SnzCIMX7METfRii5LLfuf8vGb-o -id: taxonomy_term.family.default -targetEntityType: taxonomy_term -bundle: family -mode: default -content: - description: - type: text_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_authority_link: - type: authority_link_default - weight: 122 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - field_cat_date_begin: - type: edtf_default - weight: 8 - region: content - settings: - strict_dates: false - intervals: false - third_party_settings: { } - field_cat_date_end: - type: edtf_default - weight: 9 - region: content - settings: - strict_dates: false - intervals: false - third_party_settings: { } - field_date: - type: edtf_default - weight: 124 - region: content - settings: - strict_dates: false - intervals: true - sets: false - third_party_settings: { } - field_family_name: - type: string_textfield - weight: 125 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_relationships: - type: typed_relation_default - weight: 123 - region: content - settings: - match_operator: CONTAINS - size: 60 - placeholder: '' - third_party_settings: { } - field_title_and_other_words: - type: string_textfield - weight: 126 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_unique_id: - type: string_textfield - weight: 127 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - langcode: - type: language_select - weight: 2 - region: content - settings: - include_locked: true - third_party_settings: { } - name: - type: string_textfield - weight: -5 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 30 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 100 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 10 - region: content - settings: { } - third_party_settings: { } -hidden: { } diff --git a/config/export/core.entity_form_display.taxonomy_term.frequencies.default.yml b/config/export/core.entity_form_display.taxonomy_term.frequencies.default.yml deleted file mode 100644 index f69b7c2e0..000000000 --- a/config/export/core.entity_form_display.taxonomy_term.frequencies.default.yml +++ /dev/null @@ -1,68 +0,0 @@ -uuid: 916bcfb0-6cb8-4ade-92fb-f19a7245a4b3 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.frequencies.field_authority_link - - taxonomy.vocabulary.frequencies - module: - - controlled_access_terms - - path - - text -_core: - default_config_hash: e4LrcJMfC9M33DZk_7wIwjuF7ZQMqeNd9suJxr62Y6A -id: taxonomy_term.frequencies.default -targetEntityType: taxonomy_term -bundle: frequencies -mode: default -content: - description: - type: text_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_authority_link: - type: authority_link_default - weight: 101 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - langcode: - type: language_select - weight: 2 - region: content - settings: - include_locked: true - third_party_settings: { } - name: - type: string_textfield - weight: -5 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 30 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 100 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 10 - region: content - settings: { } - third_party_settings: { } -hidden: { } diff --git a/config/export/core.entity_form_display.taxonomy_term.genre.default.yml b/config/export/core.entity_form_display.taxonomy_term.genre.default.yml deleted file mode 100644 index 03584b072..000000000 --- a/config/export/core.entity_form_display.taxonomy_term.genre.default.yml +++ /dev/null @@ -1,77 +0,0 @@ -uuid: 8a199d96-8a74-4023-8371-d5dc54c085bd -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.genre.field_authority_link - - field.field.taxonomy_term.genre.field_unique_id - - taxonomy.vocabulary.genre - module: - - controlled_access_terms - - path - - text -_core: - default_config_hash: 3NcYhdVDz3Ze-NzJuK_Xzqi33TJmBFiKpiPgS8Z0izc -id: taxonomy_term.genre.default -targetEntityType: taxonomy_term -bundle: genre -mode: default -content: - description: - type: text_textarea - weight: 0 - region: content - settings: - placeholder: '' - size: 60 - third_party_settings: { } - field_authority_link: - type: authority_link_default - weight: 2 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - field_unique_id: - type: string_textfield - weight: 101 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - langcode: - type: language_select - weight: 2 - region: content - settings: - include_locked: true - third_party_settings: { } - name: - type: string_textfield - weight: -5 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 30 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 100 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 10 - region: content - settings: { } - third_party_settings: { } -hidden: { } diff --git a/config/export/core.entity_form_display.taxonomy_term.geo_location.default.yml b/config/export/core.entity_form_display.taxonomy_term.geo_location.default.yml deleted file mode 100644 index eab9f4b39..000000000 --- a/config/export/core.entity_form_display.taxonomy_term.geo_location.default.yml +++ /dev/null @@ -1,109 +0,0 @@ -uuid: f35a007e-82cd-418b-b765-b67ba61c78ea -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.geo_location.field_authority_link - - field.field.taxonomy_term.geo_location.field_broader - - field.field.taxonomy_term.geo_location.field_geo_alt_name - - field.field.taxonomy_term.geo_location.field_geo_geolocation - - field.field.taxonomy_term.geo_location.field_unique_id - - taxonomy.vocabulary.geo_location - module: - - controlled_access_terms - - geolocation - - link - - path - - text -_core: - default_config_hash: i7uRsqg6AGmJND-V2OR0NAM8KUwrvk4Nbt2DYNEhnlI -id: taxonomy_term.geo_location.default -targetEntityType: taxonomy_term -bundle: geo_location -mode: default -content: - description: - type: text_textfield - weight: 5 - region: content - settings: - placeholder: '' - rows: 9 - summary_rows: 3 - third_party_settings: { } - field_authority_link: - type: authority_link_default - weight: 3 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - field_broader: - type: link_default - weight: 29 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - field_geo_alt_name: - type: string_textfield - weight: 26 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_geo_geolocation: - type: geolocation_latlng - weight: 4 - region: content - settings: { } - third_party_settings: { } - field_unique_id: - type: string_textfield - weight: 28 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - langcode: - type: language_select - weight: 2 - region: content - settings: - include_locked: true - third_party_settings: { } - name: - type: string_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 1 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 2 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 10 - region: content - settings: { } - third_party_settings: { } -hidden: - created: true - promote: true - sticky: true - uid: true diff --git a/config/export/core.entity_form_display.taxonomy_term.islandora_display.default.yml b/config/export/core.entity_form_display.taxonomy_term.islandora_display.default.yml deleted file mode 100644 index 9e0ba58be..000000000 --- a/config/export/core.entity_form_display.taxonomy_term.islandora_display.default.yml +++ /dev/null @@ -1,66 +0,0 @@ -uuid: 0b9a0a73-2728-477a-beed-66f6d783b750 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.islandora_display.field_external_uri - - taxonomy.vocabulary.islandora_display - module: - - link - - path - - text -_core: - default_config_hash: BKrU19uYOV9lkGmYByQBzELCBoSQpme1Xg9bgdNUdNM -id: taxonomy_term.islandora_display.default -targetEntityType: taxonomy_term -bundle: islandora_display -mode: default -content: - description: - type: text_textarea - weight: 1 - region: content - settings: - rows: 5 - placeholder: '' - third_party_settings: { } - field_external_uri: - type: link_default - weight: 2 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - langcode: - type: language_select - weight: 3 - region: content - settings: - include_locked: true - third_party_settings: { } - name: - type: string_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 4 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 100 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 10 - region: content -hidden: { } diff --git a/config/export/core.entity_form_display.taxonomy_term.islandora_media_use.default.yml b/config/export/core.entity_form_display.taxonomy_term.islandora_media_use.default.yml deleted file mode 100644 index 78066b63f..000000000 --- a/config/export/core.entity_form_display.taxonomy_term.islandora_media_use.default.yml +++ /dev/null @@ -1,68 +0,0 @@ -uuid: c58a25a7-6300-47db-9855-9baf65a8ce55 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.islandora_media_use.field_external_uri - - taxonomy.vocabulary.islandora_media_use - module: - - link - - path - - text -_core: - default_config_hash: j5yJaNcQl6teTfPQonPyQC4t_WudF4iEzIPxxwC-81o -id: taxonomy_term.islandora_media_use.default -targetEntityType: taxonomy_term -bundle: islandora_media_use -mode: default -content: - description: - type: text_textarea - weight: 1 - region: content - settings: - rows: 5 - placeholder: '' - third_party_settings: { } - field_external_uri: - type: link_default - weight: 2 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - langcode: - type: language_select - weight: 3 - region: content - settings: - include_locked: true - third_party_settings: { } - name: - type: string_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 5 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 100 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 4 - region: content - settings: { } - third_party_settings: { } -hidden: { } diff --git a/config/export/core.entity_form_display.taxonomy_term.islandora_models.default.yml b/config/export/core.entity_form_display.taxonomy_term.islandora_models.default.yml deleted file mode 100644 index 9b690f13c..000000000 --- a/config/export/core.entity_form_display.taxonomy_term.islandora_models.default.yml +++ /dev/null @@ -1,68 +0,0 @@ -uuid: 539b09f8-696d-4fa6-9136-4bd25362a4f2 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.islandora_models.field_external_uri - - taxonomy.vocabulary.islandora_models - module: - - link - - path - - text -_core: - default_config_hash: '-r2-EeiU1FvA8VH1oRACzmiK9EYTflb0ITtbPnTxmS0' -id: taxonomy_term.islandora_models.default -targetEntityType: taxonomy_term -bundle: islandora_models -mode: default -content: - description: - type: text_textarea - weight: 1 - region: content - settings: - rows: 5 - placeholder: '' - third_party_settings: { } - field_external_uri: - type: link_default - weight: 2 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - langcode: - type: language_select - weight: 3 - region: content - settings: - include_locked: true - third_party_settings: { } - name: - type: string_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 5 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 100 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 4 - region: content - settings: { } - third_party_settings: { } -hidden: { } diff --git a/config/export/core.entity_form_display.taxonomy_term.issuance_modes.default.yml b/config/export/core.entity_form_display.taxonomy_term.issuance_modes.default.yml deleted file mode 100644 index f77b6799e..000000000 --- a/config/export/core.entity_form_display.taxonomy_term.issuance_modes.default.yml +++ /dev/null @@ -1,68 +0,0 @@ -uuid: f3ac5fb6-803f-4453-84ec-9aca225d3d2b -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.issuance_modes.field_authority_link - - taxonomy.vocabulary.issuance_modes - module: - - controlled_access_terms - - path - - text -_core: - default_config_hash: _j-CqXI61yrP5UpxIGFA1jlElMDGRnTZu9FLOHGMeOU -id: taxonomy_term.issuance_modes.default -targetEntityType: taxonomy_term -bundle: issuance_modes -mode: default -content: - description: - type: text_textarea - weight: 1 - region: content - settings: - rows: 5 - placeholder: '' - third_party_settings: { } - field_authority_link: - type: authority_link_default - weight: 2 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - langcode: - type: language_select - weight: 3 - region: content - settings: - include_locked: true - third_party_settings: { } - name: - type: string_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 5 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 6 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 4 - region: content - settings: { } - third_party_settings: { } -hidden: { } diff --git a/config/export/core.entity_form_display.taxonomy_term.language.default.yml b/config/export/core.entity_form_display.taxonomy_term.language.default.yml deleted file mode 100644 index c1b668c4d..000000000 --- a/config/export/core.entity_form_display.taxonomy_term.language.default.yml +++ /dev/null @@ -1,68 +0,0 @@ -uuid: a9581693-7ee5-4564-b793-c0a045f92068 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.language.field_authority_link - - taxonomy.vocabulary.language - module: - - controlled_access_terms - - path - - text -_core: - default_config_hash: C56opIwc14F8xGc0jbrPwVD4KSyLuhoBDfJT-3VUCUw -id: taxonomy_term.language.default -targetEntityType: taxonomy_term -bundle: language -mode: default -content: - description: - type: text_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_authority_link: - type: authority_link_default - weight: 101 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - langcode: - type: language_select - weight: 2 - region: content - settings: - include_locked: true - third_party_settings: { } - name: - type: string_textfield - weight: -5 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 30 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 100 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 10 - region: content - settings: { } - third_party_settings: { } -hidden: { } diff --git a/config/export/core.entity_form_display.taxonomy_term.person.default.yml b/config/export/core.entity_form_display.taxonomy_term.person.default.yml deleted file mode 100644 index e213fbe5a..000000000 --- a/config/export/core.entity_form_display.taxonomy_term.person.default.yml +++ /dev/null @@ -1,181 +0,0 @@ -uuid: bf6b358a-55bf-47de-a39c-8dd73cb49a91 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.person.field_authority_link - - field.field.taxonomy_term.person.field_cat_date_begin - - field.field.taxonomy_term.person.field_cat_date_end - - field.field.taxonomy_term.person.field_date - - field.field.taxonomy_term.person.field_person_alternate_name - - field.field.taxonomy_term.person.field_preferred_name_fuller_form - - field.field.taxonomy_term.person.field_preferred_name_number - - field.field.taxonomy_term.person.field_preferred_name_prefix - - field.field.taxonomy_term.person.field_preferred_name_rest - - field.field.taxonomy_term.person.field_preferred_name_suffix - - field.field.taxonomy_term.person.field_primary_part_of_name - - field.field.taxonomy_term.person.field_relationships - - field.field.taxonomy_term.person.field_unique_id - - taxonomy.vocabulary.person - module: - - controlled_access_terms - - path - - text -_core: - default_config_hash: lJpvaB2FNcQ3KUo85b0QbrBtpeX38YpRlPXskVn8p5k -id: taxonomy_term.person.default -targetEntityType: taxonomy_term -bundle: person -mode: default -content: - description: - type: text_textarea - weight: 5 - region: content - settings: - rows: 9 - placeholder: '' - third_party_settings: { } - field_authority_link: - type: authority_link_default - weight: 1 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - field_cat_date_begin: - type: edtf_default - weight: 7 - region: content - settings: - strict_dates: false - intervals: false - sets: false - third_party_settings: { } - field_cat_date_end: - type: edtf_default - weight: 8 - region: content - settings: - strict_dates: false - intervals: false - sets: false - third_party_settings: { } - field_date: - type: edtf_default - weight: 19 - region: content - settings: - strict_dates: false - intervals: true - sets: false - third_party_settings: { } - field_person_alternate_name: - type: string_textfield - weight: 11 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_preferred_name_fuller_form: - type: string_textfield - weight: 12 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_preferred_name_number: - type: string_textfield - weight: 13 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_preferred_name_prefix: - type: string_textfield - weight: 14 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_preferred_name_rest: - type: string_textfield - weight: 16 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_preferred_name_suffix: - type: string_textfield - weight: 17 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_primary_part_of_name: - type: string_textfield - weight: 15 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_relationships: - type: typed_relation_default - weight: 9 - region: content - settings: - match_operator: CONTAINS - size: 60 - placeholder: '' - match_limit: 10 - third_party_settings: { } - field_unique_id: - type: string_textfield - weight: 18 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - langcode: - type: language_select - weight: 2 - region: content - settings: - include_locked: true - third_party_settings: { } - name: - type: string_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 3 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 10 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 6 - region: content - settings: { } - third_party_settings: { } -hidden: { } diff --git a/config/export/core.entity_form_display.taxonomy_term.physical_form.default.yml b/config/export/core.entity_form_display.taxonomy_term.physical_form.default.yml deleted file mode 100644 index 2d0fb551f..000000000 --- a/config/export/core.entity_form_display.taxonomy_term.physical_form.default.yml +++ /dev/null @@ -1,68 +0,0 @@ -uuid: fe39faf5-c14b-4d95-8a5f-48bddb1d7896 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.physical_form.field_authority_link - - taxonomy.vocabulary.physical_form - module: - - controlled_access_terms - - path - - text -_core: - default_config_hash: FALkpj92dP_sBubaUE4lQ7bCKP53BZRSCTthWZ6FhyY -id: taxonomy_term.physical_form.default -targetEntityType: taxonomy_term -bundle: physical_form -mode: default -content: - description: - type: text_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_authority_link: - type: authority_link_default - weight: 31 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - langcode: - type: language_select - weight: 2 - region: content - settings: - include_locked: true - third_party_settings: { } - name: - type: string_textfield - weight: -5 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 30 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 100 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 10 - region: content - settings: { } - third_party_settings: { } -hidden: { } diff --git a/config/export/core.entity_form_display.taxonomy_term.resource_types.default.yml b/config/export/core.entity_form_display.taxonomy_term.resource_types.default.yml deleted file mode 100644 index 363d6fdbc..000000000 --- a/config/export/core.entity_form_display.taxonomy_term.resource_types.default.yml +++ /dev/null @@ -1,68 +0,0 @@ -uuid: 8449e6f4-5ecb-4c36-be18-81cf90071f0d -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.resource_types.field_authority_link - - taxonomy.vocabulary.resource_types - module: - - link - - path - - text -_core: - default_config_hash: Osl9c_Yf9MjIGTvFaf1MgaLn7-g6shLhCPymeG2iKt8 -id: taxonomy_term.resource_types.default -targetEntityType: taxonomy_term -bundle: resource_types -mode: default -content: - description: - type: text_textarea - weight: 1 - region: content - settings: - rows: 5 - placeholder: '' - third_party_settings: { } - field_authority_link: - type: link_default - weight: 2 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - langcode: - type: language_select - weight: 3 - region: content - settings: - include_locked: true - third_party_settings: { } - name: - type: string_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 5 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 100 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 4 - region: content - settings: { } - third_party_settings: { } -hidden: { } diff --git a/config/export/core.entity_form_display.taxonomy_term.subject.default.yml b/config/export/core.entity_form_display.taxonomy_term.subject.default.yml deleted file mode 100644 index a9d12084e..000000000 --- a/config/export/core.entity_form_display.taxonomy_term.subject.default.yml +++ /dev/null @@ -1,78 +0,0 @@ -uuid: 295e8729-fc6f-43c8-8ce8-60258850b7cf -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.subject.field_authority_link - - field.field.taxonomy_term.subject.field_unique_id - - taxonomy.vocabulary.subject - module: - - controlled_access_terms - - path - - text -_core: - default_config_hash: _QSjbT7vTynU0RBGcZLX31hEIL3SXszK9Zt30QuJ07A -id: taxonomy_term.subject.default -targetEntityType: taxonomy_term -bundle: subject -mode: default -content: - description: - type: text_textfield - weight: 121 - region: content - settings: - placeholder: '' - rows: 9 - summary_rows: 3 - third_party_settings: { } - field_authority_link: - type: authority_link_default - weight: 123 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - field_unique_id: - type: string_textfield - weight: 124 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - langcode: - type: language_select - weight: 2 - region: content - settings: - include_locked: true - third_party_settings: { } - name: - type: string_textfield - weight: -5 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 30 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 100 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 10 - region: content - settings: { } - third_party_settings: { } -hidden: { } diff --git a/config/export/core.entity_form_display.taxonomy_term.temporal_subjects.default.yml b/config/export/core.entity_form_display.taxonomy_term.temporal_subjects.default.yml deleted file mode 100644 index 50a51a988..000000000 --- a/config/export/core.entity_form_display.taxonomy_term.temporal_subjects.default.yml +++ /dev/null @@ -1,68 +0,0 @@ -uuid: 076daa0b-d43d-4b45-a22f-50b270418ac9 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.temporal_subjects.field_authority_link - - taxonomy.vocabulary.temporal_subjects - module: - - controlled_access_terms - - path - - text -_core: - default_config_hash: MGm_H0jvw6Kixq5XAdLcR-H4I6Lr_9AplPWMBsVqubA -id: taxonomy_term.temporal_subjects.default -targetEntityType: taxonomy_term -bundle: temporal_subjects -mode: default -content: - description: - type: text_textfield - weight: 0 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - field_authority_link: - type: authority_link_default - weight: 101 - region: content - settings: - placeholder_url: '' - placeholder_title: '' - third_party_settings: { } - langcode: - type: language_select - weight: 2 - region: content - settings: - include_locked: true - third_party_settings: { } - name: - type: string_textfield - weight: -5 - region: content - settings: - size: 60 - placeholder: '' - third_party_settings: { } - path: - type: path - weight: 30 - region: content - settings: { } - third_party_settings: { } - status: - type: boolean_checkbox - weight: 100 - region: content - settings: - display_label: true - third_party_settings: { } - translation: - weight: 10 - region: content - settings: { } - third_party_settings: { } -hidden: { } diff --git a/config/export/core.entity_form_display.user.user.default.yml b/config/export/core.entity_form_display.user.user.default.yml deleted file mode 100644 index c3883bd4f..000000000 --- a/config/export/core.entity_form_display.user.user.default.yml +++ /dev/null @@ -1,50 +0,0 @@ -uuid: 52d5e687-5f6f-449e-a757-2b49f8127fbf -langcode: en -status: true -dependencies: - config: - - field.field.user.user.user_picture - - image.style.thumbnail - module: - - image - - user -_core: - default_config_hash: FaQ9Ptcpxpg30AtiqRDtl_8zbJArHP1LPfug_s59TOA -id: user.user.default -targetEntityType: user -bundle: user -mode: default -content: - account: - weight: -10 - region: content - contact: - weight: 5 - region: content - language: - weight: 0 - region: content - matomo: - weight: 3 - region: content - settings: { } - third_party_settings: { } - path: - type: path - weight: 30 - region: content - settings: { } - third_party_settings: { } - timezone: - weight: 6 - region: content - user_picture: - type: image_image - weight: -1 - region: content - settings: - progress_indicator: throbber - preview_image_style: thumbnail - third_party_settings: { } -hidden: - langcode: true diff --git a/config/export/core.entity_form_mode.user.register.yml b/config/export/core.entity_form_mode.user.register.yml deleted file mode 100644 index 9c320144d..000000000 --- a/config/export/core.entity_form_mode.user.register.yml +++ /dev/null @@ -1,12 +0,0 @@ -uuid: f6e3baf9-6142-489f-b7bc-aa726d8ae7df -langcode: en -status: true -dependencies: - module: - - user -_core: - default_config_hash: flXhTcp55yLcyy7ZLOhPGKGZobZQJdkAFVWV3LseiuI -id: user.register -label: Register -targetEntityType: user -cache: true diff --git a/config/export/core.entity_view_display.block_content.basic.default.yml b/config/export/core.entity_view_display.block_content.basic.default.yml deleted file mode 100644 index 8e4ddc568..000000000 --- a/config/export/core.entity_view_display.block_content.basic.default.yml +++ /dev/null @@ -1,26 +0,0 @@ -uuid: 0edb068f-8683-418e-83ef-d22346ccb5a4 -langcode: en -status: true -dependencies: - config: - - block_content.type.basic - - field.field.block_content.basic.body - module: - - text -_core: - default_config_hash: hBNNDTFwakREOTa6GGMqN899Iyrii0hInwSJtQ7Kj30 -id: block_content.basic.default -targetEntityType: block_content -bundle: basic -mode: default -content: - body: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 0 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.comment.comment.default.yml b/config/export/core.entity_view_display.comment.comment.default.yml deleted file mode 100644 index 23e019758..000000000 --- a/config/export/core.entity_view_display.comment.comment.default.yml +++ /dev/null @@ -1,29 +0,0 @@ -uuid: 55613f69-35a0-4f16-a286-9f4bb0421611 -langcode: en -status: true -dependencies: - config: - - comment.type.comment - - field.field.comment.comment.comment_body - module: - - text -_core: - default_config_hash: aBQUGsQ46M4048fIlFuTXwl2zV0j2cJX89CTUobh9hA -id: comment.comment.default -targetEntityType: comment -bundle: comment -mode: default -content: - comment_body: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 0 - region: content - links: - weight: 100 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.media.audio.default.yml b/config/export/core.entity_view_display.media.audio.default.yml deleted file mode 100644 index 8dfe33ea3..000000000 --- a/config/export/core.entity_view_display.media.audio.default.yml +++ /dev/null @@ -1,93 +0,0 @@ -uuid: 5b7add9a-d106-4f8a-a512-57752c119005 -langcode: en -status: true -dependencies: - config: - - field.field.media.audio.field_file_size - - field.field.media.audio.field_media_audio_file - - field.field.media.audio.field_media_of - - field.field.media.audio.field_media_use - - field.field.media.audio.field_mime_type - - field.field.media.audio.field_original_name - - field.field.media.audio.field_track - - media.type.audio - module: - - islandora_audio -_core: - default_config_hash: 2FZ_TcS2MGA5tQMskHrjKwJ_ucnDEdIfsnMG5MHhjyA -id: media.audio.default -targetEntityType: media -bundle: audio -mode: default -content: - field_file_size: - type: number_integer - label: above - settings: - thousand_separator: '' - prefix_suffix: true - third_party_settings: { } - weight: 3 - region: content - field_gemini_uri: - settings: { } - third_party_settings: { } - weight: 100 - region: content - field_media_audio_file: - type: islandora_file_audio - label: visually_hidden - settings: - controls: true - autoplay: false - loop: false - multiple_file_display_type: tags - third_party_settings: { } - weight: 1 - region: content - field_media_of: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 4 - region: content - field_media_use: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 5 - region: content - field_mime_type: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 2 - region: content - field_original_name: - type: basic_string - label: above - settings: { } - third_party_settings: { } - weight: 101 - region: content - name: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - field_track: true - langcode: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.audio.file_download.yml b/config/export/core.entity_view_display.media.audio.file_download.yml deleted file mode 100644 index b5e44a868..000000000 --- a/config/export/core.entity_view_display.media.audio.file_download.yml +++ /dev/null @@ -1,46 +0,0 @@ -uuid: d967c8ef-8d1d-45bc-a320-d269ecf1666c -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.media.file_download - - field.field.media.audio.field_file_size - - field.field.media.audio.field_media_audio_file - - field.field.media.audio.field_media_of - - field.field.media.audio.field_media_use - - field.field.media.audio.field_mime_type - - field.field.media.audio.field_original_name - - field.field.media.audio.field_track - - media.type.audio - module: - - filehash -_core: - default_config_hash: 2FZ_TcS2MGA5tQMskHrjKwJ_ucnDEdIfsnMG5MHhjyA -id: media.audio.file_download -targetEntityType: media -bundle: audio -mode: file_download -content: - field_media_audio_file: - type: filehash_table - label: visually_hidden - settings: - algo: sha1 - use_description_as_link_text: true - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - field_file_size: true - field_gemini_uri: true - field_media_of: true - field_media_use: true - field_mime_type: true - field_original_name: true - field_track: true - langcode: true - name: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.audio.source.yml b/config/export/core.entity_view_display.media.audio.source.yml deleted file mode 100644 index b3fa917ec..000000000 --- a/config/export/core.entity_view_display.media.audio.source.yml +++ /dev/null @@ -1,52 +0,0 @@ -uuid: dd97dd58-f360-444f-8c2a-9edbf8b85ce1 -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.media.source - - field.field.media.audio.field_file_size - - field.field.media.audio.field_media_audio_file - - field.field.media.audio.field_media_of - - field.field.media.audio.field_media_use - - field.field.media.audio.field_mime_type - - field.field.media.audio.field_original_name - - field.field.media.audio.field_track - - media.type.audio - module: - - islandora_audio -_core: - default_config_hash: WkacGkCcx7wkdncVI8sq5snOYKKAD2URkVHjFnqsXHE -id: media.audio.source -targetEntityType: media -bundle: audio -mode: source -content: - field_gemini_uri: - settings: { } - third_party_settings: { } - weight: 100 - region: content - field_media_audio_file: - type: islandora_file_audio - label: visually_hidden - settings: - controls: true - autoplay: false - loop: false - multiple_file_display_type: tags - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - field_file_size: true - field_media_of: true - field_media_use: true - field_mime_type: true - field_original_name: true - field_track: true - langcode: true - name: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.document.default.yml b/config/export/core.entity_view_display.media.document.default.yml deleted file mode 100644 index 4b359e652..000000000 --- a/config/export/core.entity_view_display.media.document.default.yml +++ /dev/null @@ -1,90 +0,0 @@ -uuid: fe1b5651-e739-40e5-a6a7-45a6c31aef41 -langcode: en -status: true -dependencies: - config: - - field.field.media.document.field_display_mode_for_viewer - - field.field.media.document.field_file_size - - field.field.media.document.field_media_document - - field.field.media.document.field_media_of - - field.field.media.document.field_media_use - - field.field.media.document.field_mime_type - - field.field.media.document.field_original_name - - media.type.document - module: - - file -_core: - default_config_hash: 4yXGTC9oOSH5Olk67Ro48R69mP2Ya6EKedPLK10f-nM -id: media.document.default -targetEntityType: media -bundle: document -mode: default -content: - field_file_size: - type: number_integer - label: above - settings: - thousand_separator: '' - prefix_suffix: true - third_party_settings: { } - weight: 3 - region: content - field_gemini_uri: - settings: { } - third_party_settings: { } - weight: 100 - region: content - field_media_document: - type: file_default - label: visually_hidden - settings: - use_description_as_link_text: true - third_party_settings: { } - weight: 1 - region: content - field_media_of: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 4 - region: content - field_media_use: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 5 - region: content - field_mime_type: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 2 - region: content - field_original_name: - type: basic_string - label: above - settings: { } - third_party_settings: { } - weight: 6 - region: content - name: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - field_display_mode_for_viewer: true - langcode: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.document.file_download.yml b/config/export/core.entity_view_display.media.document.file_download.yml deleted file mode 100644 index 0ae65afb6..000000000 --- a/config/export/core.entity_view_display.media.document.file_download.yml +++ /dev/null @@ -1,50 +0,0 @@ -uuid: 7bc8f412-336b-4a2d-91e6-e0b94f380a6f -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.media.file_download - - field.field.media.document.field_display_mode_for_viewer - - field.field.media.document.field_file_size - - field.field.media.document.field_media_document - - field.field.media.document.field_media_of - - field.field.media.document.field_media_use - - field.field.media.document.field_mime_type - - field.field.media.document.field_original_name - - media.type.document - module: - - filehash -_core: - default_config_hash: 4yXGTC9oOSH5Olk67Ro48R69mP2Ya6EKedPLK10f-nM -id: media.document.file_download -targetEntityType: media -bundle: document -mode: file_download -content: - field_gemini_uri: - settings: { } - third_party_settings: { } - weight: 100 - region: content - field_media_document: - type: filehash_table - label: visually_hidden - settings: - algo: sha1 - use_description_as_link_text: true - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - field_display_mode_for_viewer: true - field_file_size: true - field_media_of: true - field_media_use: true - field_mime_type: true - field_original_name: true - langcode: true - name: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.document.pdfjs.yml b/config/export/core.entity_view_display.media.document.pdfjs.yml deleted file mode 100644 index b95063607..000000000 --- a/config/export/core.entity_view_display.media.document.pdfjs.yml +++ /dev/null @@ -1,51 +0,0 @@ -uuid: c8666889-2738-4390-845d-9c6765313f67 -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.media.pdfjs - - field.field.media.document.field_display_mode_for_viewer - - field.field.media.document.field_file_size - - field.field.media.document.field_media_document - - field.field.media.document.field_media_of - - field.field.media.document.field_media_use - - field.field.media.document.field_mime_type - - field.field.media.document.field_original_name - - media.type.document - module: - - pdf -_core: - default_config_hash: 6vOcvK9Iktr-wVFR-MWAJpJbmAMpLs0JBrBVHFoOdcQ -id: media.document.pdfjs -targetEntityType: media -bundle: document -mode: pdfjs -content: - field_media_document: - type: pdf_default - label: visually_hidden - settings: - keep_pdfjs: '1' - width: 100% - height: 640px - page: '' - zoom: '' - custom_zoom: '' - pagemode: '' - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - field_display_mode_for_viewer: true - field_file_size: true - field_gemini_uri: true - field_media_of: true - field_media_use: true - field_mime_type: true - field_original_name: true - langcode: true - name: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.document.source.yml b/config/export/core.entity_view_display.media.document.source.yml deleted file mode 100644 index c07076690..000000000 --- a/config/export/core.entity_view_display.media.document.source.yml +++ /dev/null @@ -1,45 +0,0 @@ -uuid: dc30dd56-c45d-42d1-8a66-58378a5511cc -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.media.source - - field.field.media.document.field_display_mode_for_viewer - - field.field.media.document.field_file_size - - field.field.media.document.field_media_document - - field.field.media.document.field_media_of - - field.field.media.document.field_media_use - - field.field.media.document.field_mime_type - - field.field.media.document.field_original_name - - media.type.document - module: - - file -_core: - default_config_hash: 7dZMpQQwFR4OCRiqsp83SE85Nmq_SgDsgdIOMXpNxmI -id: media.document.source -targetEntityType: media -bundle: document -mode: source -content: - field_media_document: - type: file_default - label: hidden - settings: - use_description_as_link_text: true - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - field_display_mode_for_viewer: true - field_file_size: true - field_gemini_uri: true - field_media_of: true - field_media_use: true - field_mime_type: true - field_original_name: true - langcode: true - name: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.extracted_text.default.yml b/config/export/core.entity_view_display.media.extracted_text.default.yml deleted file mode 100644 index 3994059ab..000000000 --- a/config/export/core.entity_view_display.media.extracted_text.default.yml +++ /dev/null @@ -1,69 +0,0 @@ -uuid: 5195a688-8a5b-4467-9d83-7d2a98ee06ae -langcode: en -status: true -dependencies: - config: - - field.field.media.extracted_text.field_edited_text - - field.field.media.extracted_text.field_media_file - - field.field.media.extracted_text.field_media_of - - field.field.media.extracted_text.field_media_use - - field.field.media.extracted_text.field_mime_type - - media.type.extracted_text - module: - - file - - text - - user -_core: - default_config_hash: 98rg2WZr7qjNh0gmlzYQcToIh749Znv-1ZYBDHYSAwc -id: media.extracted_text.default -targetEntityType: media -bundle: extracted_text -mode: default -content: - created: - type: timestamp - label: hidden - settings: - date_format: medium - custom_date_format: '' - timezone: '' - third_party_settings: { } - weight: 1 - region: content - field_edited_text: - type: text_default - label: above - settings: { } - third_party_settings: { } - weight: 3 - region: content - field_media_file: - type: file_default - label: above - settings: - use_description_as_link_text: true - third_party_settings: { } - weight: 2 - region: content - field_media_of: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 4 - region: content - uid: - type: author - label: hidden - settings: { } - third_party_settings: { } - weight: 0 - region: content -hidden: - field_media_use: true - field_mime_type: true - langcode: true - name: true - search_api_excerpt: true - thumbnail: true diff --git a/config/export/core.entity_view_display.media.file.default.yml b/config/export/core.entity_view_display.media.file.default.yml deleted file mode 100644 index 53c847eed..000000000 --- a/config/export/core.entity_view_display.media.file.default.yml +++ /dev/null @@ -1,90 +0,0 @@ -uuid: 5705a395-c403-4b35-a411-ff3460ecebea -langcode: en -status: true -dependencies: - config: - - field.field.media.file.field_display_mode_for_viewer - - field.field.media.file.field_file_size - - field.field.media.file.field_media_file - - field.field.media.file.field_media_of - - field.field.media.file.field_media_use - - field.field.media.file.field_mime_type - - field.field.media.file.field_original_name - - media.type.file - module: - - file -_core: - default_config_hash: xvDrCk0MLOxsyqOt9bqbAvT-qq1yONc-knLG55Rf9Aw -id: media.file.default -targetEntityType: media -bundle: file -mode: default -content: - field_file_size: - type: number_integer - label: above - settings: - thousand_separator: '' - prefix_suffix: true - third_party_settings: { } - weight: 5 - region: content - field_gemini_uri: - settings: { } - third_party_settings: { } - weight: 6 - region: content - field_media_file: - type: file_default - label: visually_hidden - settings: - use_description_as_link_text: true - third_party_settings: { } - weight: 1 - region: content - field_media_of: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 4 - region: content - field_media_use: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 3 - region: content - field_mime_type: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 2 - region: content - field_original_name: - type: basic_string - label: above - settings: { } - third_party_settings: { } - weight: 7 - region: content - name: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - field_display_mode_for_viewer: true - langcode: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.file.file_download.yml b/config/export/core.entity_view_display.media.file.file_download.yml deleted file mode 100644 index 0fb4cb915..000000000 --- a/config/export/core.entity_view_display.media.file.file_download.yml +++ /dev/null @@ -1,46 +0,0 @@ -uuid: e8adec66-2bdf-42b3-ba6e-18dbac816166 -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.media.file_download - - field.field.media.file.field_display_mode_for_viewer - - field.field.media.file.field_file_size - - field.field.media.file.field_media_file - - field.field.media.file.field_media_of - - field.field.media.file.field_media_use - - field.field.media.file.field_mime_type - - field.field.media.file.field_original_name - - media.type.file - module: - - filehash -_core: - default_config_hash: xvDrCk0MLOxsyqOt9bqbAvT-qq1yONc-knLG55Rf9Aw -id: media.file.file_download -targetEntityType: media -bundle: file -mode: file_download -content: - field_media_file: - type: filehash_table - label: visually_hidden - settings: - algo: sha1 - use_description_as_link_text: true - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - field_display_mode_for_viewer: true - field_file_size: true - field_gemini_uri: true - field_media_of: true - field_media_use: true - field_mime_type: true - field_original_name: true - langcode: true - name: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.file.open_seadragon.yml b/config/export/core.entity_view_display.media.file.open_seadragon.yml deleted file mode 100644 index 5be683dd1..000000000 --- a/config/export/core.entity_view_display.media.file.open_seadragon.yml +++ /dev/null @@ -1,44 +0,0 @@ -uuid: b29b4c2b-8eed-46eb-a64b-4c89f83a51b9 -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.media.open_seadragon - - field.field.media.file.field_display_mode_for_viewer - - field.field.media.file.field_file_size - - field.field.media.file.field_media_file - - field.field.media.file.field_media_of - - field.field.media.file.field_media_use - - field.field.media.file.field_mime_type - - field.field.media.file.field_original_name - - media.type.file - module: - - openseadragon -_core: - default_config_hash: 1RU-4AH3ijXEa2J5JyfU1PqmtJfgLfPLCQL9qkNDb0U -id: media.file.open_seadragon -targetEntityType: media -bundle: file -mode: open_seadragon -content: - field_media_file: - type: openseadragon_image - label: hidden - settings: { } - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - field_display_mode_for_viewer: true - field_file_size: true - field_gemini_uri: true - field_media_of: true - field_media_use: true - field_mime_type: true - field_original_name: true - langcode: true - name: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.file.pdfjs.yml b/config/export/core.entity_view_display.media.file.pdfjs.yml deleted file mode 100644 index 42c74a2ed..000000000 --- a/config/export/core.entity_view_display.media.file.pdfjs.yml +++ /dev/null @@ -1,51 +0,0 @@ -uuid: 3c858f32-8f9c-4ad8-928a-c56bb8529b4c -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.media.pdfjs - - field.field.media.file.field_display_mode_for_viewer - - field.field.media.file.field_file_size - - field.field.media.file.field_media_file - - field.field.media.file.field_media_of - - field.field.media.file.field_media_use - - field.field.media.file.field_mime_type - - field.field.media.file.field_original_name - - media.type.file - module: - - pdf -_core: - default_config_hash: yAsoVBXZAeFYwVJ93Pwvjp8njirRyKVR1oZyGQa-pus -id: media.file.pdfjs -targetEntityType: media -bundle: file -mode: pdfjs -content: - field_media_file: - type: pdf_default - label: visually_hidden - settings: - keep_pdfjs: '1' - width: 100% - height: 640px - page: '' - zoom: '' - custom_zoom: '' - pagemode: '' - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - field_display_mode_for_viewer: true - field_file_size: true - field_gemini_uri: true - field_media_of: true - field_media_use: true - field_mime_type: true - field_original_name: true - langcode: true - name: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.file.source.yml b/config/export/core.entity_view_display.media.file.source.yml deleted file mode 100644 index 0b9722f56..000000000 --- a/config/export/core.entity_view_display.media.file.source.yml +++ /dev/null @@ -1,45 +0,0 @@ -uuid: 983b1e7c-02b0-42a1-ba82-8fa84f3110f9 -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.media.source - - field.field.media.file.field_display_mode_for_viewer - - field.field.media.file.field_file_size - - field.field.media.file.field_media_file - - field.field.media.file.field_media_of - - field.field.media.file.field_media_use - - field.field.media.file.field_mime_type - - field.field.media.file.field_original_name - - media.type.file - module: - - file -_core: - default_config_hash: fycfkDR1DcjLO5Lm6dWvsqBM45Mzl_EycZf83fqH2IU -id: media.file.source -targetEntityType: media -bundle: file -mode: source -content: - field_media_file: - type: file_default - label: hidden - settings: - use_description_as_link_text: true - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - field_display_mode_for_viewer: true - field_file_size: true - field_gemini_uri: true - field_media_of: true - field_media_use: true - field_mime_type: true - field_original_name: true - langcode: true - name: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.fits_technical_metadata.default.yml b/config/export/core.entity_view_display.media.fits_technical_metadata.default.yml deleted file mode 100644 index 08c2af123..000000000 --- a/config/export/core.entity_view_display.media.fits_technical_metadata.default.yml +++ /dev/null @@ -1,63 +0,0 @@ -uuid: a99c6379-32ad-4a01-9c4a-3fa4eba49872 -langcode: en -status: true -dependencies: - config: - - field.field.media.fits_technical_metadata.field_complete - - field.field.media.fits_technical_metadata.field_file_size - - field.field.media.fits_technical_metadata.field_media_file - - field.field.media.fits_technical_metadata.field_media_of - - field.field.media.fits_technical_metadata.field_media_use - - field.field.media.fits_technical_metadata.field_mime_type - - field.field.media.fits_technical_metadata.fits_ois_file_information_md5che - - media.type.fits_technical_metadata - module: - - islandora_fits -_core: - default_config_hash: eQIgNGtw_hfVQxGPLc_JeBC1l1whFSoMsEYYNx0vOv4 -id: media.fits_technical_metadata.default -targetEntityType: media -bundle: fits_technical_metadata -mode: default -content: - field_media_file: - type: fits_formatter - label: hidden - settings: { } - third_party_settings: { } - weight: 0 - region: content - field_media_of: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 1 - region: content - field_media_use: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 3 - region: content - field_mime_type: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 2 - region: content -hidden: - created: true - field_complete: true - field_file_size: true - fits_ois_file_information_md5che: true - langcode: true - name: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.fits_technical_metadata.fits_technical_metadata.yml b/config/export/core.entity_view_display.media.fits_technical_metadata.fits_technical_metadata.yml deleted file mode 100644 index 603a738b8..000000000 --- a/config/export/core.entity_view_display.media.fits_technical_metadata.fits_technical_metadata.yml +++ /dev/null @@ -1,71 +0,0 @@ -uuid: b9103c3d-6bcc-4cf0-9e68-f9a74e63ae8f -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.media.fits_technical_metadata - - field.field.media.fits_technical_metadata.field_complete - - field.field.media.fits_technical_metadata.field_file_size - - field.field.media.fits_technical_metadata.field_media_file - - field.field.media.fits_technical_metadata.field_media_of - - field.field.media.fits_technical_metadata.field_media_use - - field.field.media.fits_technical_metadata.field_mime_type - - field.field.media.fits_technical_metadata.fits_ois_file_information_md5che - - image.style.thumbnail - - media.type.fits_technical_metadata - module: - - image - - islandora_fits - - user -_core: - default_config_hash: 26WttTG6uQXIDjcL50RF8WEpTDsIDtDaUjZDd0AwBAg -id: media.fits_technical_metadata.fits_technical_metadata -targetEntityType: media -bundle: fits_technical_metadata -mode: fits_technical_metadata -content: - created: - type: timestamp - label: hidden - settings: - date_format: medium - custom_date_format: '' - timezone: '' - third_party_settings: { } - weight: 0 - region: content - field_media_file: - type: fits_formatter - label: above - settings: { } - third_party_settings: { } - weight: 6 - region: content - thumbnail: - type: image - label: hidden - settings: - image_link: '' - image_style: thumbnail - image_loading: - attribute: lazy - third_party_settings: { } - weight: 5 - region: content - uid: - type: author - label: hidden - settings: { } - third_party_settings: { } - weight: 0 - region: content -hidden: - field_complete: true - field_file_size: true - field_media_of: true - field_media_use: true - field_mime_type: true - fits_ois_file_information_md5che: true - langcode: true - name: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.media.image.default.yml b/config/export/core.entity_view_display.media.image.default.yml deleted file mode 100644 index 6797804e8..000000000 --- a/config/export/core.entity_view_display.media.image.default.yml +++ /dev/null @@ -1,114 +0,0 @@ -uuid: befd9d16-a6f8-4587-b973-642390eab5e2 -langcode: en -status: true -dependencies: - config: - - field.field.media.image.field_display_mode_for_viewer - - field.field.media.image.field_file_size - - field.field.media.image.field_height - - field.field.media.image.field_media_image - - field.field.media.image.field_media_of - - field.field.media.image.field_media_use - - field.field.media.image.field_mime_type - - field.field.media.image.field_original_name - - field.field.media.image.field_width - - image.style.max_1300x1300 - - media.type.image - module: - - image -_core: - default_config_hash: mH-3GLriL2Vx34DOnmHTqPxMCEmqJLtesug6_H_6piM -id: media.image.default -targetEntityType: media -bundle: image -mode: default -content: - field_file_size: - type: number_integer - label: above - settings: - thousand_separator: '' - prefix_suffix: true - third_party_settings: { } - weight: 3 - region: content - field_gemini_uri: - settings: { } - third_party_settings: { } - weight: 9 - region: content - field_height: - type: number_integer - label: above - settings: - thousand_separator: '' - prefix_suffix: true - third_party_settings: { } - weight: 5 - region: content - field_media_image: - type: image - label: visually_hidden - settings: - image_link: '' - image_style: max_1300x1300 - image_loading: - attribute: lazy - third_party_settings: { } - weight: 1 - region: content - field_media_of: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 6 - region: content - field_media_use: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 7 - region: content - field_mime_type: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 2 - region: content - field_original_name: - type: basic_string - label: above - settings: { } - third_party_settings: { } - weight: 8 - region: content - field_width: - type: number_integer - label: above - settings: - thousand_separator: '' - prefix_suffix: true - third_party_settings: { } - weight: 4 - region: content - name: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - field_display_mode_for_viewer: true - langcode: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.image.file_download.yml b/config/export/core.entity_view_display.media.image.file_download.yml deleted file mode 100644 index 1f5648caa..000000000 --- a/config/export/core.entity_view_display.media.image.file_download.yml +++ /dev/null @@ -1,50 +0,0 @@ -uuid: 9a552ec4-ca85-4bc0-810d-33239e07ea23 -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.media.file_download - - field.field.media.image.field_display_mode_for_viewer - - field.field.media.image.field_file_size - - field.field.media.image.field_height - - field.field.media.image.field_media_image - - field.field.media.image.field_media_of - - field.field.media.image.field_media_use - - field.field.media.image.field_mime_type - - field.field.media.image.field_original_name - - field.field.media.image.field_width - - media.type.image - module: - - filehash -_core: - default_config_hash: mH-3GLriL2Vx34DOnmHTqPxMCEmqJLtesug6_H_6piM -id: media.image.file_download -targetEntityType: media -bundle: image -mode: file_download -content: - field_media_image: - type: filehash_table - label: visually_hidden - settings: - algo: sha1 - use_description_as_link_text: true - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - field_display_mode_for_viewer: true - field_file_size: true - field_gemini_uri: true - field_height: true - field_media_of: true - field_media_use: true - field_mime_type: true - field_original_name: true - field_width: true - langcode: true - name: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.image.open_seadragon.yml b/config/export/core.entity_view_display.media.image.open_seadragon.yml deleted file mode 100644 index 86bbd1c7e..000000000 --- a/config/export/core.entity_view_display.media.image.open_seadragon.yml +++ /dev/null @@ -1,48 +0,0 @@ -uuid: 5e55832f-7ac8-4e4f-8f29-3efb87b24247 -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.media.open_seadragon - - field.field.media.image.field_display_mode_for_viewer - - field.field.media.image.field_file_size - - field.field.media.image.field_height - - field.field.media.image.field_media_image - - field.field.media.image.field_media_of - - field.field.media.image.field_media_use - - field.field.media.image.field_mime_type - - field.field.media.image.field_original_name - - field.field.media.image.field_width - - media.type.image - module: - - openseadragon -_core: - default_config_hash: gR-7blbYp7lcArjW4cg_S8RMu5ZeaN3lfh35Cjssgik -id: media.image.open_seadragon -targetEntityType: media -bundle: image -mode: open_seadragon -content: - field_media_image: - type: openseadragon_image - label: visually_hidden - settings: { } - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - field_display_mode_for_viewer: true - field_file_size: true - field_gemini_uri: true - field_height: true - field_media_of: true - field_media_use: true - field_mime_type: true - field_original_name: true - field_width: true - langcode: true - name: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.image.source.yml b/config/export/core.entity_view_display.media.image.source.yml deleted file mode 100644 index f43fecc1d..000000000 --- a/config/export/core.entity_view_display.media.image.source.yml +++ /dev/null @@ -1,50 +0,0 @@ -uuid: 67da4560-e668-4198-9a19-32f706b2b2c2 -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.media.source - - field.field.media.image.field_display_mode_for_viewer - - field.field.media.image.field_file_size - - field.field.media.image.field_height - - field.field.media.image.field_media_image - - field.field.media.image.field_media_of - - field.field.media.image.field_media_use - - field.field.media.image.field_mime_type - - field.field.media.image.field_original_name - - field.field.media.image.field_width - - media.type.image - module: - - islandora -_core: - default_config_hash: '-vLESMk73DIY-JW-T0G6sbYhKFRFBoIFxvByDS9wdJU' -id: media.image.source -targetEntityType: media -bundle: image -mode: source -content: - field_media_image: - type: islandora_image - label: visually_hidden - settings: - image_link: content - image_style: '' - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - field_display_mode_for_viewer: true - field_file_size: true - field_gemini_uri: true - field_height: true - field_media_of: true - field_media_use: true - field_mime_type: true - field_original_name: true - field_width: true - langcode: true - name: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.image.thumbnail.yml b/config/export/core.entity_view_display.media.image.thumbnail.yml deleted file mode 100644 index 135909dd3..000000000 --- a/config/export/core.entity_view_display.media.image.thumbnail.yml +++ /dev/null @@ -1,53 +0,0 @@ -uuid: bee6fc5a-6083-4917-a770-cacd702d4335 -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.media.thumbnail - - field.field.media.image.field_display_mode_for_viewer - - field.field.media.image.field_file_size - - field.field.media.image.field_height - - field.field.media.image.field_media_image - - field.field.media.image.field_media_of - - field.field.media.image.field_media_use - - field.field.media.image.field_mime_type - - field.field.media.image.field_original_name - - field.field.media.image.field_width - - image.style.medium - - media.type.image - module: - - islandora -_core: - default_config_hash: mH-3GLriL2Vx34DOnmHTqPxMCEmqJLtesug6_H_6piM -id: media.image.thumbnail -targetEntityType: media -bundle: image -mode: thumbnail -content: - field_media_image: - type: islandora_image - label: visually_hidden - settings: - image_link: content - image_style: medium - image_loading: - attribute: lazy - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - field_display_mode_for_viewer: true - field_file_size: true - field_gemini_uri: true - field_height: true - field_media_of: true - field_media_use: true - field_mime_type: true - field_original_name: true - field_width: true - langcode: true - name: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.remote_video.default.yml b/config/export/core.entity_view_display.media.remote_video.default.yml deleted file mode 100644 index 360cdd7bf..000000000 --- a/config/export/core.entity_view_display.media.remote_video.default.yml +++ /dev/null @@ -1,32 +0,0 @@ -uuid: d33f983e-a295-4219-8597-4872741f9928 -langcode: en -status: true -dependencies: - config: - - field.field.media.remote_video.field_media_oembed_video - - media.type.remote_video - module: - - media -_core: - default_config_hash: zQoBQ0BtnMM_rlDdgftyu6eI4AVs9mo5K8xq7NFO2Zc -id: media.remote_video.default -targetEntityType: media -bundle: remote_video -mode: default -content: - field_media_oembed_video: - type: oembed - label: hidden - settings: - max_width: 0 - max_height: 0 - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - langcode: true - name: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.video.default.yml b/config/export/core.entity_view_display.media.video.default.yml deleted file mode 100644 index 0dcf2817e..000000000 --- a/config/export/core.entity_view_display.media.video.default.yml +++ /dev/null @@ -1,96 +0,0 @@ -uuid: fd4ad2f9-12de-4b26-a8cc-04dc896c78d1 -langcode: en -status: true -dependencies: - config: - - field.field.media.video.field_file_size - - field.field.media.video.field_media_of - - field.field.media.video.field_media_use - - field.field.media.video.field_media_video_file - - field.field.media.video.field_mime_type - - field.field.media.video.field_original_name - - field.field.media.video.field_track - - media.type.video - module: - - islandora_video -_core: - default_config_hash: uu0AyLKPsOKaxVZYcZhYaPRZ7JOotztenkoxCiLJ51o -id: media.video.default -targetEntityType: media -bundle: video -mode: default -content: - field_file_size: - type: number_integer - label: above - settings: - thousand_separator: '' - prefix_suffix: true - third_party_settings: { } - weight: 3 - region: content - field_gemini_uri: - settings: { } - third_party_settings: { } - weight: 100 - region: content - field_media_of: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 4 - region: content - field_media_use: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 5 - region: content - field_media_video_file: - type: islandora_file_video - label: visually_hidden - settings: - controls: true - autoplay: false - loop: false - multiple_file_display_type: tags - muted: false - width: 640 - height: 480 - third_party_settings: { } - weight: 1 - region: content - field_mime_type: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 2 - region: content - field_original_name: - type: basic_string - label: above - settings: { } - third_party_settings: { } - weight: 101 - region: content - name: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - field_track: true - langcode: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.video.file_download.yml b/config/export/core.entity_view_display.media.video.file_download.yml deleted file mode 100644 index 777207561..000000000 --- a/config/export/core.entity_view_display.media.video.file_download.yml +++ /dev/null @@ -1,46 +0,0 @@ -uuid: 5212957a-1c4a-4268-be7c-5f38f62cfe72 -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.media.file_download - - field.field.media.video.field_file_size - - field.field.media.video.field_media_of - - field.field.media.video.field_media_use - - field.field.media.video.field_media_video_file - - field.field.media.video.field_mime_type - - field.field.media.video.field_original_name - - field.field.media.video.field_track - - media.type.video - module: - - filehash -_core: - default_config_hash: uu0AyLKPsOKaxVZYcZhYaPRZ7JOotztenkoxCiLJ51o -id: media.video.file_download -targetEntityType: media -bundle: video -mode: file_download -content: - field_media_video_file: - type: filehash_table - label: visually_hidden - settings: - algo: sha1 - use_description_as_link_text: true - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - field_file_size: true - field_gemini_uri: true - field_media_of: true - field_media_use: true - field_mime_type: true - field_original_name: true - field_track: true - langcode: true - name: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.media.video.source.yml b/config/export/core.entity_view_display.media.video.source.yml deleted file mode 100644 index 0aa178f6e..000000000 --- a/config/export/core.entity_view_display.media.video.source.yml +++ /dev/null @@ -1,55 +0,0 @@ -uuid: 309bbcfa-8dfa-4e4c-8f00-67747f516075 -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.media.source - - field.field.media.video.field_file_size - - field.field.media.video.field_media_of - - field.field.media.video.field_media_use - - field.field.media.video.field_media_video_file - - field.field.media.video.field_mime_type - - field.field.media.video.field_original_name - - field.field.media.video.field_track - - media.type.video - module: - - islandora_video -_core: - default_config_hash: h5fVMfcI16Wt4zPnxik3f0JdSLeiSlk4h3a8IRBSa8w -id: media.video.source -targetEntityType: media -bundle: video -mode: source -content: - field_gemini_uri: - settings: { } - third_party_settings: { } - weight: 100 - region: content - field_media_video_file: - type: islandora_file_video - label: visually_hidden - settings: - controls: true - autoplay: false - loop: false - multiple_file_display_type: tags - muted: false - width: 640 - height: 480 - third_party_settings: { } - weight: 0 - region: content -hidden: - created: true - field_file_size: true - field_media_of: true - field_media_use: true - field_mime_type: true - field_original_name: true - field_track: true - langcode: true - name: true - search_api_excerpt: true - thumbnail: true - uid: true diff --git a/config/export/core.entity_view_display.node.article.default.yml b/config/export/core.entity_view_display.node.article.default.yml deleted file mode 100644 index 2785475ba..000000000 --- a/config/export/core.entity_view_display.node.article.default.yml +++ /dev/null @@ -1,87 +0,0 @@ -uuid: 6fd3ab0e-3c7e-4db2-aac3-34636f33066f -langcode: en -status: true -dependencies: - config: - - core.entity_view_display.comment.comment.default - - field.field.node.article.body - - field.field.node.article.comment - - field.field.node.article.field_image - - field.field.node.article.field_tags - - image.style.wide - - node.type.article - module: - - comment - - image - - text - - user -_core: - default_config_hash: 7fb0j9HnIXfP9ndewzgPPzzeX_SV532wuYpkscrCMCk -id: node.article.default -targetEntityType: node -bundle: article -mode: default -content: - body: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 0 - region: content - comment: - type: comment_default - label: above - settings: - view_mode: default - pager_id: 0 - third_party_settings: { } - weight: 110 - region: content - display_media_entity_view_1: - settings: { } - third_party_settings: { } - weight: 10 - region: content - display_media_entity_view_2: - settings: { } - third_party_settings: { } - weight: 10 - region: content - display_media_service_file: - settings: { } - third_party_settings: { } - weight: 10 - region: content - display_media_thumbnail: - settings: { } - third_party_settings: { } - weight: 10 - region: content - field_image: - type: image - label: hidden - settings: - image_link: '' - image_style: wide - image_loading: - attribute: lazy - third_party_settings: { } - weight: -1 - region: content - field_tags: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 10 - region: content - links: - settings: { } - third_party_settings: { } - weight: 100 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.node.article.rss.yml b/config/export/core.entity_view_display.node.article.rss.yml deleted file mode 100644 index 86b5775a2..000000000 --- a/config/export/core.entity_view_display.node.article.rss.yml +++ /dev/null @@ -1,50 +0,0 @@ -uuid: d60a136a-bce0-409d-b3f2-badca7c8d1cd -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.node.rss - - field.field.node.article.body - - field.field.node.article.comment - - field.field.node.article.field_image - - field.field.node.article.field_tags - - node.type.article - module: - - user -_core: - default_config_hash: 2rIr6K5Q0UQ9khg0zE_CK-PtJH76UL-BDDZcZnZzwCc -id: node.article.rss -targetEntityType: node -bundle: article -mode: rss -content: - display_media_entity_view_1: - settings: { } - third_party_settings: { } - weight: 10 - region: content - display_media_entity_view_2: - settings: { } - third_party_settings: { } - weight: 10 - region: content - display_media_service_file: - settings: { } - third_party_settings: { } - weight: 10 - region: content - display_media_thumbnail: - settings: { } - third_party_settings: { } - weight: 10 - region: content - links: - weight: 100 - region: content -hidden: - body: true - comment: true - field_image: true - field_tags: true - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.node.article.teaser.yml b/config/export/core.entity_view_display.node.article.teaser.yml deleted file mode 100644 index 201743ad0..000000000 --- a/config/export/core.entity_view_display.node.article.teaser.yml +++ /dev/null @@ -1,79 +0,0 @@ -uuid: 5c6d195d-914f-411c-826a-329d8dbbf797 -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.node.teaser - - field.field.node.article.body - - field.field.node.article.comment - - field.field.node.article.field_image - - field.field.node.article.field_tags - - image.style.medium - - node.type.article - module: - - image - - text - - user -_core: - default_config_hash: 83jX5ChAGdMzOxiDA_B1NjgebVMuD8lNVDgClg_QVP8 -id: node.article.teaser -targetEntityType: node -bundle: article -mode: teaser -content: - body: - type: text_summary_or_trimmed - label: hidden - settings: - trim_length: 600 - third_party_settings: { } - weight: 0 - region: content - display_media_entity_view_1: - settings: { } - third_party_settings: { } - weight: 10 - region: content - display_media_entity_view_2: - settings: { } - third_party_settings: { } - weight: 10 - region: content - display_media_service_file: - settings: { } - third_party_settings: { } - weight: 10 - region: content - display_media_thumbnail: - settings: { } - third_party_settings: { } - weight: 10 - region: content - field_image: - type: image - label: hidden - settings: - image_link: content - image_style: medium - image_loading: - attribute: lazy - third_party_settings: { } - weight: -1 - region: content - field_tags: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 10 - region: content - links: - weight: 100 - region: content -hidden: - comment: true - field_image: true - field_tags: true - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.node.collection_object.default.yml b/config/export/core.entity_view_display.node.collection_object.default.yml deleted file mode 100644 index 22a7a59f1..000000000 --- a/config/export/core.entity_view_display.node.collection_object.default.yml +++ /dev/null @@ -1,152 +0,0 @@ -uuid: 55a8afa7-46cc-4c68-8544-e3fbdf8f781a -langcode: en -status: true -dependencies: - config: - - field.field.node.collection_object.field_alternative_title - - field.field.node.collection_object.field_collection_contact_email - - field.field.node.collection_object.field_collection_contact_name - - field.field.node.collection_object.field_collection_number - - field.field.node.collection_object.field_date_captured - - field.field.node.collection_object.field_date_modified - - field.field.node.collection_object.field_date_valid - - field.field.node.collection_object.field_description - - field.field.node.collection_object.field_display_hints - - field.field.node.collection_object.field_edtf_date - - field.field.node.collection_object.field_edtf_date_created - - field.field.node.collection_object.field_edtf_date_issued - - field.field.node.collection_object.field_extent - - field.field.node.collection_object.field_featured_item - - field.field.node.collection_object.field_finding_aid - - field.field.node.collection_object.field_geographic_subject - - field.field.node.collection_object.field_linked_agent - - field.field.node.collection_object.field_member_of - - field.field.node.collection_object.field_model - - field.field.node.collection_object.field_resource_type - - field.field.node.collection_object.field_rights - - field.field.node.collection_object.field_subject_general - - field.field.node.collection_object.field_subjects_name - - field.field.node.collection_object.field_temporal_subject - - field.field.node.collection_object.field_unique_id - - field.field.node.collection_object.field_weight - - node.type.collection_object - module: - - link - - user -_core: - default_config_hash: nOH9IgmB5ShW70MAoolW3M2EJ8AvawslUIgyeQRZRJU -id: node.collection_object.default -targetEntityType: node -bundle: collection_object -mode: default -content: - display_media_thumbnail: - settings: { } - third_party_settings: { } - weight: 31 - region: content - field_alternative_title: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 3 - region: content - field_collection_contact_email: - type: basic_string - label: inline - settings: { } - third_party_settings: { } - weight: 4 - region: content - field_collection_contact_name: - type: string - label: inline - settings: - link_to_entity: false - third_party_settings: { } - weight: 5 - region: content - field_collection_number: - type: string - label: inline - settings: - link_to_entity: true - third_party_settings: { } - weight: 6 - region: content - field_description: - type: basic_string - label: inline - settings: { } - third_party_settings: { } - weight: 7 - region: content - field_finding_aid: - type: link - label: inline - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: '' - third_party_settings: { } - weight: 9 - region: content - field_gemini_uri: - settings: { } - third_party_settings: { } - weight: 2 - region: content - field_member_of: - type: entity_reference_label - label: inline - settings: - link: true - third_party_settings: { } - weight: 11 - region: content - field_unique_id: - type: string - label: inline - settings: - link_to_entity: false - third_party_settings: { } - weight: 12 - region: content -hidden: - display_media_entity_view_1: true - display_media_entity_view_3: true - display_media_original_download: true - display_media_service_file: true - field_date_captured: true - field_date_modified: true - field_date_valid: true - field_display_hints: true - field_edtf_date: true - field_edtf_date_created: true - field_edtf_date_issued: true - field_extent: true - field_featured_item: true - field_geographic_subject: true - field_linked_agent: true - field_model: true - field_resource_type: true - field_rights: true - field_subject_general: true - field_subjects_name: true - field_temporal_subject: true - field_weight: true - islandora_fits_checksum: true - langcode: true - links: true - openseadragon_media_evas_entity_view_1: true - openseadragon_media_evas_entity_view_2: true - openseadragon_media_evas_service_file: true - pdfjs_media_evas_entity_view_1: true - pdfjs_media_evas_entity_view_2: true - pdfjs_media_evas_service_file: true - search_api_excerpt: true - search_within_this_collection_link_entity_view_1: true diff --git a/config/export/core.entity_view_display.node.collection_object.teaser.yml b/config/export/core.entity_view_display.node.collection_object.teaser.yml deleted file mode 100644 index b96248d75..000000000 --- a/config/export/core.entity_view_display.node.collection_object.teaser.yml +++ /dev/null @@ -1,97 +0,0 @@ -uuid: 1c5a88bf-dadd-42a1-8666-6b6dc24a2a43 -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.node.teaser - - field.field.node.collection_object.field_alternative_title - - field.field.node.collection_object.field_collection_contact_email - - field.field.node.collection_object.field_collection_contact_name - - field.field.node.collection_object.field_collection_number - - field.field.node.collection_object.field_date_captured - - field.field.node.collection_object.field_date_modified - - field.field.node.collection_object.field_date_valid - - field.field.node.collection_object.field_description - - field.field.node.collection_object.field_display_hints - - field.field.node.collection_object.field_edtf_date - - field.field.node.collection_object.field_edtf_date_created - - field.field.node.collection_object.field_edtf_date_issued - - field.field.node.collection_object.field_extent - - field.field.node.collection_object.field_featured_item - - field.field.node.collection_object.field_finding_aid - - field.field.node.collection_object.field_geographic_subject - - field.field.node.collection_object.field_linked_agent - - field.field.node.collection_object.field_member_of - - field.field.node.collection_object.field_model - - field.field.node.collection_object.field_resource_type - - field.field.node.collection_object.field_rights - - field.field.node.collection_object.field_subject_general - - field.field.node.collection_object.field_subjects_name - - field.field.node.collection_object.field_temporal_subject - - field.field.node.collection_object.field_unique_id - - field.field.node.collection_object.field_weight - - node.type.collection_object - module: - - user -_core: - default_config_hash: mud0t7Nke0Cx1Re571_lTiqPsroupMMG1GgySIBGpFk -id: node.collection_object.teaser -targetEntityType: node -bundle: collection_object -mode: teaser -content: - display_media_entity_view_3: - settings: { } - third_party_settings: { } - weight: 0 - region: content - field_alternative_title: - type: string - label: inline - settings: - link_to_entity: false - third_party_settings: { } - weight: 3 - region: content -hidden: - display_media_entity_view_1: true - display_media_original_download: true - display_media_service_file: true - display_media_thumbnail: true - field_collection_contact_email: true - field_collection_contact_name: true - field_collection_number: true - field_date_captured: true - field_date_modified: true - field_date_valid: true - field_description: true - field_display_hints: true - field_edtf_date: true - field_edtf_date_created: true - field_edtf_date_issued: true - field_extent: true - field_featured_item: true - field_finding_aid: true - field_gemini_uri: true - field_geographic_subject: true - field_linked_agent: true - field_member_of: true - field_model: true - field_resource_type: true - field_rights: true - field_subject_general: true - field_subjects_name: true - field_temporal_subject: true - field_unique_id: true - field_weight: true - islandora_fits_checksum: true - langcode: true - links: true - openseadragon_media_evas_entity_view_1: true - openseadragon_media_evas_entity_view_2: true - openseadragon_media_evas_service_file: true - pdfjs_media_evas_entity_view_1: true - pdfjs_media_evas_entity_view_2: true - pdfjs_media_evas_service_file: true - search_api_excerpt: true - search_within_this_collection_link_entity_view_1: true diff --git a/config/export/core.entity_view_display.node.islandora_object.binary.yml b/config/export/core.entity_view_display.node.islandora_object.binary.yml deleted file mode 100644 index 5729ca8e8..000000000 --- a/config/export/core.entity_view_display.node.islandora_object.binary.yml +++ /dev/null @@ -1,422 +0,0 @@ -uuid: 07db5594-3aa4-48e5-8ab0-36f5a498695f -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.node.binary - - field.field.node.islandora_object.field_abstract - - field.field.node.islandora_object.field_alt_title - - field.field.node.islandora_object.field_alternative_title - - field.field.node.islandora_object.field_citable_url - - field.field.node.islandora_object.field_classification - - field.field.node.islandora_object.field_collection_number - - field.field.node.islandora_object.field_contributor - - field.field.node.islandora_object.field_coordinates - - field.field.node.islandora_object.field_coordinates_text - - field.field.node.islandora_object.field_copyright_and_use - - field.field.node.islandora_object.field_copyright_date - - field.field.node.islandora_object.field_copyright_holder - - field.field.node.islandora_object.field_creator - - field.field.node.islandora_object.field_date_available - - field.field.node.islandora_object.field_date_captured - - field.field.node.islandora_object.field_date_copyrighted - - field.field.node.islandora_object.field_date_modified - - field.field.node.islandora_object.field_date_published - - field.field.node.islandora_object.field_date_valid - - field.field.node.islandora_object.field_description - - field.field.node.islandora_object.field_dewey_classification - - field.field.node.islandora_object.field_digital_identifier - - field.field.node.islandora_object.field_digital_publisher - - field.field.node.islandora_object.field_display_hints - - field.field.node.islandora_object.field_dspace_identifier - - field.field.node.islandora_object.field_dspace_item_id - - field.field.node.islandora_object.field_edition - - field.field.node.islandora_object.field_edtf_date - - field.field.node.islandora_object.field_edtf_date_created - - field.field.node.islandora_object.field_edtf_date_issued - - field.field.node.islandora_object.field_extent - - field.field.node.islandora_object.field_featured_item - - field.field.node.islandora_object.field_finding_aid - - field.field.node.islandora_object.field_frequency - - field.field.node.islandora_object.field_full_title - - field.field.node.islandora_object.field_genre - - field.field.node.islandora_object.field_geographic_subject - - field.field.node.islandora_object.field_geoportal_link - - field.field.node.islandora_object.field_identifier - - field.field.node.islandora_object.field_is_part_of - - field.field.node.islandora_object.field_isbn - - field.field.node.islandora_object.field_issn - - field.field.node.islandora_object.field_item_barcode - - field.field.node.islandora_object.field_jhir - - field.field.node.islandora_object.field_language - - field.field.node.islandora_object.field_lcc_classification - - field.field.node.islandora_object.field_library_catalog_link - - field.field.node.islandora_object.field_linked_agent - - field.field.node.islandora_object.field_local_identifier - - field.field.node.islandora_object.field_member_of - - field.field.node.islandora_object.field_mode_of_issuance - - field.field.node.islandora_object.field_model - - field.field.node.islandora_object.field_note - - field.field.node.islandora_object.field_oclc_number - - field.field.node.islandora_object.field_physical_form - - field.field.node.islandora_object.field_pid - - field.field.node.islandora_object.field_place_published - - field.field.node.islandora_object.field_place_published_country - - field.field.node.islandora_object.field_publisher - - field.field.node.islandora_object.field_publisher_country - - field.field.node.islandora_object.field_resource_type - - field.field.node.islandora_object.field_rights - - field.field.node.islandora_object.field_spatial_coverage - - field.field.node.islandora_object.field_subject - - field.field.node.islandora_object.field_subject_general - - field.field.node.islandora_object.field_subjects_name - - field.field.node.islandora_object.field_table_of_contents - - field.field.node.islandora_object.field_temporal_subject - - field.field.node.islandora_object.field_unique_id - - field.field.node.islandora_object.field_weight - - field.field.node.islandora_object.field_years - - node.type.islandora_object - module: - - controlled_access_terms - - geolocation - - text - - user -_core: - default_config_hash: F84yh2PZaba596y4gtXQiaS3901N7DBv3IcJDxcyr6Y -id: node.islandora_object.binary -targetEntityType: node -bundle: islandora_object -mode: binary -content: - display_media_entity_view_2: - settings: { } - third_party_settings: { } - weight: 3 - region: content - display_media_entity_view_3: - settings: { } - third_party_settings: { } - weight: 4 - region: content - display_media_original_download: - settings: { } - third_party_settings: { } - weight: 10 - region: content - field_abstract: - type: text_default - label: above - settings: { } - third_party_settings: { } - weight: 19 - region: content - field_classification: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 28 - region: content - field_coordinates: - type: geolocation_latlng - label: above - settings: { } - third_party_settings: { } - weight: 22 - region: content - field_coordinates_text: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 23 - region: content - field_description: - type: basic_string - label: above - settings: { } - third_party_settings: { } - weight: 15 - region: content - field_dewey_classification: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 26 - region: content - field_edition: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 9 - region: content - field_edtf_date: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - third_party_settings: { } - weight: 8 - region: content - field_edtf_date_created: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - third_party_settings: { } - weight: 6 - region: content - field_edtf_date_issued: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - third_party_settings: { } - weight: 7 - region: content - field_extent: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 18 - region: content - field_gemini_uri: - settings: { } - third_party_settings: { } - weight: 33 - region: content - field_genre: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 14 - region: content - field_geographic_subject: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 21 - region: content - field_identifier: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 1 - region: content - field_isbn: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 30 - region: content - field_language: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 12 - region: content - field_lcc_classification: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 27 - region: content - field_linked_agent: - type: typed_relation_default - label: above - settings: - link: true - third_party_settings: { } - weight: 5 - region: content - field_local_identifier: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 29 - region: content - field_member_of: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 4 - region: content - field_note: - type: text_default - label: above - settings: { } - third_party_settings: { } - weight: 32 - region: content - field_oclc_number: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 31 - region: content - field_physical_form: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 17 - region: content - field_place_published: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 10 - region: content - field_resource_type: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 13 - region: content - field_rights: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 19 - region: content - field_subject: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 20 - region: content - field_subjects_name: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 25 - region: content - field_table_of_contents: - type: text_default - label: above - settings: { } - third_party_settings: { } - weight: 16 - region: content - field_temporal_subject: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 24 - region: content - islandora_fits_checksum: - settings: { } - third_party_settings: { } - weight: 100 - region: content - links: - settings: { } - third_party_settings: { } - weight: 2 - region: content - search_within_this_collection_link_entity_view_1: - settings: { } - third_party_settings: { } - weight: 10 - region: content -hidden: - display_media_entity_view_1: true - display_media_service_file: true - display_media_thumbnail: true - field_alt_title: true - field_alternative_title: true - field_citable_url: true - field_collection_number: true - field_contributor: true - field_copyright_and_use: true - field_copyright_date: true - field_copyright_holder: true - field_creator: true - field_date_available: true - field_date_captured: true - field_date_copyrighted: true - field_date_modified: true - field_date_published: true - field_date_valid: true - field_digital_identifier: true - field_digital_publisher: true - field_display_hints: true - field_dspace_identifier: true - field_dspace_item_id: true - field_featured_item: true - field_finding_aid: true - field_frequency: true - field_full_title: true - field_geoportal_link: true - field_is_part_of: true - field_issn: true - field_item_barcode: true - field_jhir: true - field_library_catalog_link: true - field_mode_of_issuance: true - field_model: true - field_pid: true - field_place_published_country: true - field_publisher: true - field_publisher_country: true - field_spatial_coverage: true - field_subject_general: true - field_unique_id: true - field_weight: true - field_years: true - langcode: true - openseadragon_media_evas_entity_view_1: true - openseadragon_media_evas_entity_view_2: true - openseadragon_media_evas_service_file: true - pdfjs_media_evas_entity_view_1: true - pdfjs_media_evas_entity_view_2: true - pdfjs_media_evas_service_file: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.node.islandora_object.default.yml b/config/export/core.entity_view_display.node.islandora_object.default.yml deleted file mode 100644 index 040f64373..000000000 --- a/config/export/core.entity_view_display.node.islandora_object.default.yml +++ /dev/null @@ -1,738 +0,0 @@ -uuid: 33b47944-9724-4a7a-88ad-2198357b9c5e -langcode: en -status: true -dependencies: - config: - - field.field.node.islandora_object.field_abstract - - field.field.node.islandora_object.field_alt_title - - field.field.node.islandora_object.field_alternative_title - - field.field.node.islandora_object.field_citable_url - - field.field.node.islandora_object.field_classification - - field.field.node.islandora_object.field_collection_number - - field.field.node.islandora_object.field_contributor - - field.field.node.islandora_object.field_coordinates - - field.field.node.islandora_object.field_coordinates_text - - field.field.node.islandora_object.field_copyright_and_use - - field.field.node.islandora_object.field_copyright_date - - field.field.node.islandora_object.field_copyright_holder - - field.field.node.islandora_object.field_creator - - field.field.node.islandora_object.field_date_available - - field.field.node.islandora_object.field_date_captured - - field.field.node.islandora_object.field_date_copyrighted - - field.field.node.islandora_object.field_date_modified - - field.field.node.islandora_object.field_date_published - - field.field.node.islandora_object.field_date_valid - - field.field.node.islandora_object.field_description - - field.field.node.islandora_object.field_dewey_classification - - field.field.node.islandora_object.field_digital_identifier - - field.field.node.islandora_object.field_digital_publisher - - field.field.node.islandora_object.field_display_hints - - field.field.node.islandora_object.field_dspace_identifier - - field.field.node.islandora_object.field_dspace_item_id - - field.field.node.islandora_object.field_edition - - field.field.node.islandora_object.field_edtf_date - - field.field.node.islandora_object.field_edtf_date_created - - field.field.node.islandora_object.field_edtf_date_issued - - field.field.node.islandora_object.field_extent - - field.field.node.islandora_object.field_featured_item - - field.field.node.islandora_object.field_finding_aid - - field.field.node.islandora_object.field_frequency - - field.field.node.islandora_object.field_full_title - - field.field.node.islandora_object.field_genre - - field.field.node.islandora_object.field_geographic_subject - - field.field.node.islandora_object.field_geoportal_link - - field.field.node.islandora_object.field_identifier - - field.field.node.islandora_object.field_is_part_of - - field.field.node.islandora_object.field_isbn - - field.field.node.islandora_object.field_issn - - field.field.node.islandora_object.field_item_barcode - - field.field.node.islandora_object.field_jhir - - field.field.node.islandora_object.field_language - - field.field.node.islandora_object.field_lcc_classification - - field.field.node.islandora_object.field_library_catalog_link - - field.field.node.islandora_object.field_linked_agent - - field.field.node.islandora_object.field_local_identifier - - field.field.node.islandora_object.field_member_of - - field.field.node.islandora_object.field_mode_of_issuance - - field.field.node.islandora_object.field_model - - field.field.node.islandora_object.field_note - - field.field.node.islandora_object.field_oclc_number - - field.field.node.islandora_object.field_physical_form - - field.field.node.islandora_object.field_pid - - field.field.node.islandora_object.field_place_published - - field.field.node.islandora_object.field_place_published_country - - field.field.node.islandora_object.field_publisher - - field.field.node.islandora_object.field_publisher_country - - field.field.node.islandora_object.field_resource_type - - field.field.node.islandora_object.field_rights - - field.field.node.islandora_object.field_spatial_coverage - - field.field.node.islandora_object.field_subject - - field.field.node.islandora_object.field_subject_general - - field.field.node.islandora_object.field_subjects_name - - field.field.node.islandora_object.field_table_of_contents - - field.field.node.islandora_object.field_temporal_subject - - field.field.node.islandora_object.field_unique_id - - field.field.node.islandora_object.field_weight - - field.field.node.islandora_object.field_years - - node.type.islandora_object - module: - - controlled_access_terms - - geolocation - - link - - text - - user -_core: - default_config_hash: 7nAsgKpklfcldz5UjF5QnwGQqa2f2zypALWMvnJ8PeI -id: node.islandora_object.default -targetEntityType: node -bundle: islandora_object -mode: default -content: - display_media_entity_view_1: - settings: { } - third_party_settings: { } - weight: 44 - region: content - display_media_entity_view_2: - settings: { } - third_party_settings: { } - weight: 3 - region: content - display_media_original_download: - settings: { } - third_party_settings: { } - weight: 43 - region: content - display_media_service_file: - settings: { } - third_party_settings: { } - weight: 1 - region: content - field_abstract: - type: text_default - label: above - settings: { } - third_party_settings: { } - weight: 19 - region: content - field_alt_title: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 4 - region: content - field_alternative_title: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 71 - region: content - field_citable_url: - type: link - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: '' - third_party_settings: { } - weight: 45 - region: content - field_classification: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 36 - region: content - field_collection_number: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 46 - region: content - field_contributor: - type: typed_relation_default - label: above - settings: - link: true - third_party_settings: { } - weight: 47 - region: content - field_coordinates: - type: geolocation_latlng - label: above - settings: { } - third_party_settings: { } - weight: 32 - region: content - field_coordinates_text: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 33 - region: content - field_copyright_and_use: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 48 - region: content - field_copyright_date: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 11 - region: content - field_copyright_holder: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 49 - region: content - field_creator: - type: typed_relation_default - label: above - settings: - link: true - third_party_settings: { } - weight: 50 - region: content - field_date_available: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 51 - region: content - field_date_captured: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 13 - region: content - field_date_copyrighted: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 52 - region: content - field_date_modified: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 14 - region: content - field_date_published: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 53 - region: content - field_date_valid: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 12 - region: content - field_description: - type: basic_string - label: above - settings: { } - third_party_settings: { } - weight: 18 - region: content - field_dewey_classification: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 34 - region: content - field_digital_identifier: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 54 - region: content - field_digital_publisher: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 55 - region: content - field_dspace_identifier: - type: link - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: '' - third_party_settings: { } - weight: 56 - region: content - field_dspace_item_id: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 57 - region: content - field_edition: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 15 - region: content - field_edtf_date: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 9 - region: content - field_edtf_date_created: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 8 - region: content - field_edtf_date_issued: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 7 - region: content - field_extent: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 26 - region: content - field_featured_item: - type: boolean - label: above - settings: - format: default - format_custom_false: '' - format_custom_true: '' - third_party_settings: { } - weight: 58 - region: content - field_finding_aid: - type: link - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: '' - third_party_settings: { } - weight: 59 - region: content - field_frequency: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 17 - region: content - field_full_title: - type: basic_string - label: above - settings: { } - third_party_settings: { } - weight: 0 - region: content - field_gemini_uri: - settings: { } - third_party_settings: { } - weight: 42 - region: content - field_genre: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 24 - region: content - field_geographic_subject: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 29 - region: content - field_geoportal_link: - type: link - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: '' - third_party_settings: { } - weight: 60 - region: content - field_identifier: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 37 - region: content - field_is_part_of: - type: link - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: '' - third_party_settings: { } - weight: 61 - region: content - field_isbn: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 38 - region: content - field_issn: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 62 - region: content - field_item_barcode: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 63 - region: content - field_jhir: - type: link - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: '' - third_party_settings: { } - weight: 64 - region: content - field_language: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 22 - region: content - field_lcc_classification: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 35 - region: content - field_library_catalog_link: - type: link - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: '' - third_party_settings: { } - weight: 65 - region: content - field_linked_agent: - type: typed_relation_default - label: above - settings: - link: true - third_party_settings: { } - weight: 5 - region: content - field_local_identifier: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 40 - region: content - field_member_of: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 3 - region: content - field_mode_of_issuance: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 16 - region: content - field_note: - type: text_default - label: above - settings: { } - third_party_settings: { } - weight: 21 - region: content - field_oclc_number: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 39 - region: content - field_physical_form: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 25 - region: content - field_place_published: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 6 - region: content - field_publisher: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 66 - region: content - field_publisher_country: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 67 - region: content - field_resource_type: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 23 - region: content - field_rights: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 41 - region: content - field_spatial_coverage: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 68 - region: content - field_subject: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 28 - region: content - field_subject_general: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 27 - region: content - field_subjects_name: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 30 - region: content - field_table_of_contents: - type: text_default - label: above - settings: { } - third_party_settings: { } - weight: 20 - region: content - field_temporal_subject: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 31 - region: content - field_unique_id: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 69 - region: content - field_years: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 70 - region: content - links: - settings: { } - third_party_settings: { } - weight: 10 - region: content - search_within_this_collection_link_entity_view_1: - settings: { } - third_party_settings: { } - weight: 2 - region: content -hidden: - display_media_entity_view_3: true - display_media_thumbnail: true - field_display_hints: true - field_model: true - field_pid: true - field_place_published_country: true - field_weight: true - islandora_fits_checksum: true - langcode: true - openseadragon_media_evas_entity_view_1: true - openseadragon_media_evas_entity_view_2: true - openseadragon_media_evas_service_file: true - pdfjs_media_evas_entity_view_1: true - pdfjs_media_evas_entity_view_2: true - pdfjs_media_evas_service_file: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.node.islandora_object.open_seadragon.yml b/config/export/core.entity_view_display.node.islandora_object.open_seadragon.yml deleted file mode 100644 index 5845a919b..000000000 --- a/config/export/core.entity_view_display.node.islandora_object.open_seadragon.yml +++ /dev/null @@ -1,422 +0,0 @@ -uuid: 6ef6f184-e296-447c-8306-9537a7ecd9e2 -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.node.open_seadragon - - field.field.node.islandora_object.field_abstract - - field.field.node.islandora_object.field_alt_title - - field.field.node.islandora_object.field_alternative_title - - field.field.node.islandora_object.field_citable_url - - field.field.node.islandora_object.field_classification - - field.field.node.islandora_object.field_collection_number - - field.field.node.islandora_object.field_contributor - - field.field.node.islandora_object.field_coordinates - - field.field.node.islandora_object.field_coordinates_text - - field.field.node.islandora_object.field_copyright_and_use - - field.field.node.islandora_object.field_copyright_date - - field.field.node.islandora_object.field_copyright_holder - - field.field.node.islandora_object.field_creator - - field.field.node.islandora_object.field_date_available - - field.field.node.islandora_object.field_date_captured - - field.field.node.islandora_object.field_date_copyrighted - - field.field.node.islandora_object.field_date_modified - - field.field.node.islandora_object.field_date_published - - field.field.node.islandora_object.field_date_valid - - field.field.node.islandora_object.field_description - - field.field.node.islandora_object.field_dewey_classification - - field.field.node.islandora_object.field_digital_identifier - - field.field.node.islandora_object.field_digital_publisher - - field.field.node.islandora_object.field_display_hints - - field.field.node.islandora_object.field_dspace_identifier - - field.field.node.islandora_object.field_dspace_item_id - - field.field.node.islandora_object.field_edition - - field.field.node.islandora_object.field_edtf_date - - field.field.node.islandora_object.field_edtf_date_created - - field.field.node.islandora_object.field_edtf_date_issued - - field.field.node.islandora_object.field_extent - - field.field.node.islandora_object.field_featured_item - - field.field.node.islandora_object.field_finding_aid - - field.field.node.islandora_object.field_frequency - - field.field.node.islandora_object.field_full_title - - field.field.node.islandora_object.field_genre - - field.field.node.islandora_object.field_geographic_subject - - field.field.node.islandora_object.field_geoportal_link - - field.field.node.islandora_object.field_identifier - - field.field.node.islandora_object.field_is_part_of - - field.field.node.islandora_object.field_isbn - - field.field.node.islandora_object.field_issn - - field.field.node.islandora_object.field_item_barcode - - field.field.node.islandora_object.field_jhir - - field.field.node.islandora_object.field_language - - field.field.node.islandora_object.field_lcc_classification - - field.field.node.islandora_object.field_library_catalog_link - - field.field.node.islandora_object.field_linked_agent - - field.field.node.islandora_object.field_local_identifier - - field.field.node.islandora_object.field_member_of - - field.field.node.islandora_object.field_mode_of_issuance - - field.field.node.islandora_object.field_model - - field.field.node.islandora_object.field_note - - field.field.node.islandora_object.field_oclc_number - - field.field.node.islandora_object.field_physical_form - - field.field.node.islandora_object.field_pid - - field.field.node.islandora_object.field_place_published - - field.field.node.islandora_object.field_place_published_country - - field.field.node.islandora_object.field_publisher - - field.field.node.islandora_object.field_publisher_country - - field.field.node.islandora_object.field_resource_type - - field.field.node.islandora_object.field_rights - - field.field.node.islandora_object.field_spatial_coverage - - field.field.node.islandora_object.field_subject - - field.field.node.islandora_object.field_subject_general - - field.field.node.islandora_object.field_subjects_name - - field.field.node.islandora_object.field_table_of_contents - - field.field.node.islandora_object.field_temporal_subject - - field.field.node.islandora_object.field_unique_id - - field.field.node.islandora_object.field_weight - - field.field.node.islandora_object.field_years - - node.type.islandora_object - module: - - controlled_access_terms - - geolocation - - text - - user -_core: - default_config_hash: Ng6UdUGTRjKU2K_cTs3kd41mAS-Vmj598dpgLXaDsNQ -id: node.islandora_object.open_seadragon -targetEntityType: node -bundle: islandora_object -mode: open_seadragon -content: - display_media_entity_view_3: - settings: { } - third_party_settings: { } - weight: 4 - region: content - display_media_original_download: - settings: { } - third_party_settings: { } - weight: 10 - region: content - field_abstract: - type: text_default - label: above - settings: { } - third_party_settings: { } - weight: 19 - region: content - field_classification: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 28 - region: content - field_coordinates: - type: geolocation_latlng - label: above - settings: { } - third_party_settings: { } - weight: 22 - region: content - field_coordinates_text: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 23 - region: content - field_description: - type: basic_string - label: above - settings: { } - third_party_settings: { } - weight: 15 - region: content - field_dewey_classification: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 26 - region: content - field_edition: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 9 - region: content - field_edtf_date: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - third_party_settings: { } - weight: 8 - region: content - field_edtf_date_created: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - third_party_settings: { } - weight: 7 - region: content - field_edtf_date_issued: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - third_party_settings: { } - weight: 6 - region: content - field_extent: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 18 - region: content - field_gemini_uri: - settings: { } - third_party_settings: { } - weight: 33 - region: content - field_genre: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 14 - region: content - field_geographic_subject: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 21 - region: content - field_identifier: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 1 - region: content - field_isbn: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 30 - region: content - field_language: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 12 - region: content - field_lcc_classification: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 27 - region: content - field_linked_agent: - type: typed_relation_default - label: above - settings: - link: true - third_party_settings: { } - weight: 5 - region: content - field_local_identifier: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 29 - region: content - field_member_of: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 4 - region: content - field_note: - type: text_default - label: above - settings: { } - third_party_settings: { } - weight: 32 - region: content - field_oclc_number: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 31 - region: content - field_physical_form: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 17 - region: content - field_place_published: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 10 - region: content - field_resource_type: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 13 - region: content - field_rights: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 19 - region: content - field_subject: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 20 - region: content - field_subjects_name: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 25 - region: content - field_table_of_contents: - type: text_default - label: above - settings: { } - third_party_settings: { } - weight: 16 - region: content - field_temporal_subject: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 24 - region: content - islandora_fits_checksum: - settings: { } - third_party_settings: { } - weight: 100 - region: content - links: - settings: { } - third_party_settings: { } - weight: 2 - region: content - openseadragon_media_evas_entity_view_1: - settings: { } - third_party_settings: { } - weight: 3 - region: content - search_within_this_collection_link_entity_view_1: - settings: { } - third_party_settings: { } - weight: 10 - region: content -hidden: - display_media_entity_view_1: true - display_media_entity_view_2: true - display_media_service_file: true - display_media_thumbnail: true - field_alt_title: true - field_alternative_title: true - field_citable_url: true - field_collection_number: true - field_contributor: true - field_copyright_and_use: true - field_copyright_date: true - field_copyright_holder: true - field_creator: true - field_date_available: true - field_date_captured: true - field_date_copyrighted: true - field_date_modified: true - field_date_published: true - field_date_valid: true - field_digital_identifier: true - field_digital_publisher: true - field_display_hints: true - field_dspace_identifier: true - field_dspace_item_id: true - field_featured_item: true - field_finding_aid: true - field_frequency: true - field_full_title: true - field_geoportal_link: true - field_is_part_of: true - field_issn: true - field_item_barcode: true - field_jhir: true - field_library_catalog_link: true - field_mode_of_issuance: true - field_model: true - field_pid: true - field_place_published_country: true - field_publisher: true - field_publisher_country: true - field_spatial_coverage: true - field_subject_general: true - field_unique_id: true - field_weight: true - field_years: true - langcode: true - openseadragon_media_evas_entity_view_2: true - openseadragon_media_evas_service_file: true - pdfjs_media_evas_entity_view_1: true - pdfjs_media_evas_entity_view_2: true - pdfjs_media_evas_service_file: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.node.islandora_object.pdfjs.yml b/config/export/core.entity_view_display.node.islandora_object.pdfjs.yml deleted file mode 100644 index bf6dd463f..000000000 --- a/config/export/core.entity_view_display.node.islandora_object.pdfjs.yml +++ /dev/null @@ -1,422 +0,0 @@ -uuid: c462aab8-55d3-4721-8c20-f19374ba6075 -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.node.pdfjs - - field.field.node.islandora_object.field_abstract - - field.field.node.islandora_object.field_alt_title - - field.field.node.islandora_object.field_alternative_title - - field.field.node.islandora_object.field_citable_url - - field.field.node.islandora_object.field_classification - - field.field.node.islandora_object.field_collection_number - - field.field.node.islandora_object.field_contributor - - field.field.node.islandora_object.field_coordinates - - field.field.node.islandora_object.field_coordinates_text - - field.field.node.islandora_object.field_copyright_and_use - - field.field.node.islandora_object.field_copyright_date - - field.field.node.islandora_object.field_copyright_holder - - field.field.node.islandora_object.field_creator - - field.field.node.islandora_object.field_date_available - - field.field.node.islandora_object.field_date_captured - - field.field.node.islandora_object.field_date_copyrighted - - field.field.node.islandora_object.field_date_modified - - field.field.node.islandora_object.field_date_published - - field.field.node.islandora_object.field_date_valid - - field.field.node.islandora_object.field_description - - field.field.node.islandora_object.field_dewey_classification - - field.field.node.islandora_object.field_digital_identifier - - field.field.node.islandora_object.field_digital_publisher - - field.field.node.islandora_object.field_display_hints - - field.field.node.islandora_object.field_dspace_identifier - - field.field.node.islandora_object.field_dspace_item_id - - field.field.node.islandora_object.field_edition - - field.field.node.islandora_object.field_edtf_date - - field.field.node.islandora_object.field_edtf_date_created - - field.field.node.islandora_object.field_edtf_date_issued - - field.field.node.islandora_object.field_extent - - field.field.node.islandora_object.field_featured_item - - field.field.node.islandora_object.field_finding_aid - - field.field.node.islandora_object.field_frequency - - field.field.node.islandora_object.field_full_title - - field.field.node.islandora_object.field_genre - - field.field.node.islandora_object.field_geographic_subject - - field.field.node.islandora_object.field_geoportal_link - - field.field.node.islandora_object.field_identifier - - field.field.node.islandora_object.field_is_part_of - - field.field.node.islandora_object.field_isbn - - field.field.node.islandora_object.field_issn - - field.field.node.islandora_object.field_item_barcode - - field.field.node.islandora_object.field_jhir - - field.field.node.islandora_object.field_language - - field.field.node.islandora_object.field_lcc_classification - - field.field.node.islandora_object.field_library_catalog_link - - field.field.node.islandora_object.field_linked_agent - - field.field.node.islandora_object.field_local_identifier - - field.field.node.islandora_object.field_member_of - - field.field.node.islandora_object.field_mode_of_issuance - - field.field.node.islandora_object.field_model - - field.field.node.islandora_object.field_note - - field.field.node.islandora_object.field_oclc_number - - field.field.node.islandora_object.field_physical_form - - field.field.node.islandora_object.field_pid - - field.field.node.islandora_object.field_place_published - - field.field.node.islandora_object.field_place_published_country - - field.field.node.islandora_object.field_publisher - - field.field.node.islandora_object.field_publisher_country - - field.field.node.islandora_object.field_resource_type - - field.field.node.islandora_object.field_rights - - field.field.node.islandora_object.field_spatial_coverage - - field.field.node.islandora_object.field_subject - - field.field.node.islandora_object.field_subject_general - - field.field.node.islandora_object.field_subjects_name - - field.field.node.islandora_object.field_table_of_contents - - field.field.node.islandora_object.field_temporal_subject - - field.field.node.islandora_object.field_unique_id - - field.field.node.islandora_object.field_weight - - field.field.node.islandora_object.field_years - - node.type.islandora_object - module: - - controlled_access_terms - - geolocation - - text - - user -_core: - default_config_hash: '-Vv4WbpVPAiJnQKMrjkVm2ZOUkPsp6kZJUfH_mPD6RQ' -id: node.islandora_object.pdfjs -targetEntityType: node -bundle: islandora_object -mode: pdfjs -content: - display_media_entity_view_3: - settings: { } - third_party_settings: { } - weight: 10 - region: content - display_media_original_download: - settings: { } - third_party_settings: { } - weight: 10 - region: content - field_abstract: - type: text_default - label: above - settings: { } - third_party_settings: { } - weight: 19 - region: content - field_classification: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 28 - region: content - field_coordinates: - type: geolocation_latlng - label: above - settings: { } - third_party_settings: { } - weight: 22 - region: content - field_coordinates_text: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 23 - region: content - field_description: - type: basic_string - label: above - settings: { } - third_party_settings: { } - weight: 15 - region: content - field_dewey_classification: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 26 - region: content - field_edition: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 9 - region: content - field_edtf_date: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - third_party_settings: { } - weight: 8 - region: content - field_edtf_date_created: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - third_party_settings: { } - weight: 6 - region: content - field_edtf_date_issued: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - third_party_settings: { } - weight: 7 - region: content - field_extent: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 18 - region: content - field_gemini_uri: - settings: { } - third_party_settings: { } - weight: 30 - region: content - field_genre: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 14 - region: content - field_geographic_subject: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 21 - region: content - field_identifier: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 1 - region: content - field_isbn: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 31 - region: content - field_language: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 12 - region: content - field_lcc_classification: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 27 - region: content - field_linked_agent: - type: typed_relation_default - label: above - settings: - link: true - third_party_settings: { } - weight: 5 - region: content - field_local_identifier: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 29 - region: content - field_member_of: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 4 - region: content - field_note: - type: text_default - label: above - settings: { } - third_party_settings: { } - weight: 33 - region: content - field_oclc_number: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 32 - region: content - field_physical_form: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 17 - region: content - field_place_published: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 11 - region: content - field_resource_type: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 13 - region: content - field_rights: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 19 - region: content - field_subject: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 20 - region: content - field_subjects_name: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 25 - region: content - field_table_of_contents: - type: text_default - label: above - settings: { } - third_party_settings: { } - weight: 16 - region: content - field_temporal_subject: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 24 - region: content - islandora_fits_checksum: - settings: { } - third_party_settings: { } - weight: 100 - region: content - links: - settings: { } - third_party_settings: { } - weight: 2 - region: content - pdfjs_media_evas_entity_view_1: - settings: { } - third_party_settings: { } - weight: 3 - region: content - search_within_this_collection_link_entity_view_1: - settings: { } - third_party_settings: { } - weight: 10 - region: content -hidden: - display_media_entity_view_1: true - display_media_entity_view_2: true - display_media_service_file: true - display_media_thumbnail: true - field_alt_title: true - field_alternative_title: true - field_citable_url: true - field_collection_number: true - field_contributor: true - field_copyright_and_use: true - field_copyright_date: true - field_copyright_holder: true - field_creator: true - field_date_available: true - field_date_captured: true - field_date_copyrighted: true - field_date_modified: true - field_date_published: true - field_date_valid: true - field_digital_identifier: true - field_digital_publisher: true - field_display_hints: true - field_dspace_identifier: true - field_dspace_item_id: true - field_featured_item: true - field_finding_aid: true - field_frequency: true - field_full_title: true - field_geoportal_link: true - field_is_part_of: true - field_issn: true - field_item_barcode: true - field_jhir: true - field_library_catalog_link: true - field_mode_of_issuance: true - field_model: true - field_pid: true - field_place_published_country: true - field_publisher: true - field_publisher_country: true - field_spatial_coverage: true - field_subject_general: true - field_unique_id: true - field_weight: true - field_years: true - langcode: true - openseadragon_media_evas_entity_view_1: true - openseadragon_media_evas_entity_view_2: true - openseadragon_media_evas_service_file: true - pdfjs_media_evas_entity_view_2: true - pdfjs_media_evas_service_file: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.node.islandora_object.search_index.yml b/config/export/core.entity_view_display.node.islandora_object.search_index.yml deleted file mode 100644 index 9435f80c0..000000000 --- a/config/export/core.entity_view_display.node.islandora_object.search_index.yml +++ /dev/null @@ -1,503 +0,0 @@ -uuid: 7dc00254-0960-4016-a55e-70edee4697f7 -langcode: en -status: false -dependencies: - config: - - core.entity_view_mode.node.search_index - - field.field.node.islandora_object.field_abstract - - field.field.node.islandora_object.field_alt_title - - field.field.node.islandora_object.field_alternative_title - - field.field.node.islandora_object.field_citable_url - - field.field.node.islandora_object.field_classification - - field.field.node.islandora_object.field_collection_number - - field.field.node.islandora_object.field_contributor - - field.field.node.islandora_object.field_coordinates - - field.field.node.islandora_object.field_coordinates_text - - field.field.node.islandora_object.field_copyright_and_use - - field.field.node.islandora_object.field_copyright_date - - field.field.node.islandora_object.field_copyright_holder - - field.field.node.islandora_object.field_creator - - field.field.node.islandora_object.field_date_available - - field.field.node.islandora_object.field_date_captured - - field.field.node.islandora_object.field_date_copyrighted - - field.field.node.islandora_object.field_date_modified - - field.field.node.islandora_object.field_date_published - - field.field.node.islandora_object.field_date_valid - - field.field.node.islandora_object.field_description - - field.field.node.islandora_object.field_dewey_classification - - field.field.node.islandora_object.field_digital_identifier - - field.field.node.islandora_object.field_digital_publisher - - field.field.node.islandora_object.field_display_hints - - field.field.node.islandora_object.field_dspace_identifier - - field.field.node.islandora_object.field_dspace_item_id - - field.field.node.islandora_object.field_edition - - field.field.node.islandora_object.field_edtf_date - - field.field.node.islandora_object.field_edtf_date_created - - field.field.node.islandora_object.field_edtf_date_issued - - field.field.node.islandora_object.field_extent - - field.field.node.islandora_object.field_featured_item - - field.field.node.islandora_object.field_finding_aid - - field.field.node.islandora_object.field_frequency - - field.field.node.islandora_object.field_full_title - - field.field.node.islandora_object.field_genre - - field.field.node.islandora_object.field_geographic_subject - - field.field.node.islandora_object.field_geoportal_link - - field.field.node.islandora_object.field_identifier - - field.field.node.islandora_object.field_is_part_of - - field.field.node.islandora_object.field_isbn - - field.field.node.islandora_object.field_issn - - field.field.node.islandora_object.field_item_barcode - - field.field.node.islandora_object.field_jhir - - field.field.node.islandora_object.field_language - - field.field.node.islandora_object.field_lcc_classification - - field.field.node.islandora_object.field_library_catalog_link - - field.field.node.islandora_object.field_linked_agent - - field.field.node.islandora_object.field_local_identifier - - field.field.node.islandora_object.field_member_of - - field.field.node.islandora_object.field_mode_of_issuance - - field.field.node.islandora_object.field_model - - field.field.node.islandora_object.field_note - - field.field.node.islandora_object.field_oclc_number - - field.field.node.islandora_object.field_physical_form - - field.field.node.islandora_object.field_pid - - field.field.node.islandora_object.field_place_published - - field.field.node.islandora_object.field_place_published_country - - field.field.node.islandora_object.field_publisher - - field.field.node.islandora_object.field_publisher_country - - field.field.node.islandora_object.field_resource_type - - field.field.node.islandora_object.field_rights - - field.field.node.islandora_object.field_spatial_coverage - - field.field.node.islandora_object.field_subject - - field.field.node.islandora_object.field_subject_general - - field.field.node.islandora_object.field_subjects_name - - field.field.node.islandora_object.field_table_of_contents - - field.field.node.islandora_object.field_temporal_subject - - field.field.node.islandora_object.field_unique_id - - field.field.node.islandora_object.field_weight - - field.field.node.islandora_object.field_years - - node.type.islandora_object - module: - - controlled_access_terms - - geolocation - - text - - user -_core: - default_config_hash: 7nAsgKpklfcldz5UjF5QnwGQqa2f2zypALWMvnJ8PeI -id: node.islandora_object.search_index -targetEntityType: node -bundle: islandora_object -mode: search_index -content: - display_media_entity_view_1: - settings: { } - third_party_settings: { } - weight: 44 - region: content - display_media_entity_view_2: - settings: { } - third_party_settings: { } - weight: 3 - region: content - display_media_original_download: - settings: { } - third_party_settings: { } - weight: 43 - region: content - display_media_service_file: - settings: { } - third_party_settings: { } - weight: 1 - region: content - field_abstract: - type: text_default - label: above - settings: { } - third_party_settings: { } - weight: 19 - region: content - field_alt_title: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 4 - region: content - field_classification: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 36 - region: content - field_coordinates: - type: geolocation_latlng - label: above - settings: { } - third_party_settings: { } - weight: 32 - region: content - field_coordinates_text: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 33 - region: content - field_copyright_date: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 11 - region: content - field_date_captured: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 13 - region: content - field_date_modified: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 14 - region: content - field_date_valid: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 12 - region: content - field_description: - type: basic_string - label: above - settings: { } - third_party_settings: { } - weight: 18 - region: content - field_dewey_classification: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 34 - region: content - field_edition: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 15 - region: content - field_edtf_date: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 9 - region: content - field_edtf_date_created: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 8 - region: content - field_edtf_date_issued: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 7 - region: content - field_extent: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 26 - region: content - field_frequency: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 17 - region: content - field_full_title: - type: basic_string - label: above - settings: { } - third_party_settings: { } - weight: 0 - region: content - field_gemini_uri: - settings: { } - third_party_settings: { } - weight: 42 - region: content - field_genre: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 24 - region: content - field_geographic_subject: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 29 - region: content - field_identifier: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 37 - region: content - field_isbn: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 38 - region: content - field_language: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 22 - region: content - field_lcc_classification: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 35 - region: content - field_linked_agent: - type: typed_relation_default - label: above - settings: - link: true - third_party_settings: { } - weight: 5 - region: content - field_local_identifier: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 40 - region: content - field_member_of: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 3 - region: content - field_mode_of_issuance: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 16 - region: content - field_note: - type: text_default - label: above - settings: { } - third_party_settings: { } - weight: 21 - region: content - field_oclc_number: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 39 - region: content - field_physical_form: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 25 - region: content - field_place_published: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 6 - region: content - field_resource_type: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 23 - region: content - field_rights: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 41 - region: content - field_subject: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 28 - region: content - field_subject_general: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 27 - region: content - field_subjects_name: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 30 - region: content - field_table_of_contents: - type: text_default - label: above - settings: { } - third_party_settings: { } - weight: 20 - region: content - field_temporal_subject: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 31 - region: content - links: - settings: { } - third_party_settings: { } - weight: 10 - region: content - search_within_this_collection_link_entity_view_1: - settings: { } - third_party_settings: { } - weight: 2 - region: content -hidden: - display_media_entity_view_3: true - display_media_thumbnail: true - field_alternative_title: true - field_citable_url: true - field_collection_number: true - field_contributor: true - field_copyright_and_use: true - field_copyright_holder: true - field_creator: true - field_date_available: true - field_date_copyrighted: true - field_date_published: true - field_digital_identifier: true - field_digital_publisher: true - field_display_hints: true - field_dspace_identifier: true - field_dspace_item_id: true - field_featured_item: true - field_finding_aid: true - field_geoportal_link: true - field_is_part_of: true - field_issn: true - field_item_barcode: true - field_jhir: true - field_library_catalog_link: true - field_model: true - field_pid: true - field_place_published_country: true - field_publisher: true - field_publisher_country: true - field_spatial_coverage: true - field_unique_id: true - field_weight: true - field_years: true - islandora_fits_checksum: true - langcode: true - openseadragon_media_evas_entity_view_1: true - openseadragon_media_evas_entity_view_2: true - openseadragon_media_evas_service_file: true - pdfjs_media_evas_entity_view_1: true - pdfjs_media_evas_entity_view_2: true - pdfjs_media_evas_service_file: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.node.islandora_object.search_result.yml b/config/export/core.entity_view_display.node.islandora_object.search_result.yml deleted file mode 100644 index 40e771035..000000000 --- a/config/export/core.entity_view_display.node.islandora_object.search_result.yml +++ /dev/null @@ -1,268 +0,0 @@ -uuid: 0f9f6b23-0a1b-4d28-b9e7-cbded2204478 -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.node.search_result - - field.field.node.islandora_object.field_abstract - - field.field.node.islandora_object.field_alt_title - - field.field.node.islandora_object.field_alternative_title - - field.field.node.islandora_object.field_citable_url - - field.field.node.islandora_object.field_classification - - field.field.node.islandora_object.field_collection_number - - field.field.node.islandora_object.field_contributor - - field.field.node.islandora_object.field_coordinates - - field.field.node.islandora_object.field_coordinates_text - - field.field.node.islandora_object.field_copyright_and_use - - field.field.node.islandora_object.field_copyright_date - - field.field.node.islandora_object.field_copyright_holder - - field.field.node.islandora_object.field_creator - - field.field.node.islandora_object.field_date_available - - field.field.node.islandora_object.field_date_captured - - field.field.node.islandora_object.field_date_copyrighted - - field.field.node.islandora_object.field_date_modified - - field.field.node.islandora_object.field_date_published - - field.field.node.islandora_object.field_date_valid - - field.field.node.islandora_object.field_description - - field.field.node.islandora_object.field_dewey_classification - - field.field.node.islandora_object.field_digital_identifier - - field.field.node.islandora_object.field_digital_publisher - - field.field.node.islandora_object.field_display_hints - - field.field.node.islandora_object.field_dspace_identifier - - field.field.node.islandora_object.field_dspace_item_id - - field.field.node.islandora_object.field_edition - - field.field.node.islandora_object.field_edtf_date - - field.field.node.islandora_object.field_edtf_date_created - - field.field.node.islandora_object.field_edtf_date_issued - - field.field.node.islandora_object.field_extent - - field.field.node.islandora_object.field_featured_item - - field.field.node.islandora_object.field_finding_aid - - field.field.node.islandora_object.field_frequency - - field.field.node.islandora_object.field_full_title - - field.field.node.islandora_object.field_genre - - field.field.node.islandora_object.field_geographic_subject - - field.field.node.islandora_object.field_geoportal_link - - field.field.node.islandora_object.field_identifier - - field.field.node.islandora_object.field_is_part_of - - field.field.node.islandora_object.field_isbn - - field.field.node.islandora_object.field_issn - - field.field.node.islandora_object.field_item_barcode - - field.field.node.islandora_object.field_jhir - - field.field.node.islandora_object.field_language - - field.field.node.islandora_object.field_lcc_classification - - field.field.node.islandora_object.field_library_catalog_link - - field.field.node.islandora_object.field_linked_agent - - field.field.node.islandora_object.field_local_identifier - - field.field.node.islandora_object.field_member_of - - field.field.node.islandora_object.field_mode_of_issuance - - field.field.node.islandora_object.field_model - - field.field.node.islandora_object.field_note - - field.field.node.islandora_object.field_oclc_number - - field.field.node.islandora_object.field_physical_form - - field.field.node.islandora_object.field_pid - - field.field.node.islandora_object.field_place_published - - field.field.node.islandora_object.field_place_published_country - - field.field.node.islandora_object.field_publisher - - field.field.node.islandora_object.field_publisher_country - - field.field.node.islandora_object.field_resource_type - - field.field.node.islandora_object.field_rights - - field.field.node.islandora_object.field_spatial_coverage - - field.field.node.islandora_object.field_subject - - field.field.node.islandora_object.field_subject_general - - field.field.node.islandora_object.field_subjects_name - - field.field.node.islandora_object.field_table_of_contents - - field.field.node.islandora_object.field_temporal_subject - - field.field.node.islandora_object.field_unique_id - - field.field.node.islandora_object.field_weight - - field.field.node.islandora_object.field_years - - node.type.islandora_object - module: - - controlled_access_terms - - text - - user -_core: - default_config_hash: 7nAsgKpklfcldz5UjF5QnwGQqa2f2zypALWMvnJ8PeI -id: node.islandora_object.search_result -targetEntityType: node -bundle: islandora_object -mode: search_result -content: - field_abstract: - type: text_trimmed - label: inline - settings: - trim_length: 600 - third_party_settings: { } - weight: 9 - region: content - field_description: - type: basic_string - label: inline - settings: { } - third_party_settings: { } - weight: 8 - region: content - field_edition: - type: string - label: inline - settings: - link_to_entity: false - third_party_settings: { } - weight: 7 - region: content - field_edtf_date: - type: edtf_default - label: inline - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 6 - region: content - field_edtf_date_created: - type: edtf_default - label: inline - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 5 - region: content - field_edtf_date_issued: - type: edtf_default - label: inline - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 4 - region: content - field_identifier: - type: string - label: inline - settings: - link_to_entity: false - third_party_settings: { } - weight: 10 - region: content - field_linked_agent: - type: typed_relation_default - label: hidden - settings: - link: true - third_party_settings: { } - weight: 3 - region: content - field_member_of: - type: entity_reference_label - label: inline - settings: - link: true - third_party_settings: { } - weight: 2 - region: content - field_resource_type: - type: entity_reference_label - label: inline - settings: - link: true - third_party_settings: { } - weight: 1 - region: content - links: - settings: { } - third_party_settings: { } - weight: 0 - region: content - search_api_excerpt: - settings: { } - third_party_settings: { } - weight: 11 - region: content -hidden: - display_media_entity_view_1: true - display_media_entity_view_2: true - display_media_entity_view_3: true - display_media_original_download: true - display_media_service_file: true - display_media_thumbnail: true - field_alt_title: true - field_alternative_title: true - field_citable_url: true - field_classification: true - field_collection_number: true - field_contributor: true - field_coordinates: true - field_coordinates_text: true - field_copyright_and_use: true - field_copyright_date: true - field_copyright_holder: true - field_creator: true - field_date_available: true - field_date_captured: true - field_date_copyrighted: true - field_date_modified: true - field_date_published: true - field_date_valid: true - field_dewey_classification: true - field_digital_identifier: true - field_digital_publisher: true - field_display_hints: true - field_dspace_identifier: true - field_dspace_item_id: true - field_extent: true - field_featured_item: true - field_finding_aid: true - field_frequency: true - field_full_title: true - field_gemini_uri: true - field_genre: true - field_geographic_subject: true - field_geoportal_link: true - field_is_part_of: true - field_isbn: true - field_issn: true - field_item_barcode: true - field_jhir: true - field_language: true - field_lcc_classification: true - field_library_catalog_link: true - field_local_identifier: true - field_mode_of_issuance: true - field_model: true - field_note: true - field_oclc_number: true - field_physical_form: true - field_pid: true - field_place_published: true - field_place_published_country: true - field_publisher: true - field_publisher_country: true - field_rights: true - field_spatial_coverage: true - field_subject: true - field_subject_general: true - field_subjects_name: true - field_table_of_contents: true - field_temporal_subject: true - field_unique_id: true - field_weight: true - field_years: true - islandora_fits_checksum: true - langcode: true - openseadragon_media_evas_entity_view_1: true - openseadragon_media_evas_entity_view_2: true - openseadragon_media_evas_service_file: true - pdfjs_media_evas_entity_view_1: true - pdfjs_media_evas_entity_view_2: true - pdfjs_media_evas_service_file: true - search_within_this_collection_link_entity_view_1: true diff --git a/config/export/core.entity_view_display.node.islandora_object.teaser.yml b/config/export/core.entity_view_display.node.islandora_object.teaser.yml deleted file mode 100644 index 855ac7bd1..000000000 --- a/config/export/core.entity_view_display.node.islandora_object.teaser.yml +++ /dev/null @@ -1,190 +0,0 @@ -uuid: 7f1af8fc-1c67-447a-a195-7b8ec5961082 -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.node.teaser - - field.field.node.islandora_object.field_abstract - - field.field.node.islandora_object.field_alt_title - - field.field.node.islandora_object.field_alternative_title - - field.field.node.islandora_object.field_citable_url - - field.field.node.islandora_object.field_classification - - field.field.node.islandora_object.field_collection_number - - field.field.node.islandora_object.field_contributor - - field.field.node.islandora_object.field_coordinates - - field.field.node.islandora_object.field_coordinates_text - - field.field.node.islandora_object.field_copyright_and_use - - field.field.node.islandora_object.field_copyright_date - - field.field.node.islandora_object.field_copyright_holder - - field.field.node.islandora_object.field_creator - - field.field.node.islandora_object.field_date_available - - field.field.node.islandora_object.field_date_captured - - field.field.node.islandora_object.field_date_copyrighted - - field.field.node.islandora_object.field_date_modified - - field.field.node.islandora_object.field_date_published - - field.field.node.islandora_object.field_date_valid - - field.field.node.islandora_object.field_description - - field.field.node.islandora_object.field_dewey_classification - - field.field.node.islandora_object.field_digital_identifier - - field.field.node.islandora_object.field_digital_publisher - - field.field.node.islandora_object.field_display_hints - - field.field.node.islandora_object.field_dspace_identifier - - field.field.node.islandora_object.field_dspace_item_id - - field.field.node.islandora_object.field_edition - - field.field.node.islandora_object.field_edtf_date - - field.field.node.islandora_object.field_edtf_date_created - - field.field.node.islandora_object.field_edtf_date_issued - - field.field.node.islandora_object.field_extent - - field.field.node.islandora_object.field_featured_item - - field.field.node.islandora_object.field_finding_aid - - field.field.node.islandora_object.field_frequency - - field.field.node.islandora_object.field_full_title - - field.field.node.islandora_object.field_genre - - field.field.node.islandora_object.field_geographic_subject - - field.field.node.islandora_object.field_geoportal_link - - field.field.node.islandora_object.field_identifier - - field.field.node.islandora_object.field_is_part_of - - field.field.node.islandora_object.field_isbn - - field.field.node.islandora_object.field_issn - - field.field.node.islandora_object.field_item_barcode - - field.field.node.islandora_object.field_jhir - - field.field.node.islandora_object.field_language - - field.field.node.islandora_object.field_lcc_classification - - field.field.node.islandora_object.field_library_catalog_link - - field.field.node.islandora_object.field_linked_agent - - field.field.node.islandora_object.field_local_identifier - - field.field.node.islandora_object.field_member_of - - field.field.node.islandora_object.field_mode_of_issuance - - field.field.node.islandora_object.field_model - - field.field.node.islandora_object.field_note - - field.field.node.islandora_object.field_oclc_number - - field.field.node.islandora_object.field_physical_form - - field.field.node.islandora_object.field_pid - - field.field.node.islandora_object.field_place_published - - field.field.node.islandora_object.field_place_published_country - - field.field.node.islandora_object.field_publisher - - field.field.node.islandora_object.field_publisher_country - - field.field.node.islandora_object.field_resource_type - - field.field.node.islandora_object.field_rights - - field.field.node.islandora_object.field_spatial_coverage - - field.field.node.islandora_object.field_subject - - field.field.node.islandora_object.field_subject_general - - field.field.node.islandora_object.field_subjects_name - - field.field.node.islandora_object.field_table_of_contents - - field.field.node.islandora_object.field_temporal_subject - - field.field.node.islandora_object.field_unique_id - - field.field.node.islandora_object.field_weight - - field.field.node.islandora_object.field_years - - node.type.islandora_object - module: - - controlled_access_terms - - user -_core: - default_config_hash: JknApCSkcV3PzfTMK_yhbY65o6sBHvjIs5J6dJF2YI0 -id: node.islandora_object.teaser -targetEntityType: node -bundle: islandora_object -mode: teaser -content: - display_media_entity_view_3: - settings: { } - third_party_settings: { } - weight: 0 - region: content - field_linked_agent: - type: typed_relation_default - label: hidden - settings: - link: true - third_party_settings: { } - weight: 3 - region: content -hidden: - display_media_entity_view_1: true - display_media_entity_view_2: true - display_media_original_download: true - display_media_service_file: true - display_media_thumbnail: true - field_abstract: true - field_alt_title: true - field_alternative_title: true - field_citable_url: true - field_classification: true - field_collection_number: true - field_contributor: true - field_coordinates: true - field_coordinates_text: true - field_copyright_and_use: true - field_copyright_date: true - field_copyright_holder: true - field_creator: true - field_date_available: true - field_date_captured: true - field_date_copyrighted: true - field_date_modified: true - field_date_published: true - field_date_valid: true - field_description: true - field_dewey_classification: true - field_digital_identifier: true - field_digital_publisher: true - field_display_hints: true - field_dspace_identifier: true - field_dspace_item_id: true - field_edition: true - field_edtf_date: true - field_edtf_date_created: true - field_edtf_date_issued: true - field_extent: true - field_featured_item: true - field_finding_aid: true - field_frequency: true - field_full_title: true - field_gemini_uri: true - field_genre: true - field_geographic_subject: true - field_geoportal_link: true - field_identifier: true - field_is_part_of: true - field_isbn: true - field_issn: true - field_item_barcode: true - field_jhir: true - field_language: true - field_lcc_classification: true - field_library_catalog_link: true - field_local_identifier: true - field_member_of: true - field_mode_of_issuance: true - field_model: true - field_note: true - field_oclc_number: true - field_physical_form: true - field_pid: true - field_place_published: true - field_place_published_country: true - field_publisher: true - field_publisher_country: true - field_resource_type: true - field_rights: true - field_spatial_coverage: true - field_subject: true - field_subject_general: true - field_subjects_name: true - field_table_of_contents: true - field_temporal_subject: true - field_unique_id: true - field_weight: true - field_years: true - islandora_fits_checksum: true - langcode: true - links: true - members_eva_entity_view_1: true - openseadragon_media_evas_entity_view_1: true - openseadragon_media_evas_entity_view_2: true - openseadragon_media_evas_service_file: true - pdfjs_media_evas_entity_view_1: true - pdfjs_media_evas_entity_view_2: true - pdfjs_media_evas_service_file: true - search_api_excerpt: true - search_within_this_collection_link_entity_view_1: true diff --git a/config/export/core.entity_view_display.node.page.default.yml b/config/export/core.entity_view_display.node.page.default.yml deleted file mode 100644 index 478cdbe8a..000000000 --- a/config/export/core.entity_view_display.node.page.default.yml +++ /dev/null @@ -1,50 +0,0 @@ -uuid: b73f6a3c-5516-4557-a360-193f17be3889 -langcode: en -status: true -dependencies: - config: - - field.field.node.page.body - - node.type.page - module: - - text - - user -_core: - default_config_hash: M_Y8L5tfmhx7DR143E05YyZSpvgil6VFvqcfBWykalg -id: node.page.default -targetEntityType: node -bundle: page -mode: default -content: - body: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 100 - region: content - display_media_entity_view_1: - settings: { } - third_party_settings: { } - weight: 10 - region: content - display_media_entity_view_2: - settings: { } - third_party_settings: { } - weight: 10 - region: content - display_media_service_file: - settings: { } - third_party_settings: { } - weight: 10 - region: content - display_media_thumbnail: - settings: { } - third_party_settings: { } - weight: 10 - region: content - links: - weight: 101 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.node.page.teaser.yml b/config/export/core.entity_view_display.node.page.teaser.yml deleted file mode 100644 index faf05fb51..000000000 --- a/config/export/core.entity_view_display.node.page.teaser.yml +++ /dev/null @@ -1,52 +0,0 @@ -uuid: 6b61fb2b-66b9-4f52-a801-5f0a2f09f44d -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.node.teaser - - field.field.node.page.body - - node.type.page - module: - - text - - user -_core: - default_config_hash: 8BgdRtLbtQ0F__o0FHSH0Mx5fvXOra9tfT1GmNKbRYw -id: node.page.teaser -targetEntityType: node -bundle: page -mode: teaser -content: - body: - type: text_summary_or_trimmed - label: hidden - settings: - trim_length: 600 - third_party_settings: { } - weight: 100 - region: content - display_media_entity_view_1: - settings: { } - third_party_settings: { } - weight: 10 - region: content - display_media_entity_view_2: - settings: { } - third_party_settings: { } - weight: 10 - region: content - display_media_service_file: - settings: { } - third_party_settings: { } - weight: 10 - region: content - display_media_thumbnail: - settings: { } - third_party_settings: { } - weight: 10 - region: content - links: - weight: 101 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.taxonomy_term.copyright_and_use.default.yml b/config/export/core.entity_view_display.taxonomy_term.copyright_and_use.default.yml deleted file mode 100644 index 7d6177107..000000000 --- a/config/export/core.entity_view_display.taxonomy_term.copyright_and_use.default.yml +++ /dev/null @@ -1,46 +0,0 @@ -uuid: 5beacfd8-b4cb-4e36-ac9c-0999b3b48267 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.copyright_and_use.field_authority_link - - field.field.taxonomy_term.copyright_and_use.field_unique_id - - taxonomy.vocabulary.copyright_and_use - module: - - controlled_access_terms - - text -id: taxonomy_term.copyright_and_use.default -targetEntityType: taxonomy_term -bundle: copyright_and_use -mode: default -content: - description: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 0 - region: content - field_authority_link: - type: authority_formatter_default - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: _blank - third_party_settings: { } - weight: 1 - region: content - field_unique_id: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 2 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.taxonomy_term.corporate_body.default.yml b/config/export/core.entity_view_display.taxonomy_term.corporate_body.default.yml deleted file mode 100644 index 6eda70fb1..000000000 --- a/config/export/core.entity_view_display.taxonomy_term.corporate_body.default.yml +++ /dev/null @@ -1,161 +0,0 @@ -uuid: 88fc40e6-783e-428c-aacf-26f33122b894 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.corporate_body.field_authority_link - - field.field.taxonomy_term.corporate_body.field_cat_date_begin - - field.field.taxonomy_term.corporate_body.field_cat_date_end - - field.field.taxonomy_term.corporate_body.field_corporate_body_alt_name - - field.field.taxonomy_term.corporate_body.field_date - - field.field.taxonomy_term.corporate_body.field_date_of_meeting_or_treaty - - field.field.taxonomy_term.corporate_body.field_location_of_meeting - - field.field.taxonomy_term.corporate_body.field_num_of_section_or_meet - - field.field.taxonomy_term.corporate_body.field_primary_name - - field.field.taxonomy_term.corporate_body.field_relationships - - field.field.taxonomy_term.corporate_body.field_subordinate_name - - field.field.taxonomy_term.corporate_body.field_type - - field.field.taxonomy_term.corporate_body.field_unique_id - - taxonomy.vocabulary.corporate_body - module: - - controlled_access_terms - - options - - text -_core: - default_config_hash: eg7su46-dvGu8agiWB3umWh6Q43kphzdGfbB3zcmlOc -id: taxonomy_term.corporate_body.default -targetEntityType: taxonomy_term -bundle: corporate_body -mode: default -content: - description: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 5 - region: content - field_authority_link: - type: authority_formatter_default - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: _blank - third_party_settings: { } - weight: 1 - region: content - field_cat_date_begin: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - third_party_settings: { } - weight: 2 - region: content - field_cat_date_end: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - third_party_settings: { } - weight: 3 - region: content - field_corporate_body_alt_name: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 8 - region: content - field_date: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 13 - region: content - field_date_of_meeting_or_treaty: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 9 - region: content - field_location_of_meeting: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 10 - region: content - field_num_of_section_or_meet: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 11 - region: content - field_primary_name: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 12 - region: content - field_relationships: - type: typed_relation_default - label: above - settings: - link: true - third_party_settings: { } - weight: 7 - region: content - field_subordinate_name: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 15 - region: content - field_type: - type: list_default - label: above - settings: { } - third_party_settings: { } - weight: 0 - region: content - field_unique_id: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 14 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.taxonomy_term.country.default.yml b/config/export/core.entity_view_display.taxonomy_term.country.default.yml deleted file mode 100644 index 064e5f84c..000000000 --- a/config/export/core.entity_view_display.taxonomy_term.country.default.yml +++ /dev/null @@ -1,39 +0,0 @@ -uuid: 3cc07ba3-6fa4-43ee-b73e-e6ce3c60f63d -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.country.field_authority_link - - taxonomy.vocabulary.country - module: - - controlled_access_terms - - text -_core: - default_config_hash: CwK5rkemUZGOqxX5uiQ4zzbaTEZlqLVP3JU4duGdYm0 -id: taxonomy_term.country.default -targetEntityType: taxonomy_term -bundle: country -mode: default -content: - description: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 0 - region: content - field_authority_link: - type: authority_formatter_default - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: _blank - third_party_settings: { } - weight: 1 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.taxonomy_term.family.default.yml b/config/export/core.entity_view_display.taxonomy_term.family.default.yml deleted file mode 100644 index 1403e64cf..000000000 --- a/config/export/core.entity_view_display.taxonomy_term.family.default.yml +++ /dev/null @@ -1,112 +0,0 @@ -uuid: 88ed4fbf-19d0-4e73-ab22-54fe6f0b8776 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.family.field_authority_link - - field.field.taxonomy_term.family.field_cat_date_begin - - field.field.taxonomy_term.family.field_cat_date_end - - field.field.taxonomy_term.family.field_date - - field.field.taxonomy_term.family.field_family_name - - field.field.taxonomy_term.family.field_relationships - - field.field.taxonomy_term.family.field_title_and_other_words - - field.field.taxonomy_term.family.field_unique_id - - taxonomy.vocabulary.family - module: - - controlled_access_terms - - text -_core: - default_config_hash: 4NbQYruYFUapF4M8iOlQBaNczr0hr6KhxR-PhRQxjZs -id: taxonomy_term.family.default -targetEntityType: taxonomy_term -bundle: family -mode: default -content: - description: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 4 - region: content - field_authority_link: - type: authority_formatter_default - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: _blank - third_party_settings: { } - weight: 10 - region: content - field_cat_date_begin: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - third_party_settings: { } - weight: 8 - region: content - field_cat_date_end: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - third_party_settings: { } - weight: 9 - region: content - field_date: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 12 - region: content - field_family_name: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 13 - region: content - field_relationships: - type: typed_relation_default - label: above - settings: - link: true - third_party_settings: { } - weight: 11 - region: content - field_title_and_other_words: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 14 - region: content - field_unique_id: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 15 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.taxonomy_term.frequencies.default.yml b/config/export/core.entity_view_display.taxonomy_term.frequencies.default.yml deleted file mode 100644 index 537021cb8..000000000 --- a/config/export/core.entity_view_display.taxonomy_term.frequencies.default.yml +++ /dev/null @@ -1,39 +0,0 @@ -uuid: 57071666-556f-4543-bb9e-b02abb3cb512 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.frequencies.field_authority_link - - taxonomy.vocabulary.frequencies - module: - - controlled_access_terms - - text -_core: - default_config_hash: 7VmnAl6W-srQIwcGpbYTMLkwd9fRlf3lhPvjTmbC1Y8 -id: taxonomy_term.frequencies.default -targetEntityType: taxonomy_term -bundle: frequencies -mode: default -content: - description: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 0 - region: content - field_authority_link: - type: authority_formatter_default - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: _blank - third_party_settings: { } - weight: 1 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.taxonomy_term.genre.default.yml b/config/export/core.entity_view_display.taxonomy_term.genre.default.yml deleted file mode 100644 index 440b11e8e..000000000 --- a/config/export/core.entity_view_display.taxonomy_term.genre.default.yml +++ /dev/null @@ -1,48 +0,0 @@ -uuid: 42a3e6b7-18e1-4c7f-b819-3400b1263f5d -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.genre.field_authority_link - - field.field.taxonomy_term.genre.field_unique_id - - taxonomy.vocabulary.genre - module: - - controlled_access_terms - - text -_core: - default_config_hash: dqReSRpiwgsw70IML1yD4yHdffSWD3G7wWNSEycgDz8 -id: taxonomy_term.genre.default -targetEntityType: taxonomy_term -bundle: genre -mode: default -content: - description: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 0 - region: content - field_authority_link: - type: authority_formatter_default - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: _blank - third_party_settings: { } - weight: 1 - region: content - field_unique_id: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 2 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.taxonomy_term.geo_location.default.yml b/config/export/core.entity_view_display.taxonomy_term.geo_location.default.yml deleted file mode 100644 index d221641b5..000000000 --- a/config/export/core.entity_view_display.taxonomy_term.geo_location.default.yml +++ /dev/null @@ -1,80 +0,0 @@ -uuid: a04ae45b-dd3a-406c-991a-08315cf4d451 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.geo_location.field_authority_link - - field.field.taxonomy_term.geo_location.field_broader - - field.field.taxonomy_term.geo_location.field_geo_alt_name - - field.field.taxonomy_term.geo_location.field_geo_geolocation - - field.field.taxonomy_term.geo_location.field_unique_id - - taxonomy.vocabulary.geo_location - module: - - controlled_access_terms - - geolocation - - link - - text -_core: - default_config_hash: 2IWu7AK6BJrbzWfbJyQntIT3yljHO6KDqltuhjUMQQU -id: taxonomy_term.geo_location.default -targetEntityType: taxonomy_term -bundle: geo_location -mode: default -content: - description: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 6 - region: content - field_authority_link: - type: authority_formatter_default - label: inline - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: _blank - third_party_settings: { } - weight: 1 - region: content - field_broader: - type: link - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: '' - third_party_settings: { } - weight: 8 - region: content - field_geo_alt_name: - type: string - label: inline - settings: - link_to_entity: false - third_party_settings: { } - weight: 4 - region: content - field_geo_geolocation: - type: geolocation_latlng - label: inline - settings: { } - third_party_settings: { } - weight: 2 - region: content - field_unique_id: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 7 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.taxonomy_term.islandora_display.default.yml b/config/export/core.entity_view_display.taxonomy_term.islandora_display.default.yml deleted file mode 100644 index 099b3c9f2..000000000 --- a/config/export/core.entity_view_display.taxonomy_term.islandora_display.default.yml +++ /dev/null @@ -1,39 +0,0 @@ -uuid: f012aa47-6877-41ea-843a-b9edfaf95223 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.islandora_display.field_external_uri - - taxonomy.vocabulary.islandora_display - module: - - link - - text -_core: - default_config_hash: pCLXyfeM4YAzdP2UDvOoybTAd33kS8HXnQc5wqAusOk -id: taxonomy_term.islandora_display.default -targetEntityType: taxonomy_term -bundle: islandora_display -mode: default -content: - description: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 0 - region: content - field_external_uri: - type: link - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: '' - third_party_settings: { } - weight: 1 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.taxonomy_term.islandora_media_use.default.yml b/config/export/core.entity_view_display.taxonomy_term.islandora_media_use.default.yml deleted file mode 100644 index 5de730a10..000000000 --- a/config/export/core.entity_view_display.taxonomy_term.islandora_media_use.default.yml +++ /dev/null @@ -1,39 +0,0 @@ -uuid: f3c9c937-37e6-4bfa-9ecd-00e57ecd9fc1 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.islandora_media_use.field_external_uri - - taxonomy.vocabulary.islandora_media_use - module: - - link - - text -_core: - default_config_hash: AWQvwUv2d5J2082A_AzmhRK4O3XFkHCEr_IRunRHaVo -id: taxonomy_term.islandora_media_use.default -targetEntityType: taxonomy_term -bundle: islandora_media_use -mode: default -content: - description: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 0 - region: content - field_external_uri: - type: link - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: '' - third_party_settings: { } - weight: 1 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.taxonomy_term.islandora_models.default.yml b/config/export/core.entity_view_display.taxonomy_term.islandora_models.default.yml deleted file mode 100644 index 03952bc5f..000000000 --- a/config/export/core.entity_view_display.taxonomy_term.islandora_models.default.yml +++ /dev/null @@ -1,39 +0,0 @@ -uuid: 14fe682d-8327-4374-bd71-91fe4f80021e -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.islandora_models.field_external_uri - - taxonomy.vocabulary.islandora_models - module: - - link - - text -_core: - default_config_hash: Y-gOXIhSmxlX1Dl4mPKJS39A4nH47vbEMlQu4uBa7XM -id: taxonomy_term.islandora_models.default -targetEntityType: taxonomy_term -bundle: islandora_models -mode: default -content: - description: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 0 - region: content - field_external_uri: - type: link - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: '' - third_party_settings: { } - weight: 1 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.taxonomy_term.issuance_modes.default.yml b/config/export/core.entity_view_display.taxonomy_term.issuance_modes.default.yml deleted file mode 100644 index 53233d302..000000000 --- a/config/export/core.entity_view_display.taxonomy_term.issuance_modes.default.yml +++ /dev/null @@ -1,39 +0,0 @@ -uuid: ac6b1643-1bff-4eaa-ae2a-3bcec0c740f8 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.issuance_modes.field_authority_link - - taxonomy.vocabulary.issuance_modes - module: - - controlled_access_terms - - text -_core: - default_config_hash: dOboywHDW3gkSFjB0DB5ireByItfM9eWXeZt-eIxPDI -id: taxonomy_term.issuance_modes.default -targetEntityType: taxonomy_term -bundle: issuance_modes -mode: default -content: - description: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 0 - region: content - field_authority_link: - type: authority_formatter_default - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: _blank - third_party_settings: { } - weight: 1 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.taxonomy_term.language.default.yml b/config/export/core.entity_view_display.taxonomy_term.language.default.yml deleted file mode 100644 index 61fceb6f8..000000000 --- a/config/export/core.entity_view_display.taxonomy_term.language.default.yml +++ /dev/null @@ -1,39 +0,0 @@ -uuid: c3a04eaa-edcd-4056-969f-c9d8bf7703da -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.language.field_authority_link - - taxonomy.vocabulary.language - module: - - controlled_access_terms - - text -_core: - default_config_hash: _MbQPbUt0Qly57l3YdcfkFSKztJIxn_MULR-b4rcTuc -id: taxonomy_term.language.default -targetEntityType: taxonomy_term -bundle: language -mode: default -content: - description: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 0 - region: content - field_authority_link: - type: authority_formatter_default - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: _blank - third_party_settings: { } - weight: 1 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.taxonomy_term.person.default.yml b/config/export/core.entity_view_display.taxonomy_term.person.default.yml deleted file mode 100644 index bb52539d1..000000000 --- a/config/export/core.entity_view_display.taxonomy_term.person.default.yml +++ /dev/null @@ -1,157 +0,0 @@ -uuid: 3fda8e47-f957-476c-8737-4e01d71d74a7 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.person.field_authority_link - - field.field.taxonomy_term.person.field_cat_date_begin - - field.field.taxonomy_term.person.field_cat_date_end - - field.field.taxonomy_term.person.field_date - - field.field.taxonomy_term.person.field_person_alternate_name - - field.field.taxonomy_term.person.field_preferred_name_fuller_form - - field.field.taxonomy_term.person.field_preferred_name_number - - field.field.taxonomy_term.person.field_preferred_name_prefix - - field.field.taxonomy_term.person.field_preferred_name_rest - - field.field.taxonomy_term.person.field_preferred_name_suffix - - field.field.taxonomy_term.person.field_primary_part_of_name - - field.field.taxonomy_term.person.field_relationships - - field.field.taxonomy_term.person.field_unique_id - - taxonomy.vocabulary.person - module: - - controlled_access_terms - - text -_core: - default_config_hash: '-KViCNNPm8unAlNoDOlCV3TXc7sXbpeK7gRW5vD_ypA' -id: taxonomy_term.person.default -targetEntityType: taxonomy_term -bundle: person -mode: default -content: - description: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 2 - region: content - field_authority_link: - type: authority_formatter_default - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: _blank - third_party_settings: { } - weight: 0 - region: content - field_cat_date_begin: - type: edtf_default - label: above - settings: - date_separator: space - date_order: little_endian - month_format: mmm - day_format: dd - third_party_settings: { } - weight: 3 - region: content - field_cat_date_end: - type: edtf_default - label: above - settings: - date_separator: space - date_order: little_endian - month_format: mmm - day_format: dd - third_party_settings: { } - weight: 4 - region: content - field_date: - type: edtf_default - label: above - settings: - date_separator: dash - date_order: big_endian - month_format: mm - day_format: dd - year_format: 'y' - third_party_settings: { } - weight: 14 - region: content - field_person_alternate_name: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 6 - region: content - field_preferred_name_fuller_form: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 7 - region: content - field_preferred_name_number: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 8 - region: content - field_preferred_name_prefix: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 9 - region: content - field_preferred_name_rest: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 11 - region: content - field_preferred_name_suffix: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 12 - region: content - field_primary_part_of_name: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 10 - region: content - field_relationships: - type: typed_relation_default - label: above - settings: - link: true - third_party_settings: { } - weight: 5 - region: content - field_unique_id: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 13 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.taxonomy_term.physical_form.default.yml b/config/export/core.entity_view_display.taxonomy_term.physical_form.default.yml deleted file mode 100644 index fe10320a7..000000000 --- a/config/export/core.entity_view_display.taxonomy_term.physical_form.default.yml +++ /dev/null @@ -1,39 +0,0 @@ -uuid: c0ed01c2-a1fd-4be6-b394-db1d73c287f1 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.physical_form.field_authority_link - - taxonomy.vocabulary.physical_form - module: - - controlled_access_terms - - text -_core: - default_config_hash: 7esFqnYo_84BYbxSC05U6mkL1KNPze2_qAbAZrbHGng -id: taxonomy_term.physical_form.default -targetEntityType: taxonomy_term -bundle: physical_form -mode: default -content: - description: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 0 - region: content - field_authority_link: - type: authority_formatter_default - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: _blank - third_party_settings: { } - weight: 1 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.taxonomy_term.resource_types.default.yml b/config/export/core.entity_view_display.taxonomy_term.resource_types.default.yml deleted file mode 100644 index 640a9d087..000000000 --- a/config/export/core.entity_view_display.taxonomy_term.resource_types.default.yml +++ /dev/null @@ -1,39 +0,0 @@ -uuid: a872c3a3-39d3-40cf-8d50-9c724a7a00a2 -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.resource_types.field_authority_link - - taxonomy.vocabulary.resource_types - module: - - link - - text -_core: - default_config_hash: W82-1KTjwwd5e98Euc8TFmDyiBrEnKMhpUlbDE_lFJc -id: taxonomy_term.resource_types.default -targetEntityType: taxonomy_term -bundle: resource_types -mode: default -content: - description: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 0 - region: content - field_authority_link: - type: link - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: '' - third_party_settings: { } - weight: 1 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.taxonomy_term.subject.default.yml b/config/export/core.entity_view_display.taxonomy_term.subject.default.yml deleted file mode 100644 index 060d55fc7..000000000 --- a/config/export/core.entity_view_display.taxonomy_term.subject.default.yml +++ /dev/null @@ -1,48 +0,0 @@ -uuid: bfbacbbc-56b1-4200-ac12-555670f4901c -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.subject.field_authority_link - - field.field.taxonomy_term.subject.field_unique_id - - taxonomy.vocabulary.subject - module: - - controlled_access_terms - - text -_core: - default_config_hash: 3yMrATFYT7qVlZ_yZ36wuZPE_ueigt20gMnev5Yf_QE -id: taxonomy_term.subject.default -targetEntityType: taxonomy_term -bundle: subject -mode: default -content: - description: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 101 - region: content - field_authority_link: - type: authority_formatter_default - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: _blank - third_party_settings: { } - weight: 103 - region: content - field_unique_id: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 104 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.taxonomy_term.temporal_subjects.default.yml b/config/export/core.entity_view_display.taxonomy_term.temporal_subjects.default.yml deleted file mode 100644 index f1d9e41bd..000000000 --- a/config/export/core.entity_view_display.taxonomy_term.temporal_subjects.default.yml +++ /dev/null @@ -1,39 +0,0 @@ -uuid: ccaa1ec9-d46e-4d91-859a-0884b0fa248a -langcode: en -status: true -dependencies: - config: - - field.field.taxonomy_term.temporal_subjects.field_authority_link - - taxonomy.vocabulary.temporal_subjects - module: - - controlled_access_terms - - text -_core: - default_config_hash: PTVcsTMcIUevDTgzcJGOjg993LBE_ndBfadMZCzXk-c -id: taxonomy_term.temporal_subjects.default -targetEntityType: taxonomy_term -bundle: temporal_subjects -mode: default -content: - description: - type: text_default - label: hidden - settings: { } - third_party_settings: { } - weight: 0 - region: content - field_authority_link: - type: authority_formatter_default - label: above - settings: - trim_length: 80 - url_only: false - url_plain: false - rel: '' - target: _blank - third_party_settings: { } - weight: 1 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.user.user.compact.yml b/config/export/core.entity_view_display.user.user.compact.yml deleted file mode 100644 index 7ca2ef777..000000000 --- a/config/export/core.entity_view_display.user.user.compact.yml +++ /dev/null @@ -1,33 +0,0 @@ -uuid: edeceffc-e529-423d-ae42-56af651ff4d3 -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.user.compact - - field.field.user.user.user_picture - - image.style.thumbnail - module: - - image - - user -_core: - default_config_hash: 00zr_RBdTjPjBGITD3h4c1ESQZimjdVCcHGt1trLqIY -id: user.user.compact -targetEntityType: user -bundle: user -mode: compact -content: - user_picture: - type: image - label: hidden - settings: - image_link: content - image_style: thumbnail - image_loading: - attribute: lazy - third_party_settings: { } - weight: 0 - region: content -hidden: - langcode: true - member_for: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_display.user.user.default.yml b/config/export/core.entity_view_display.user.user.default.yml deleted file mode 100644 index 70ac6eea0..000000000 --- a/config/export/core.entity_view_display.user.user.default.yml +++ /dev/null @@ -1,34 +0,0 @@ -uuid: c268376a-c705-40a8-8801-3bd709281aaa -langcode: en -status: true -dependencies: - config: - - field.field.user.user.user_picture - - image.style.thumbnail - module: - - image - - user -_core: - default_config_hash: mZLyuWM9CQx2ZJVqFGSbzgFnHzudVbHBYmdU256A5Wk -id: user.user.default -targetEntityType: user -bundle: user -mode: default -content: - member_for: - weight: 5 - region: content - user_picture: - type: image - label: hidden - settings: - image_link: content - image_style: thumbnail - image_loading: - attribute: lazy - third_party_settings: { } - weight: 0 - region: content -hidden: - langcode: true - search_api_excerpt: true diff --git a/config/export/core.entity_view_mode.block.token.yml b/config/export/core.entity_view_mode.block.token.yml deleted file mode 100644 index 81367ada1..000000000 --- a/config/export/core.entity_view_mode.block.token.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: d8fa837f-f244-4b73-a05b-2fe7aa530c94 -langcode: en -status: true -dependencies: - module: - - block -id: block.token -label: Token -targetEntityType: block -cache: true diff --git a/config/export/core.entity_view_mode.block_content.full.yml b/config/export/core.entity_view_mode.block_content.full.yml deleted file mode 100644 index 982604020..000000000 --- a/config/export/core.entity_view_mode.block_content.full.yml +++ /dev/null @@ -1,12 +0,0 @@ -uuid: 5b9db463-37a6-425c-8736-ab0920f9cc3b -langcode: en -status: false -dependencies: - module: - - block_content -_core: - default_config_hash: 4tedlMuvQjDOdvHdw86_e-2Rt78aR7TGFMfOK8Ejppg -id: block_content.full -label: Full -targetEntityType: block_content -cache: true diff --git a/config/export/core.entity_view_mode.block_content.token.yml b/config/export/core.entity_view_mode.block_content.token.yml deleted file mode 100644 index 3923b2211..000000000 --- a/config/export/core.entity_view_mode.block_content.token.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 562e7ea3-8f95-44f7-83fd-aac7681b1e76 -langcode: en -status: true -dependencies: - module: - - block_content -id: block_content.token -label: Token -targetEntityType: block_content -cache: true diff --git a/config/export/core.entity_view_mode.comment.full.yml b/config/export/core.entity_view_mode.comment.full.yml deleted file mode 100644 index 6d7c6de02..000000000 --- a/config/export/core.entity_view_mode.comment.full.yml +++ /dev/null @@ -1,12 +0,0 @@ -uuid: 03214dad-f8b8-42af-9717-e6a49f44c2c2 -langcode: en -status: false -dependencies: - module: - - comment -_core: - default_config_hash: K7eNlfU7NEUajz01wItywZklr2oaPgL6s1_97fmDXLA -id: comment.full -label: 'Full comment' -targetEntityType: comment -cache: true diff --git a/config/export/core.entity_view_mode.comment.token.yml b/config/export/core.entity_view_mode.comment.token.yml deleted file mode 100644 index 46bba9026..000000000 --- a/config/export/core.entity_view_mode.comment.token.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: e9dbc908-b9b6-477e-92f1-585a7274fa77 -langcode: en -status: true -dependencies: - module: - - comment -id: comment.token -label: Token -targetEntityType: comment -cache: true diff --git a/config/export/core.entity_view_mode.contact_message.token.yml b/config/export/core.entity_view_mode.contact_message.token.yml deleted file mode 100644 index 761e65963..000000000 --- a/config/export/core.entity_view_mode.contact_message.token.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 00c24c1e-0081-419a-b060-001fd18389b2 -langcode: en -status: true -dependencies: - module: - - contact -id: contact_message.token -label: Token -targetEntityType: contact_message -cache: true diff --git a/config/export/core.entity_view_mode.file.token.yml b/config/export/core.entity_view_mode.file.token.yml deleted file mode 100644 index 80ad3d396..000000000 --- a/config/export/core.entity_view_mode.file.token.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 926f8872-7e28-4065-8cd8-1d85c3b6f793 -langcode: en -status: true -dependencies: - module: - - file -id: file.token -label: Token -targetEntityType: file -cache: true diff --git a/config/export/core.entity_view_mode.media.download.yml b/config/export/core.entity_view_mode.media.download.yml deleted file mode 100644 index 80cdfa052..000000000 --- a/config/export/core.entity_view_mode.media.download.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: db5a6446-20e4-4018-88ad-1ecf47236879 -langcode: en -status: true -dependencies: - module: - - media -id: media.download -label: Download -targetEntityType: media -cache: true diff --git a/config/export/core.entity_view_mode.media.file_download.yml b/config/export/core.entity_view_mode.media.file_download.yml deleted file mode 100644 index ff1497cb3..000000000 --- a/config/export/core.entity_view_mode.media.file_download.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: f707f16c-e2f3-4111-a583-c44bdeac44e2 -langcode: en -status: true -dependencies: - module: - - media -id: media.file_download -label: 'File Download' -targetEntityType: media -cache: true diff --git a/config/export/core.entity_view_mode.media.fits_technical_metadata.yml b/config/export/core.entity_view_mode.media.fits_technical_metadata.yml deleted file mode 100644 index 35e880a93..000000000 --- a/config/export/core.entity_view_mode.media.fits_technical_metadata.yml +++ /dev/null @@ -1,12 +0,0 @@ -uuid: a2bb6595-7072-4217-95c3-45eeebf9d99e -langcode: en -status: true -dependencies: - module: - - media -_core: - default_config_hash: iSghNI9O-6dPp9cMQTGYgytj7Wb3c-PR9eUCvJcEMhk -id: media.fits_technical_metadata -label: 'FITS Technical Metadata' -targetEntityType: media -cache: true diff --git a/config/export/core.entity_view_mode.media.full.yml b/config/export/core.entity_view_mode.media.full.yml deleted file mode 100644 index e7f735a9a..000000000 --- a/config/export/core.entity_view_mode.media.full.yml +++ /dev/null @@ -1,12 +0,0 @@ -uuid: 95ebc1d6-9c36-4b75-b847-e464fcf3922b -langcode: en -status: false -dependencies: - module: - - media -_core: - default_config_hash: 6NBUEuGmlkClK8Fb76tSMMpO2eZ4LWCBdbUk4z7CuP0 -id: media.full -label: 'Full content' -targetEntityType: media -cache: true diff --git a/config/export/core.entity_view_mode.media.media_library.yml b/config/export/core.entity_view_mode.media.media_library.yml deleted file mode 100644 index 3ebace9a8..000000000 --- a/config/export/core.entity_view_mode.media.media_library.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: e605478f-13b8-42e3-bc15-c5e7d64aee93 -langcode: en -status: true -dependencies: - module: - - media -id: media.media_library -label: 'Media library' -targetEntityType: media -cache: true diff --git a/config/export/core.entity_view_mode.media.open_seadragon.yml b/config/export/core.entity_view_mode.media.open_seadragon.yml deleted file mode 100644 index b3a349a45..000000000 --- a/config/export/core.entity_view_mode.media.open_seadragon.yml +++ /dev/null @@ -1,12 +0,0 @@ -uuid: d51600e8-bdec-4710-ba31-28bd7d2fdc46 -langcode: en -status: true -dependencies: - module: - - media -_core: - default_config_hash: Psm3qxSAE17ncDreigYEVbFKSAvxxwqGUFp_MrebIyo -id: media.open_seadragon -label: 'Open Seadragon' -targetEntityType: media -cache: true diff --git a/config/export/core.entity_view_mode.media.pdfjs.yml b/config/export/core.entity_view_mode.media.pdfjs.yml deleted file mode 100644 index 41b42ad3b..000000000 --- a/config/export/core.entity_view_mode.media.pdfjs.yml +++ /dev/null @@ -1,12 +0,0 @@ -uuid: f0db8ba1-c60b-4709-b596-2027ea66a183 -langcode: en -status: true -dependencies: - module: - - media -_core: - default_config_hash: qFLXTd7sBpfQLcPgH68KJ9WK9FIx24hHbCQeg892PmY -id: media.pdfjs -label: PDFjs -targetEntityType: media -cache: true diff --git a/config/export/core.entity_view_mode.media.source.yml b/config/export/core.entity_view_mode.media.source.yml deleted file mode 100644 index 01af010b5..000000000 --- a/config/export/core.entity_view_mode.media.source.yml +++ /dev/null @@ -1,12 +0,0 @@ -uuid: 14f2823b-0587-43a4-a2f7-4e5708bd60ec -langcode: en -status: true -dependencies: - module: - - media -_core: - default_config_hash: dPggGijBYXwTv5scVAfcGwySk1Ysl3Zzj_JK747Z0qk -id: media.source -label: Source -targetEntityType: media -cache: true diff --git a/config/export/core.entity_view_mode.media.thumbnail.yml b/config/export/core.entity_view_mode.media.thumbnail.yml deleted file mode 100644 index 0c3a7fc4a..000000000 --- a/config/export/core.entity_view_mode.media.thumbnail.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 0f6963bf-fd15-4134-abb5-5d9c79a7f3ed -langcode: en -status: true -dependencies: - module: - - media -id: media.thumbnail -label: Thumbnail -targetEntityType: media -cache: true diff --git a/config/export/core.entity_view_mode.media.token.yml b/config/export/core.entity_view_mode.media.token.yml deleted file mode 100644 index 134d69abe..000000000 --- a/config/export/core.entity_view_mode.media.token.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: dbb1df79-1f76-4ba2-8102-a1e81894a424 -langcode: en -status: true -dependencies: - module: - - media -id: media.token -label: Token -targetEntityType: media -cache: true diff --git a/config/export/core.entity_view_mode.media.video.yml b/config/export/core.entity_view_mode.media.video.yml deleted file mode 100644 index 68466a8f1..000000000 --- a/config/export/core.entity_view_mode.media.video.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 0d574ffd-9fdb-411f-8192-a188776df568 -langcode: en -status: true -dependencies: - module: - - media -id: media.video -label: Video -targetEntityType: media -cache: true diff --git a/config/export/core.entity_view_mode.menu_link_content.token.yml b/config/export/core.entity_view_mode.menu_link_content.token.yml deleted file mode 100644 index 5ec5e0a7c..000000000 --- a/config/export/core.entity_view_mode.menu_link_content.token.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: ba13f0c9-49a8-4298-89d4-b60692fc4c92 -langcode: en -status: true -dependencies: - module: - - menu_link_content -id: menu_link_content.token -label: Token -targetEntityType: menu_link_content -cache: true diff --git a/config/export/core.entity_view_mode.node.basic.yml b/config/export/core.entity_view_mode.node.basic.yml deleted file mode 100644 index 027638f9a..000000000 --- a/config/export/core.entity_view_mode.node.basic.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 6cb79907-dc7f-4866-a030-948aacbdd852 -langcode: en -status: true -dependencies: - module: - - node -id: node.basic -label: Basic -targetEntityType: node -cache: true diff --git a/config/export/core.entity_view_mode.node.binary.yml b/config/export/core.entity_view_mode.node.binary.yml deleted file mode 100644 index 2cca90cc3..000000000 --- a/config/export/core.entity_view_mode.node.binary.yml +++ /dev/null @@ -1,12 +0,0 @@ -uuid: 1eba70af-f291-427c-b9c6-1aba3349dfec -langcode: en -status: true -dependencies: - module: - - node -_core: - default_config_hash: Zctdw0Qjxs9yz0TgG8o5WEVPoCvtxKAIx8MgaMXtZzQ -id: node.binary -label: Binary -targetEntityType: node -cache: true diff --git a/config/export/core.entity_view_mode.node.collection.yml b/config/export/core.entity_view_mode.node.collection.yml deleted file mode 100644 index 73c2929d0..000000000 --- a/config/export/core.entity_view_mode.node.collection.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 1693a0f4-7e53-4542-bb44-e038aa8f2591 -langcode: en -status: true -dependencies: - module: - - node -id: node.collection -label: Collection -targetEntityType: node -cache: true diff --git a/config/export/core.entity_view_mode.node.compound.yml b/config/export/core.entity_view_mode.node.compound.yml deleted file mode 100644 index 7e83beddb..000000000 --- a/config/export/core.entity_view_mode.node.compound.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 1289cd6a-2c26-496d-bac6-1e8dc47c088e -langcode: en -status: true -dependencies: - module: - - node -id: node.compound -label: Compound -targetEntityType: node -cache: true diff --git a/config/export/core.entity_view_mode.node.compound_member.yml b/config/export/core.entity_view_mode.node.compound_member.yml deleted file mode 100644 index 92360e69a..000000000 --- a/config/export/core.entity_view_mode.node.compound_member.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 645d7fae-7c63-479b-be7b-b90a70e62a3d -langcode: en -status: true -dependencies: - module: - - node -id: node.compound_member -label: 'Compound - Member' -targetEntityType: node -cache: true diff --git a/config/export/core.entity_view_mode.node.full.yml b/config/export/core.entity_view_mode.node.full.yml deleted file mode 100644 index bc8d1b063..000000000 --- a/config/export/core.entity_view_mode.node.full.yml +++ /dev/null @@ -1,12 +0,0 @@ -uuid: fcf01773-2b03-464b-808f-99384b22a2d7 -langcode: en -status: false -dependencies: - module: - - node -_core: - default_config_hash: ElrtInxGjZd7GaapJ5O9n-ugi2hG2IxFivtgn0tHOsk -id: node.full -label: 'Full content' -targetEntityType: node -cache: true diff --git a/config/export/core.entity_view_mode.node.media_evas.yml b/config/export/core.entity_view_mode.node.media_evas.yml deleted file mode 100644 index 5781b49b5..000000000 --- a/config/export/core.entity_view_mode.node.media_evas.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: f04cc9e5-e7b2-45b3-83e7-cfa3e064db97 -langcode: en -status: true -dependencies: - module: - - node -id: node.media_evas -label: 'Media EVAs' -targetEntityType: node -cache: true diff --git a/config/export/core.entity_view_mode.node.newspaper.yml b/config/export/core.entity_view_mode.node.newspaper.yml deleted file mode 100644 index 0885bae7c..000000000 --- a/config/export/core.entity_view_mode.node.newspaper.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 0ffa1463-84d8-41d5-9cf8-7b891c1028c2 -langcode: en -status: true -dependencies: - module: - - node -id: node.newspaper -label: Newspaper -targetEntityType: node -cache: true diff --git a/config/export/core.entity_view_mode.node.open_seadragon.yml b/config/export/core.entity_view_mode.node.open_seadragon.yml deleted file mode 100644 index 885ae8260..000000000 --- a/config/export/core.entity_view_mode.node.open_seadragon.yml +++ /dev/null @@ -1,12 +0,0 @@ -uuid: 072509a2-ad8f-43ff-a94a-6730f7caaf8a -langcode: en -status: true -dependencies: - module: - - node -_core: - default_config_hash: 3gngsdemEmmFuj-H0Jo-6M8jGLvV7KErOZY44fxBhU0 -id: node.open_seadragon -label: 'Open Seadragon' -targetEntityType: node -cache: true diff --git a/config/export/core.entity_view_mode.node.paged.yml b/config/export/core.entity_view_mode.node.paged.yml deleted file mode 100644 index 5c15323fa..000000000 --- a/config/export/core.entity_view_mode.node.paged.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 0f889b59-7b12-4c85-8b8e-62a216c35a4f -langcode: en -status: true -dependencies: - module: - - node -id: node.paged -label: Paged -targetEntityType: node -cache: true diff --git a/config/export/core.entity_view_mode.node.pdfjs.yml b/config/export/core.entity_view_mode.node.pdfjs.yml deleted file mode 100644 index 8d9e52367..000000000 --- a/config/export/core.entity_view_mode.node.pdfjs.yml +++ /dev/null @@ -1,12 +0,0 @@ -uuid: d74bcea2-1457-47d0-abfc-25168c35ecc2 -langcode: en -status: true -dependencies: - module: - - node -_core: - default_config_hash: icNxZKY6SpxkaiQfnOd2CeeyIG4zuUHhCla7oaMGov0 -id: node.pdfjs -label: PDFjs -targetEntityType: node -cache: true diff --git a/config/export/core.entity_view_mode.node.remote_media.yml b/config/export/core.entity_view_mode.node.remote_media.yml deleted file mode 100644 index d2f513e82..000000000 --- a/config/export/core.entity_view_mode.node.remote_media.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 1bc0d1e9-723d-46dc-953b-5774ff72476f -langcode: en -status: true -dependencies: - module: - - node -id: node.remote_media -label: 'Remote Media' -targetEntityType: node -cache: true diff --git a/config/export/core.entity_view_mode.node.revision.yml b/config/export/core.entity_view_mode.node.revision.yml deleted file mode 100644 index d77d95fcd..000000000 --- a/config/export/core.entity_view_mode.node.revision.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: a8cb9757-b2bb-445f-b5e3-84184992b165 -langcode: en -status: true -dependencies: - module: - - node -id: node.revision -label: Revision -targetEntityType: node -cache: true diff --git a/config/export/core.entity_view_mode.node.rss.yml b/config/export/core.entity_view_mode.node.rss.yml deleted file mode 100644 index 25e300b43..000000000 --- a/config/export/core.entity_view_mode.node.rss.yml +++ /dev/null @@ -1,12 +0,0 @@ -uuid: 9eefaab0-0f8f-44d0-a89b-ee4a5caf4cca -langcode: en -status: false -dependencies: - module: - - node -_core: - default_config_hash: vlYzr-rp2f9NMp-Qlr4sFjlqRq-90mco5-afLNGwCrU -id: node.rss -label: RSS -targetEntityType: node -cache: true diff --git a/config/export/core.entity_view_mode.node.search_index.yml b/config/export/core.entity_view_mode.node.search_index.yml deleted file mode 100644 index 6da2cc45e..000000000 --- a/config/export/core.entity_view_mode.node.search_index.yml +++ /dev/null @@ -1,12 +0,0 @@ -uuid: 93bddf83-3211-427b-9180-d45ece9e5c9c -langcode: en -status: false -dependencies: - module: - - node -_core: - default_config_hash: fVFfJv_GzBRE-wpRHbfD5a3VjnhbEOXG6lvRd3uaccY -id: node.search_index -label: 'Search index' -targetEntityType: node -cache: true diff --git a/config/export/core.entity_view_mode.node.search_result.yml b/config/export/core.entity_view_mode.node.search_result.yml deleted file mode 100644 index 8ff159f97..000000000 --- a/config/export/core.entity_view_mode.node.search_result.yml +++ /dev/null @@ -1,12 +0,0 @@ -uuid: 0a3b23e1-de7e-4546-a726-7c405d92c5a2 -langcode: en -status: false -dependencies: - module: - - node -_core: - default_config_hash: 6GCOQ-jP2RbdbHA5YWQ6bT8CfGbqrBYKOSC_XY4E3ZM -id: node.search_result -label: 'Search result highlighting input' -targetEntityType: node -cache: true diff --git a/config/export/core.entity_view_mode.node.something_else.yml b/config/export/core.entity_view_mode.node.something_else.yml deleted file mode 100644 index 58271dd96..000000000 --- a/config/export/core.entity_view_mode.node.something_else.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 28cc9ef9-33bd-4279-ace4-a7727f242a5b -langcode: en -status: true -dependencies: - module: - - node -id: node.something_else -label: 'Something Else' -targetEntityType: node -cache: true diff --git a/config/export/core.entity_view_mode.node.teaser.yml b/config/export/core.entity_view_mode.node.teaser.yml deleted file mode 100644 index 0ef0960df..000000000 --- a/config/export/core.entity_view_mode.node.teaser.yml +++ /dev/null @@ -1,12 +0,0 @@ -uuid: 0c16309a-bbb5-4060-8d1e-d31af4483732 -langcode: en -status: true -dependencies: - module: - - node -_core: - default_config_hash: Mz9qWr1kUYK0mjRAGDsr5XS6PvtZ24en_7ndt-pyWe4 -id: node.teaser -label: Teaser -targetEntityType: node -cache: true diff --git a/config/export/core.entity_view_mode.node.token.yml b/config/export/core.entity_view_mode.node.token.yml deleted file mode 100644 index 35e350d0b..000000000 --- a/config/export/core.entity_view_mode.node.token.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: e78e5e9d-32b0-471d-b3d3-76af94f5621e -langcode: en -status: true -dependencies: - module: - - node -id: node.token -label: Token -targetEntityType: node -cache: true diff --git a/config/export/core.entity_view_mode.path_alias.token.yml b/config/export/core.entity_view_mode.path_alias.token.yml deleted file mode 100644 index d075b89f7..000000000 --- a/config/export/core.entity_view_mode.path_alias.token.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: ec9b7247-a611-4dd8-9a56-b4cfbedb2b22 -langcode: en -status: true -dependencies: - module: - - path_alias -id: path_alias.token -label: Token -targetEntityType: path_alias -cache: true diff --git a/config/export/core.entity_view_mode.shortcut.token.yml b/config/export/core.entity_view_mode.shortcut.token.yml deleted file mode 100644 index b162afb48..000000000 --- a/config/export/core.entity_view_mode.shortcut.token.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: e289bb7d-d52a-4a43-87b7-cc0b826a9875 -langcode: en -status: true -dependencies: - module: - - shortcut -id: shortcut.token -label: Token -targetEntityType: shortcut -cache: true diff --git a/config/export/core.entity_view_mode.taxonomy_term.full.yml b/config/export/core.entity_view_mode.taxonomy_term.full.yml deleted file mode 100644 index 08146d19c..000000000 --- a/config/export/core.entity_view_mode.taxonomy_term.full.yml +++ /dev/null @@ -1,12 +0,0 @@ -uuid: bf55a9f3-493d-4866-a0ae-7f8cb8282e0a -langcode: en -status: true -dependencies: - module: - - taxonomy -_core: - default_config_hash: '-PPKjsNQPvoIDjOuUAvlLocYD976MNjb9Zpgyz5_BWE' -id: taxonomy_term.full -label: 'Taxonomy term page' -targetEntityType: taxonomy_term -cache: true diff --git a/config/export/core.entity_view_mode.taxonomy_term.token.yml b/config/export/core.entity_view_mode.taxonomy_term.token.yml deleted file mode 100644 index 34d569edf..000000000 --- a/config/export/core.entity_view_mode.taxonomy_term.token.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: de4decd0-9d51-4c24-99c4-971e1aa3d4ed -langcode: en -status: true -dependencies: - module: - - taxonomy -id: taxonomy_term.token -label: Token -targetEntityType: taxonomy_term -cache: true diff --git a/config/export/core.entity_view_mode.tour.token.yml b/config/export/core.entity_view_mode.tour.token.yml deleted file mode 100644 index f6fb55a9e..000000000 --- a/config/export/core.entity_view_mode.tour.token.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: 6608a510-e2aa-4004-a812-6338ca619d25 -langcode: en -status: true -dependencies: - module: - - tour -id: tour.token -label: Token -targetEntityType: tour -cache: true diff --git a/config/export/core.entity_view_mode.user.compact.yml b/config/export/core.entity_view_mode.user.compact.yml deleted file mode 100644 index d2f0dacd5..000000000 --- a/config/export/core.entity_view_mode.user.compact.yml +++ /dev/null @@ -1,12 +0,0 @@ -uuid: f591d08c-5d6b-4ea0-899b-dded3c35d8af -langcode: en -status: true -dependencies: - module: - - user -_core: - default_config_hash: 71CSAr_LNPcgu6D6jI4INl1KATkahmeyUFBETAWya8g -id: user.compact -label: Compact -targetEntityType: user -cache: true diff --git a/config/export/core.entity_view_mode.user.full.yml b/config/export/core.entity_view_mode.user.full.yml deleted file mode 100644 index 038f62ff4..000000000 --- a/config/export/core.entity_view_mode.user.full.yml +++ /dev/null @@ -1,12 +0,0 @@ -uuid: 23142e28-ded1-46e0-9e0e-9065de65426c -langcode: en -status: false -dependencies: - module: - - user -_core: - default_config_hash: mQIF_foYjmnVSr9MpcD4CTaJE_FpO1AyDd_DskztGhM -id: user.full -label: 'User account' -targetEntityType: user -cache: true diff --git a/config/export/core.entity_view_mode.user.token.yml b/config/export/core.entity_view_mode.user.token.yml deleted file mode 100644 index 634a171dd..000000000 --- a/config/export/core.entity_view_mode.user.token.yml +++ /dev/null @@ -1,10 +0,0 @@ -uuid: ca0a9752-6141-496d-a579-9880af7e1932 -langcode: en -status: true -dependencies: - module: - - user -id: user.token -label: Token -targetEntityType: user -cache: true diff --git a/config/export/core.extension.yml b/config/export/core.extension.yml deleted file mode 100644 index 475d9a4bc..000000000 --- a/config/export/core.extension.yml +++ /dev/null @@ -1,139 +0,0 @@ -_core: - default_config_hash: R4IF-ClDHXxblLcG0L7MgsLvfBIMAvi_skumNFQwkDc -module: - action: 0 - admin_toolbar: 0 - admin_toolbar_search: 0 - admin_toolbar_tools: 0 - advanced_search: 0 - automated_cron: 0 - basic_auth: 0 - better_exposed_filters: 0 - bibcite: 0 - big_pipe: 0 - block: 0 - block_content: 0 - breakpoint: 0 - citation_select: 0 - ckeditor5: 0 - comment: 0 - config: 0 - config_delete: 0 - config_inspector: 0 - config_update: 0 - contact: 0 - context: 0 - context_ui: 0 - contextual: 0 - controlled_access_terms: 0 - controlled_access_terms_defaults: 0 - csv_serialization: 0 - ctools: 0 - datetime: 0 - dblog: 0 - devel: 0 - dynamic_page_cache: 0 - editor: 0 - entity: 0 - epp: 0 - eva: 0 - facets: 0 - facets_summary: 0 - features: 0 - features_ui: 0 - field: 0 - field_group: 0 - field_permissions: 0 - field_report: 0 - field_ui: 0 - file: 0 - file_replace: 0 - filehash: 0 - filter: 0 - flysystem: 0 - geolocation: 0 - gnode: 0 - group: 0 - groupmedia: 0 - hal: 0 - help: 0 - history: 0 - idc_default_migration: 0 - image: 0 - islandora: 0 - islandora_audio: 0 - islandora_breadcrumbs: 0 - islandora_core_feature: 0 - islandora_fits: 0 - islandora_iiif: 0 - islandora_image: 0 - islandora_text_extraction: 0 - islandora_text_extraction_defaults: 0 - islandora_video: 0 - islandora_workbench_integration: 0 - jquery_ui: 0 - jquery_ui_autocomplete: 0 - jquery_ui_datepicker: 0 - jquery_ui_menu: 0 - jquery_ui_slider: 0 - jquery_ui_touch_punch: 0 - jsonld: 0 - jwt: 0 - key: 0 - language: 0 - link: 0 - matomo: 0 - media: 0 - menu_link_content: 0 - menu_ui: 0 - migrate: 0 - migrate_plus: 0 - migrate_source_csv: 0 - migrate_tools: 0 - mysql: 0 - node: 0 - openseadragon: 0 - options: 0 - page_cache: 0 - path: 0 - path_alias: 0 - pdf: 0 - pgsql: 0 - prepopulate: 0 - rdf: 0 - responsive_image: 0 - rest: 0 - rest_oai_pmh: 0 - search_api: 0 - search_api_solr: 0 - search_api_solr_legacy: 0 - serialization: 0 - shortcut: 0 - sqlite: 0 - syslog: 0 - system: 0 - taxonomy: 0 - taxonomy_manager: 0 - text: 0 - token: 0 - toolbar: 0 - tour: 0 - transliterate_filenames: 0 - twig_tweak: 0 - update: 0 - user: 0 - variationcache: 0 - view_mode_switch: 0 - views_data_export: 0 - views_field_view: 0 - views_nested_details: 0 - views_ui: 0 - pathauto: 1 - content_translation: 10 - views: 10 - minimal: 1000 -theme: - claro: 0 - bootstrap_barrio: 0 - idc_ui_theme_boots: 0 -profile: minimal diff --git a/config/export/core.menu.static_menu_link_overrides.yml b/config/export/core.menu.static_menu_link_overrides.yml deleted file mode 100644 index c7854c771..000000000 --- a/config/export/core.menu.static_menu_link_overrides.yml +++ /dev/null @@ -1,3 +0,0 @@ -_core: - default_config_hash: CXhei_vpaZk-3f_Mj2cH0YmpK-ZpKHoSzVA3yZrDq0g -definitions: { } diff --git a/config/export/dblog.settings.yml b/config/export/dblog.settings.yml deleted file mode 100644 index fbd17ea50..000000000 --- a/config/export/dblog.settings.yml +++ /dev/null @@ -1,3 +0,0 @@ -_core: - default_config_hash: e883aGsrt1wFrsydlYU584PZONCSfRy0DtkZ9KzHb58 -row_limit: 1000 diff --git a/config/export/devel.settings.yml b/config/export/devel.settings.yml deleted file mode 100644 index ebe78a9a4..000000000 --- a/config/export/devel.settings.yml +++ /dev/null @@ -1,12 +0,0 @@ -_core: - default_config_hash: Aqx6J0yYT6mVqT0fbjeP4JkoL-700nmudVF5d6Pq2Yo -page_alter: false -raw_names: false -error_handlers: - 1: 1 -rebuild_theme: true -debug_mail_file_format: '%to-%subject-%datetime.mail.txt' -debug_mail_directory: 'temporary://devel-mails' -devel_dumper: kint -debug_logfile: 'temporary://drupal_debug.txt' -debug_pre: true diff --git a/config/export/devel.toolbar.settings.yml b/config/export/devel.toolbar.settings.yml deleted file mode 100644 index 76ada43ce..000000000 --- a/config/export/devel.toolbar.settings.yml +++ /dev/null @@ -1,10 +0,0 @@ -_core: - default_config_hash: IQjf_ytthngZTAk_MU8-74VecArWD3G5g0oEH6PM6GA -toolbar_items: - - devel.admin_settings_link - - devel.cache_clear - - devel.container_info.service - - devel.menu_rebuild - - devel.reinstall - - devel.route_info - - devel.run_cron diff --git a/config/export/editor.editor.basic_html.yml b/config/export/editor.editor.basic_html.yml deleted file mode 100644 index 5fa14c17f..000000000 --- a/config/export/editor.editor.basic_html.yml +++ /dev/null @@ -1,66 +0,0 @@ -uuid: fef8df9d-82c3-406e-bbbf-60774521e018 -langcode: en -status: true -dependencies: - config: - - filter.format.basic_html - module: - - ckeditor5 -format: basic_html -editor: ckeditor5 -settings: - toolbar: - items: - - bold - - italic - - '|' - - link - - '|' - - bulletedList - - numberedList - - '|' - - blockQuote - - drupalInsertImage - - '|' - - heading - - '|' - - sourceEditing - - '|' - - code - plugins: - ckeditor5_heading: - enabled_headings: - - heading2 - - heading3 - - heading4 - - heading5 - - heading6 - ckeditor5_sourceEditing: - allowed_tags: - - '' - - '
' - - '
' - - '
' - - '' - - '' - - '
' - - '

{% trans %}Steps{% endtrans %}

    -
  1. {% trans %}In the Manage administration menu, navigate to Configuration > System > Cron. Note the Last run time on the page.{% endtrans %}
  2. +
  3. {% trans %}In the Manage administration menu, navigate to Configuration > System > {{ cron_link }}. Note the Last run time on the page.{% endtrans %}
  4. {% trans %}If you want to run cron right now, click Run cron and wait for cron to finish.{% endtrans %}
  5. {% trans %}If you have a way to configure tasks on your web server, copy the link where it says To run cron from outside the site, go to. Set up a task to visit that URL on your desired cron schedule, such as once an hour or once a week. (On Linux-like servers, you can use the wget command to visit a URL.) If you configure an outside task, you should uninstall the Automated Cron module.{% endtrans %}
  6. {% trans %}If you are not configuring an outside task, and you have the core Automated Cron module installed, select a schedule for automated cron runs in Cron settings > Run cron every. Click Save configuration.{% endtrans %}
  7. diff --git a/web/core/modules/help_topics/help_topics/core.security.html.twig b/web/core/modules/help_topics/help_topics/core.security.html.twig index 81b684cd2..bf78ba36f 100644 --- a/web/core/modules/help_topics/help_topics/core.security.html.twig +++ b/web/core/modules/help_topics/help_topics/core.security.html.twig @@ -4,9 +4,12 @@ top_level: true ---

    {% trans %}What are security updates?{% endtrans %}

    {% trans %}Any software occasionally has bugs, and sometimes these bugs have security implications. When security bugs are fixed in the core software, modules, or themes that your site uses, they are released in a security update. You will need to apply security updates in order to keep your site secure.{% endtrans %}

    +

    {% trans %}What are security advisories?{% endtrans %}

    +

    {% trans %}A security advisory is a public announcement about a reported security problem in the core software. Contributed projects with a shield icon and "Stable releases for this project are covered by the security advisory policy" on their project page are also covered by Drupal's security advisory policy. Security advisories are managed by the Drupal Security Team.{% endtrans %}

    {% trans %}Security tasks{% endtrans %}

    {% trans %}Keeping track of updates, updating the core software, and updating contributed modules and/or themes are all part of keeping your site secure. See the related topics listed below for specific tasks.{% endtrans %}

    {% trans %}Additional resources{% endtrans %}

    diff --git a/web/core/modules/help_topics/help_topics/core.web_services.html.twig b/web/core/modules/help_topics/help_topics/core.web_services.html.twig index a0f4e87f7..555752b49 100644 --- a/web/core/modules/help_topics/help_topics/core.web_services.html.twig +++ b/web/core/modules/help_topics/help_topics/core.web_services.html.twig @@ -26,8 +26,6 @@ related:
    {% trans %}Adds support for serializing content entities using the JSON version of HAL.{% endtrans %}
    {% trans %}HTTP Basic Authentication module{% endtrans %}
    {% trans %}Provides a way for web services to be authenticated using HTTP Basic authentication against Drupal user accounts.{% endtrans %}
    -
    {% trans %}RDF module{% endtrans %}
    -
    {% trans %}Enriches your content with metadata to let other applications (e.g., search engines, aggregators, and so on) better understand its relationships and attributes. This semantically enriched, machine-readable output for your website uses the RDFa specification, which allows RDF data to be embedded in HTML markup.{% endtrans %}

{% trans %}There are also contributed modules that provide web services.{% endtrans %}

{% trans %}Additional resources{% endtrans %}

diff --git a/web/core/modules/help_topics/help_topics/editor.overview.html.twig b/web/core/modules/help_topics/help_topics/editor.overview.html.twig index 4deb28d02..5712620e9 100644 --- a/web/core/modules/help_topics/help_topics/editor.overview.html.twig +++ b/web/core/modules/help_topics/help_topics/editor.overview.html.twig @@ -6,18 +6,19 @@ related: - filter.overview --- {% set filter_overview_topic = render_var(help_topic_link('filter.overview')) %} -{% set content_url = render_var(url('filter.admin_overview')) %} +{% set overview_link_text %}{% trans %}Text formats and editors{% endtrans %}{% endset %} +{% set overview_link = render_var(help_route_link(overview_link_text, 'filter.admin_overview')) %}

{% trans %}Goal{% endtrans %}

{% trans %}Configure a text format so that when a user is editing text and selects this text format, a text editor installed on your site is shown. Configure the text editor, such as choosing which buttons and functions are available. See {{ filter_overview_topic }} for more about text formats.{% endtrans %}

{% trans %}What is a text editor?{% endtrans %}

-

{% trans %}A text editor is software (typically, a JavaScript library) that provides buttons and other command mechanisms to make editing HTML text easier. Some editors are called visual or WYSIWYG (What You See Is What You Get) editors; these editors hide the details of HTML from the user, and instead show formatted output on the screen. The core Text Editor module provides a framework for deploying text editors on your site. The core CKEditor module provides CKEditor, which is a widely-used JavaScript WYSIWYG editor that creates clean and valid HTML; the module also enforces the HTML tag restrictions in the associated text format. Various contributed modules provide other editors; to install a new editor, besides installing the module, you may need to download the editor library from a third-party site.{% endtrans %}

+

{% trans %}A text editor is software (typically, a JavaScript library) that provides buttons and other command mechanisms to make editing HTML text easier. Some editors are called visual or WYSIWYG (What You See Is What You Get) editors; these editors hide the details of HTML from the user, and instead show formatted output on the screen. The core Text Editor module provides a framework for deploying text editors on your site. The core CKEditor 5 module provides CKEditor 5, which is a widely-used JavaScript text editor that creates clean and valid HTML; the module also enforces the HTML tag restrictions in the associated text format. Various contributed modules provide other editors; to install a new editor, besides installing the module, you may need to download the editor library from a third-party site.{% endtrans %}

{% trans %}Steps{% endtrans %}

    -
  1. {% trans %}In the Manage administrative menu, navigate to Configuration > Content Authoring > Text formats and editors. The Text editor column in the table shows the text editor that is currently connected to each text format, if any.{% endtrans %}
  2. +
  3. {% trans %}In the Manage administrative menu, navigate to Configuration > Content Authoring > {{ overview_link }}. The Text editor column in the table shows the text editor that is currently connected to each text format, if any.{% endtrans %}
  4. {% trans %}Follow the steps on {{ filter_overview_topic }} to add a new text format or configure an existing text format; when you reach the step about text editors, return to this topic.{% endtrans %}
  5. -
  6. {% trans %}Select CKEditor as the Text editor, or another text editor that you have installed. The rest of these steps assume you selected CKEditor.{% endtrans %}
  7. -
  8. {% trans %}Under Toolbar configuration, drag buttons between Available buttons and Active toolbar; only buttons in Active toolbar will be shown to the user. If you are using a mouse, you can hover over a button to see a tooltip explaining what the button does.{% endtrans %}
  9. -
  10. {% trans %}Drag buttons within Active toolbar to the desired order, and group buttons by dragging them into the grouping boxes; click Add group to add additional groups.{% endtrans %}
  11. -
  12. {% trans %}Under CKEditor plugin settings, configure the buttons that have configuration. This section will not be present if there are no active buttons with configuration.{% endtrans %}
  13. +
  14. {% trans %}Select CKEditor 5 as the Text editor, or another text editor that you have installed. The rest of these steps assume you selected CKEditor 5.{% endtrans %}
  15. +
  16. {% trans %}Under Toolbar configuration, drag buttons between Available buttons and Active toolbar; only buttons in Active toolbar will be shown to the user. Focusing or hovering over a button will display a tooltip explaining what the button does.{% endtrans %}
  17. +
  18. {% trans %}Drag buttons within Active toolbar to the desired order, and group buttons by dragging them between group identifiers; drag a new group identifier to the toolbar to add additional groups.{% endtrans %}
  19. +
  20. {% trans %}If you add buttons that require configuration, the CKEditor 5 plugin settings section will be visible, and provide their respective configuration forms. {% endtrans %}
  21. {% trans %}Return to {{ filter_overview_topic }} to complete the text format configuration, and be sure to save the text format.{% endtrans %}
diff --git a/web/core/modules/help_topics/help_topics/field_ui.add_field.html.twig b/web/core/modules/help_topics/help_topics/field_ui.add_field.html.twig index 2672450e1..25776b176 100644 --- a/web/core/modules/help_topics/help_topics/field_ui.add_field.html.twig +++ b/web/core/modules/help_topics/help_topics/field_ui.add_field.html.twig @@ -5,13 +5,14 @@ related: - field_ui.manage_display - field_ui.manage_form --- -{% set content_types = render_var(url('entity.node_type.collection')) %} +{% set content_types_link_text %}{% trans %}Content types{% endtrans %}{% endset %} +{% set content_types_link = render_var(help_route_link(content_types_link_text, 'entity.node_type.collection')) %} {% set content_structure_topic = render_var(help_topic_link('core.content_structure')) %}

{% trans %}Goal{% endtrans %}

{% trans %}Add a field to an entity sub-type; see {{ content_structure_topic }} for an overview of entity types and sub-types, as well as an overview of field types.{% endtrans %}

{% trans %}Steps{% endtrans %}

    -
  1. {% trans %}Navigate to the page for managing the entity sub-type you want to add the field to. For example, to add a field to a content type, in the Manage administrative menu, navigate to Structure > Content types.{% endtrans %}
  2. +
  3. {% trans %}Navigate to the page for managing the entity sub-type you want to add the field to. For example, to add a field to a content type, in the Manage administrative menu, navigate to Structure > {{ content_types_link }}.{% endtrans %}
  4. {% trans %}Find the particular sub-type that you want to add the field to, and click Manage fields.{% endtrans %}
  5. {% trans %}Click Add field.{% endtrans %}
  6. {% trans %}In Add a new field, select the type of field you want to add; see {{ content_structure_topic }} for an overview of field types.{% endtrans %}
  7. diff --git a/web/core/modules/help_topics/help_topics/field_ui.manage_display.html.twig b/web/core/modules/help_topics/help_topics/field_ui.manage_display.html.twig index 10bd1b55a..8990743b2 100644 --- a/web/core/modules/help_topics/help_topics/field_ui.manage_display.html.twig +++ b/web/core/modules/help_topics/help_topics/field_ui.manage_display.html.twig @@ -6,13 +6,14 @@ related: - field_ui.manage_form - core.ui_accessibility --- -{% set content_types = render_var(url('entity.node_type.collection')) %} +{% set content_types_link_text %}{% trans %}Content types{% endtrans %}{% endset %} +{% set content_types_link = render_var(help_route_link(content_types_link_text, 'entity.node_type.collection')) %} {% set content_structure_topic = render_var(help_topic_link('core.content_structure')) %}

    {% trans %}Goal{% endtrans %}

    {% trans %}Configure the formatters used to display the fields of an entity sub-type, their order in the display, and the formatter settings. See {{ content_structure_topic }} for background information.{% endtrans %}

    {% trans %}Steps{% endtrans %}

      -
    1. {% trans %}Navigate to the page for managing the entity type you want to add the field to. For example, to add a field to a content type, in the Manage administrative menu, navigate to Structure > Content types.{% endtrans %}
    2. +
    3. {% trans %}Navigate to the page for managing the entity type you want to add the field to. For example, to add a field to a content type, in the Manage administrative menu, navigate to Structure > {{ content_types_link }}.{% endtrans %}
    4. {% trans %}Find the particular sub-type that you want to configure the display of, and click Manage display in the Operations list.{% endtrans %}
    5. {% trans %}Use the drag arrows to order the fields in your preferred order.{% endtrans %}
    6. {% trans %}Drag any fields that you do not wish to see in the display to the Disabled section.{% endtrans %}
    7. diff --git a/web/core/modules/help_topics/help_topics/field_ui.manage_form.html.twig b/web/core/modules/help_topics/help_topics/field_ui.manage_form.html.twig index e3bacec71..6b7f59220 100644 --- a/web/core/modules/help_topics/help_topics/field_ui.manage_form.html.twig +++ b/web/core/modules/help_topics/help_topics/field_ui.manage_form.html.twig @@ -6,13 +6,14 @@ related: - field_ui.manage_display - core.ui_accessibility --- -{% set content_types = render_var(url('entity.node_type.collection')) %} +{% set content_types_link_text %}{% trans %}Content types{% endtrans %}{% endset %} +{% set content_types_link = render_var(help_route_link(content_types_link_text, 'entity.node_type.collection')) %} {% set content_structure_topic = render_var(help_topic_link('core.content_structure')) %}

      {% trans %}Goal{% endtrans %}

      {% trans %}Configure the widgets used to edit the fields of an entity sub-type, their order on the form, and the widget settings. See {{ content_structure_topic }} for background information.{% endtrans %}

      {% trans %}Steps{% endtrans %}

        -
      1. {% trans %}Navigate to the page for managing the entity type you want to add the field to. For example, to add a field to a content type, in the Manage administrative menu, navigate to Structure > Content types.{% endtrans %}
      2. +
      3. {% trans %}Navigate to the page for managing the entity type you want to add the field to. For example, to add a field to a content type, in the Manage administrative menu, navigate to Structure > {{ content_types_link }}.{% endtrans %}
      4. {% trans %}Find the particular sub-type that you want to configure the editing form for, and click Manage form display in the Operations list.{% endtrans %}
      5. {% trans %}Use the drag arrows to order the fields in your preferred order.{% endtrans %}
      6. {% trans %}Drag any fields that you do not wish to see on the editing form to the Disabled section.{% endtrans %}
      7. diff --git a/web/core/modules/help_topics/help_topics/field_ui.reference_field.html.twig b/web/core/modules/help_topics/help_topics/field_ui.reference_field.html.twig index 4d5ddcee0..22a0048c6 100644 --- a/web/core/modules/help_topics/help_topics/field_ui.reference_field.html.twig +++ b/web/core/modules/help_topics/help_topics/field_ui.reference_field.html.twig @@ -7,12 +7,13 @@ related: - field_ui.manage_form --- {% set content_structure_topic = render_var(help_topic_link('core.content_structure')) %} -{% set content_types = render_var(url('entity.node_type.collection')) %} +{% set content_types_link_text %}{% trans %}Content types{% endtrans %}{% endset %} +{% set content_types_link = render_var(help_route_link(content_types_link_text, 'entity.node_type.collection')) %}

        {% trans %}Goal{% endtrans %}

        {% trans %}Add an entity reference field to an entity sub-type; see {{ content_structure_topic }} for more information on entities and reference fields.{% endtrans %}

        {% trans %}Steps{% endtrans %}

          -
        1. {% trans %}Navigate to the page for managing the entity sub-type you want to add the field to. For example, to add a field to a content type, in the Manage administrative menu, navigate to Structure > Content types.{% endtrans %}
        2. +
        3. {% trans %}Navigate to the page for managing the entity sub-type you want to add the field to. For example, to add a field to a content type, in the Manage administrative menu, navigate to Structure > {{ content_types_link }}.{% endtrans %}
        4. {% trans %}Find the particular sub-type that you want to add the field to, and click Manage fields.{% endtrans %}
        5. {% trans %}Click Add field.{% endtrans %}
        6. {% trans %}In Add a new field, select the type of reference field you want to add. The Reference section of the select list shows the most common types of reference field; choose Other... if the entity type you want to reference is not listed.{% endtrans %}
        7. diff --git a/web/core/modules/help_topics/help_topics/filter.overview.html.twig b/web/core/modules/help_topics/help_topics/filter.overview.html.twig index 8beb2a7d9..b796156df 100644 --- a/web/core/modules/help_topics/help_topics/filter.overview.html.twig +++ b/web/core/modules/help_topics/help_topics/filter.overview.html.twig @@ -7,7 +7,8 @@ related: - field_ui.manage_display - field_ui.add_field --- -{% set content_url = render_var(url('filter.admin_overview')) %} +{% set overview_link_text %}{% trans %}Text formats and editors{% endtrans %}{% endset %} +{% set overview_link = render_var(help_route_link(overview_link_text, 'filter.admin_overview')) %}

          {% trans %}Goal{% endtrans %}

          {% trans %}Configure text formats on the site.{% endtrans %}

          {% trans %}What are text filters and text formats?{% endtrans %}

          @@ -27,7 +28,7 @@ related:

          {% trans %}Steps{% endtrans %}

            -
          1. {% trans %}In the Manage administrative menu, navigate to Configuration > Content Authoring > Text formats and editors. If you do not have the core Text Editor module installed, the menu link and page title will instead be Text formats.{% endtrans %}
          2. +
          3. {% trans %}In the Manage administrative menu, navigate to Configuration > Content Authoring > {{ overview_link }}. If you do not have the core Text Editor module installed, the menu link and page title will instead be Text formats.{% endtrans %}
          4. {% trans %}Click Configure to configure an existing text format, or + Add text format to create a new text format.{% endtrans %}
          5. {% trans %}Enter the desired Name for the text format.{% endtrans %}
          6. {% trans %}Check the Roles that can use this text format. Some HTML tags allow users to embed malicious links or scripts in text. To ensure security, anonymous and untrusted users should only have access to text formats that restrict them to either plain text or a safe set of HTML tags. Improper text format configuration is a security risk.{% endtrans %}
          7. diff --git a/web/core/modules/help_topics/help_topics/forum.configuring.html.twig b/web/core/modules/help_topics/help_topics/forum.configuring.html.twig index 0b2b123b1..b6b91ea77 100644 --- a/web/core/modules/help_topics/help_topics/forum.configuring.html.twig +++ b/web/core/modules/help_topics/help_topics/forum.configuring.html.twig @@ -3,21 +3,24 @@ label: 'Configuring forums' related: - forum.concept --- -{% set settings = render_var(url('forum.settings')) %} -{% set overview = render_var(url('forum.overview')) %} {% set forum_concept_topic = render_var(help_topic_link('forum.concept')) %} -{% set index = render_var(url('forum.index')) %} +{% set settings_link_text %}{% trans %}Settings{% endtrans %}{% endset %} +{% set settings_link = render_var(help_route_link(settings_link_text, 'forum.settings')) %} +{% set overview_link_text %}{% trans %}Forums{% endtrans %}{% endset %} +{% set overview_link = render_var(help_route_link(overview_link_text, 'forum.overview')) %} +{% set index_link_text %}{% trans %}Forums{% endtrans %}{% endset %} +{% set index_link = render_var(help_route_link(index_link_text, 'forum.index')) %}

            {% trans %}Goal{% endtrans %}

            {% trans %}Configure settings for forums, and set up forum structure.{% endtrans %}

            {% trans %}Steps{% endtrans %}

              -
            1. {% trans %}In the Manage administrative menu, navigate to Structure > Forums > Settings.{% endtrans %}
            2. +
            3. {% trans %}In the Manage administrative menu, navigate to Structure > Forums > {{ settings_link }}.{% endtrans %}
            4. {% trans %}Choose the desired settings for Hot topic threshold, Topics per page, and Default order. Click Save configuration if you have made any changes.{% endtrans %}
            5. -
            6. {% trans %}In the Manage administrative menu, navigate to Structure > Forums.{% endtrans %}
            7. +
            8. {% trans %}In the Manage administrative menu, navigate to Structure > {{ overview_link }}.{% endtrans %}
            9. {% trans %}Decide on the hierarchy of containers and forums you want for your site; see {{ forum_concept_topic }} for an overview of forum hierarchy.{% endtrans %}
            10. {% trans %}Create the containers that you want in your forum hierarchy, starting at the top level, if any. To create a container, click Add container, enter the container name and optionally other settings, and click Save.{% endtrans %}
            11. {% trans %}Create the forums that you want in your forum hierarchy, starting at the top level. To create a forum, click Add forum and enter the forum name. If your hierarchy has this forum inside a container or another forum, select the parent forum/container in the Parent field. Review and/or edit the other settings, and click Save.{% endtrans %}
            12. {% trans %}Optionally, delete the provided General discussion forum, if you do not want this forum to be available on your site.{% endtrans %}
            13. {% trans %}Review and/or edit the permissions related to forums. The administrative permission for editing the forum settings is in the Forum module section of the permissions page, and administrative permissions for editing the forum hierarchy are in the Taxonomy module section. The user permissions for creating forum topics are in the Node module section, and for commenting on topics are in the Comment module section.{% endtrans %}
            14. -
            15. {% trans %}Add links to the main Forums page (path: /forum), and optionally to individual forum pages, to navigation menus on your site, so that users can find the forums.{% endtrans %}
            16. +
            17. {% trans %}Add links to the main {{ index_link }} page (path: /forum), and optionally to individual forum pages, to navigation menus on your site, so that users can find the forums.{% endtrans %}
            diff --git a/web/core/modules/help_topics/help_topics/forum.locking.html.twig b/web/core/modules/help_topics/help_topics/forum.locking.html.twig index e87639eac..38a7e9c4e 100644 --- a/web/core/modules/help_topics/help_topics/forum.locking.html.twig +++ b/web/core/modules/help_topics/help_topics/forum.locking.html.twig @@ -3,12 +3,13 @@ label: 'Locking a forum topic' related: - forum.concept --- -{% set index = render_var(url('forum.index')) %} +{% set index_link_text %}{% trans %}Forums{% endtrans %}{% endset %} +{% set index_link = render_var(help_route_link(index_link_text, 'forum.index')) %}

            {% trans %}Goal{% endtrans %}

            {% trans %}Lock a topic to prevent users from making any more comments.{% endtrans %}

            {% trans %}Steps{% endtrans %}

              -
            1. {% trans %}Starting from the forums page, navigate to the forum that currently contains the topic.{% endtrans %}
            2. +
            3. {% trans %}Starting from {{ index_link }} (path: /forums), navigate to the forum that currently contains the topic.{% endtrans %}
            4. {% trans %}Locate the topic within the forum, and click on the title to view the topic.{% endtrans %}
            5. {% trans %}Click Edit.{% endtrans %}
            6. {% trans %}Under Comment settings, check Closed.{% endtrans %}
            7. diff --git a/web/core/modules/help_topics/help_topics/forum.moving.html.twig b/web/core/modules/help_topics/help_topics/forum.moving.html.twig index 8fb1df5ff..918daabeb 100644 --- a/web/core/modules/help_topics/help_topics/forum.moving.html.twig +++ b/web/core/modules/help_topics/help_topics/forum.moving.html.twig @@ -3,12 +3,13 @@ label: 'Moving a topic to a new forum' related: - forum.concept --- -{% set index = render_var(url('forum.index')) %} +{% set index_link_text %}{% trans %}Forums{% endtrans %}{% endset %} +{% set index_link = render_var(help_route_link(index_link_text, 'forum.index')) %}

              {% trans %}Goal{% endtrans %}

              {% trans %}Move a forum topic and all of its comments to a new forum. {% endtrans %}

              {% trans %}Steps{% endtrans %}

                -
              1. {% trans %}Starting from the forums page, navigate to the forum that currently contains the topic.{% endtrans %}
              2. +
              3. {% trans %}Starting from {{ index_link }} (path: /forums), navigate to the forum that currently contains the topic.{% endtrans %}
              4. {% trans %}Locate the topic within the forum, and click on the title to view the topic.{% endtrans %}
              5. {% trans %}Click Edit.{% endtrans %}
              6. {% trans %}In the Forums field, select the new forum that you want the topic to move to.{% endtrans %}
              7. diff --git a/web/core/modules/help_topics/help_topics/forum.starting.html.twig b/web/core/modules/help_topics/help_topics/forum.starting.html.twig index 8942425e9..a93974805 100644 --- a/web/core/modules/help_topics/help_topics/forum.starting.html.twig +++ b/web/core/modules/help_topics/help_topics/forum.starting.html.twig @@ -3,12 +3,13 @@ label: 'Starting a forum discussion' related: - forum.concept --- -{% set index = render_var(url('forum.index')) %} +{% set index_link_text %}{% trans %}Forums{% endtrans %}{% endset %} +{% set index_link = render_var(help_route_link(index_link_text, 'forum.index')) %}

                {% trans %}Goal{% endtrans %}

                {% trans %}Post a new topic in a forum to start a discussion.{% endtrans %}

                {% trans %}Steps{% endtrans %}

                  -
                1. {% trans %}Starting from the forums page, navigate to the forum where you want to post the topic.{% endtrans %}
                2. +
                3. {% trans %}Starting from {{ index_link }} (path: /forums), navigate to the forum that currently contains the topic.{% endtrans %}
                4. {% trans %}Click Add new Forum topic.{% endtrans %}
                5. {% trans %}Enter the topic's Subject and Body.{% endtrans %}
                6. {% trans %}Click Save.{% endtrans %}
                7. diff --git a/web/core/modules/help_topics/help_topics/help.help_topic_search.html.twig b/web/core/modules/help_topics/help_topics/help.help_topic_search.html.twig index ae8ffd8d2..91957f550 100644 --- a/web/core/modules/help_topics/help_topics/help.help_topic_search.html.twig +++ b/web/core/modules/help_topics/help_topics/help.help_topic_search.html.twig @@ -6,20 +6,22 @@ related: - core.cron - search.overview --- -{% set extend_url = render_var(url('system.modules_list')) %} -{% set help_url = render_var(url('help.main')) %} +{% set extend_link_text %}{% trans %}Extend{% endtrans %}{% endset %} +{% set help_link_text %}{% trans %}Help{% endtrans %}{% endset %} +{% set extend_link = render_var(help_route_link(extend_link_text, 'system.modules_list')) %} +{% set help_link = render_var(help_route_link(help_link_text, 'help.main')) %} {% set cache_topic = render_var(help_topic_link('system.cache')) %} {% set cron_topic = render_var(help_topic_link('core.cron')) %}

                  {% trans %}Goal{% endtrans %}

                  {% trans %}Set up your site so that users can search for help.{% endtrans %}

                  {% trans %}Steps{% endtrans %}

                    -
                  1. {% trans %}In the Manage administrative menu, navigate to Extend. Verify that the Search, Help, Help Topics, and Block modules are installed (or install them if they are not already installed).{% endtrans %}
                  2. +
                  3. {% trans %}In the Manage administrative menu, navigate to {{ extend_link }}. Verify that the Search, Help, Help Topics, and Block modules are installed (or install them if they are not already installed).{% endtrans %}
                  4. {% trans %}In the Manage administrative menu, navigate to Configuration > Search and metadata > Search pages.{% endtrans %}
                  5. {% trans %}Verify that a Help search page is listed in the Search pages section. If not, add a new page of type Help.{% endtrans %}
                  6. {% trans %}Check the indexing status of the Help search page. If it is not fully indexed, see {{ cron_topic }} about how to run Cron until indexing is complete.{% endtrans %}
                  7. {% trans %}In the future, you can click Rebuild search index on this page, or {{ cache_topic }}, in order to force help topic text to be reindexed for searching. This should be done whenever a module, theme, language, or string translation is updated.{% endtrans %}
                  8. {% trans %}In the Manage administrative menu, navigate to Structure > Block layout.{% endtrans %}
                  9. {% trans %}Click the link for your administrative theme (such as the core Seven theme), near the top of the page, and verify that there is already a search block for help located in the Help region. If not, follow the steps in the related topic to place the Search form block in the Help region. When configuring the block, choose Help as the search page, and in the Pages tab under Visibility, enter /admin/help to make the search form only visible on the main Help page.{% endtrans %}
                  10. -
                  11. {% trans %}In the Manage administrative menu, navigate to Help. Verify that the search block is visible, and try a search.{% endtrans %}
                  12. +
                  13. {% trans %}In the Manage administrative menu, navigate to {{ help_link }}. Verify that the search block is visible, and try a search.{% endtrans %}
                  diff --git a/web/core/modules/help_topics/help_topics/image.style.html.twig b/web/core/modules/help_topics/help_topics/image.style.html.twig index d520b50bd..1ff06f8bf 100644 --- a/web/core/modules/help_topics/help_topics/image.style.html.twig +++ b/web/core/modules/help_topics/help_topics/image.style.html.twig @@ -6,12 +6,13 @@ related: - layout_builder.overview --- {% set media_topic = render_var(help_topic_link('core.media')) %} -{% set styles = render_var(url('entity.image_style.collection')) %} +{% set styles_text %}{% trans %}Image styles{% endtrans %}{% endset %} +{% set styles_link = render_var(help_route_link(styles_text, 'entity.image_style.collection')) %}

                  {% trans %}Goal{% endtrans %}

                  {% trans %}Add a new image style, which can be used to process and display images. See {{ media_topic }} for an overview of image styles.{% endtrans %}

                  {% trans %}Steps{% endtrans %}

                    -
                  1. {% trans %}In the Manage administrative menu, navigate to Configuration > Media > Image styles.{% endtrans %}
                  2. +
                  3. {% trans %}In the Manage administrative menu, navigate to Configuration > Media > {{ styles_link }}.{% endtrans %}
                  4. {% trans %}Click Add image style.{% endtrans %}
                  5. {% trans %}Enter a descriptive Image style name, and click Create new style.{% endtrans %}
                  6. {% trans %}Under Effect, choose an effect to apply and click Add.{% endtrans %}
                  7. diff --git a/web/core/modules/help_topics/help_topics/language.add.html.twig b/web/core/modules/help_topics/help_topics/language.add.html.twig index 31940a737..7a3ef9010 100644 --- a/web/core/modules/help_topics/help_topics/language.add.html.twig +++ b/web/core/modules/help_topics/help_topics/language.add.html.twig @@ -4,12 +4,13 @@ related: - core.translations - language.detect --- -{% set languages_url = render_var(url('entity.configurable_language.collection')) %} +{% set languages_text %}{% trans %}Languages{% endtrans %}{% endset %} +{% set languages_link = render_var(help_route_link(languages_text, 'entity.configurable_language.collection')) %}

                    {% trans %}Goal{% endtrans %}

                    {% trans %}Add a language to your site.{% endtrans %}

                    {% trans %}Steps{% endtrans %}

                      -
                    1. {% trans %}In the Manage administrative menu, navigate to Configuration > Regional and language > Languages.{% endtrans %}
                    2. +
                    3. {% trans %}In the Manage administrative menu, navigate to Configuration > Regional and language > {{ languages_link }}.{% endtrans %}
                    4. {% trans %}Click Add language.{% endtrans %}
                    5. {% trans %}If your language is in the Language name list, select it and click Add language.{% endtrans %}
                    6. {% trans %}If your language is not in the list, select Custom language... and enter the Language code, Language name, and Direction for the language. Click Add custom language.{% endtrans %}
                    7. diff --git a/web/core/modules/help_topics/help_topics/language.detect.html.twig b/web/core/modules/help_topics/help_topics/language.detect.html.twig index 02d435607..b5ea08b75 100644 --- a/web/core/modules/help_topics/help_topics/language.detect.html.twig +++ b/web/core/modules/help_topics/help_topics/language.detect.html.twig @@ -4,7 +4,8 @@ related: - core.translations - language.add --- -{% set detection = render_var(url('language.negotiation')) %} +{% set detection_text %}{% trans %}Detection and selection{% endtrans %}{% endset %} +{% set detection_link = render_var(help_route_link(detection_text, 'language.negotiation')) %}

                      {% trans %}Goal{% endtrans %}

                      {% trans %}Configure the methods used to decide which language will be used to display text on your site.{% endtrans %}

                      {% trans %}What is a language detection method?{% endtrans %}

                      @@ -25,7 +26,7 @@ related:

                      {% trans %}Steps{% endtrans %}

                        -
                      1. {% trans %}In the Manage administrative menu, navigate to Configuration > Regional and language > Languages > Detection and selection.{% endtrans %}
                      2. +
                      3. {% trans %}In the Manage administrative menu, navigate to Configuration > Regional and language > Languages > {{ detection_link }}.{% endtrans %}
                      4. {% trans %}Check the boxes to enable the desired language detection methods, and uncheck boxes for the methods you do not want to use.{% endtrans %}
                      5. {% trans %}Drag the methods to change their order, if desired.{% endtrans %}
                      6. {% trans %}Click Save settings.{% endtrans %}
                      7. diff --git a/web/core/modules/help_topics/help_topics/layout_builder.overview.html.twig b/web/core/modules/help_topics/help_topics/layout_builder.overview.html.twig index 6b6d5b9c3..dc107acd6 100644 --- a/web/core/modules/help_topics/help_topics/layout_builder.overview.html.twig +++ b/web/core/modules/help_topics/help_topics/layout_builder.overview.html.twig @@ -6,7 +6,8 @@ related: - field_ui.manage_display - block.overview --- -{% set content_types = render_var(url('entity.node_type.collection')) %} +{% set content_types_text %}{% trans %}Content types{% endtrans %}{% endset %} +{% set content_types_link = render_var(help_route_link(content_types_text, 'entity.node_type.collection')) %} {% set content_structure_topic = render_var(help_topic_link('core.content_structure')) %} {% set block_overview_topic = render_var(help_topic_link('block.overview')) %}

                        {% trans %}Goal{% endtrans %}

                        @@ -15,7 +16,7 @@ related:

                        {% trans %}A layout consists of one or more sections. Each section can have from one to four columns. You can place blocks, including special blocks for the fields on the entity sub-type, in each column of each section (see {{ block_overview_topic }} for more on blocks).{% endtrans %}

                        {% trans %}Steps{% endtrans %}

                          -
                        1. {% trans %}Navigate to the page for managing the entity type you want to add the field to. For example, to add a field to a content type, in the Manage administrative menu, navigate to Structure > Content types.{% endtrans %}
                        2. +
                        3. {% trans %}Navigate to the page for managing the entity type you want to add the field to. For example, to add a field to a content type, in the Manage administrative menu, navigate to Structure > {{ content_types_link }}.{% endtrans %}
                        4. {% trans %}Find the particular sub-type that you want to create a layout for, and click Manage display in the Operations list.{% endtrans %}
                        5. {% trans %}Under Layout options, check Use Layout Builder. You can also check the box below to allow each entity item to have its layout individually customized (if it is left unchecked, the site will use the same layout for all items of this entity sub-type).{% endtrans %}
                        6. {% trans %}Click Save. You will be returned to the Manage display page, but you will no longer see the table of fields of the classic display manager.{% endtrans %}
                        7. diff --git a/web/core/modules/help_topics/help_topics/locale.import.html.twig b/web/core/modules/help_topics/help_topics/locale.import.html.twig index 481f86f2f..90c8fa109 100644 --- a/web/core/modules/help_topics/help_topics/locale.import.html.twig +++ b/web/core/modules/help_topics/help_topics/locale.import.html.twig @@ -5,12 +5,13 @@ related: - locale.translation_status - locale.translate_strings --- -{% set import = render_var(url('locale.translate_import')) %} +{% set import_text %}{% trans %}Import{% endtrans %}{% endset %} +{% set import_link = render_var(help_route_link(import_text, 'locale.translate_import')) %}

                          {% trans %}Goal{% endtrans %}

                          {% trans %}Import a file (.po extension) containing translations for user interface text.{% endtrans %}

                          {% trans %}Steps{% endtrans %}

                            -
                          1. {% trans %}In the Manage administrative menu, navigate to Configuration > Regional and language > User interface translation > Import.{% endtrans %}
                          2. +
                          3. {% trans %}In the Manage administrative menu, navigate to Configuration > Regional and language > User interface translation > {{ import_link }}.{% endtrans %}
                          4. {% trans %}Browse to find the Translation file you want to import. Select the language and check the desired import options.{% endtrans %}
                          5. {% trans %}Click Import and wait for your file to be imported.{% endtrans %}
                          diff --git a/web/core/modules/help_topics/help_topics/locale.translate_strings.html.twig b/web/core/modules/help_topics/help_topics/locale.translate_strings.html.twig index 8f4bde4a9..08ce2399a 100644 --- a/web/core/modules/help_topics/help_topics/locale.translate_strings.html.twig +++ b/web/core/modules/help_topics/help_topics/locale.translate_strings.html.twig @@ -6,12 +6,13 @@ related: - locale.translation_status - language.add --- -{% set translate = render_var(url('locale.translate_page')) %} +{% set translate_text %}{% trans %}User interface translation{% endtrans %}{% endset %} +{% set translate_link = render_var(help_route_link(translate_text, 'locale.translate_page')) %}

                          {% trans %}Goal{% endtrans %}

                          {% trans %}Translate user interface text strings from English into a non-English language that is configured on your site.{% endtrans %}

                          {% trans %}Steps{% endtrans %}

                            -
                          1. {% trans %}In the Manage administrative menu, navigate to Configuration > Regional and language > User interface translation.{% endtrans %}
                          2. +
                          3. {% trans %}In the Manage administrative menu, navigate to Configuration > Regional and language > {{ translate_link }}.{% endtrans %}
                          4. {% trans %}Using the filters, search for a string or set of strings that you want to translate; make sure to select the correct Translation language if you have more than one non-English language on your site.{% endtrans %}
                          5. {% trans %}Enter new translations and click Save translations.{% endtrans %}
                          6. {% trans %}Repeat these steps until all of the desired user interface text is translated for all languages on your site.{% endtrans %}
                          7. diff --git a/web/core/modules/help_topics/help_topics/locale.translation_status.html.twig b/web/core/modules/help_topics/help_topics/locale.translation_status.html.twig index c46fbc06b..e8e10a429 100644 --- a/web/core/modules/help_topics/help_topics/locale.translation_status.html.twig +++ b/web/core/modules/help_topics/help_topics/locale.translation_status.html.twig @@ -5,15 +5,17 @@ related: - locale.import - locale.translate_strings --- -{% set language = render_var(url('entity.configurable_language.collection')) %} -{% set translation_updates = render_var(url('locale.translate_status')) %} +{% set language_text %}{% trans %}Languages{% endtrans %}{% endset %} +{% set translation_updates_text %}{% trans %}Available translation updates{% endtrans %}{% endset %} +{% set language_link = render_var(help_route_link(language_text, 'entity.configurable_language.collection')) %} +{% set translation_updates_link = render_var(help_route_link(translation_updates_text, 'locale.translate_status')) %}

                            {% trans %}Goal{% endtrans %}

                            {% trans %}Check the current status of interface translations, and see if there are any updates available.{% endtrans %}

                            {% trans %}Steps{% endtrans %}

                              -
                            1. {% trans %}In the Manage administrative menu, navigate to Configuration > Regional and language > Languages.{% endtrans %}
                            2. +
                            3. {% trans %}In the Manage administrative menu, navigate to Configuration > Regional and language > {{ language_link }}.{% endtrans %}
                            4. {% trans %}Look at the Interface translation column in the language table, to find the percentage of user interface text that has been translated for each language.{% endtrans %}
                            5. -
                            6. {% trans %}In the Manage administrative menu, navigate to Reports > Available translation updates. This report is only available if the core Update Status module is installed.{% endtrans %}
                            7. +
                            8. {% trans %}In the Manage administrative menu, navigate to Reports > {{ translation_updates_link }}. This report is only available if the core Update Status module is installed.{% endtrans %}
                            9. {% trans %}Optionally, click Check manually to update the report.{% endtrans %}
                            10. {% trans %}View the report to find out if any languages have translation updates that you can download.{% endtrans %}
                            diff --git a/web/core/modules/help_topics/help_topics/media.media_type.html.twig b/web/core/modules/help_topics/help_topics/media.media_type.html.twig index e36629b41..43c6e9c5b 100644 --- a/web/core/modules/help_topics/help_topics/media.media_type.html.twig +++ b/web/core/modules/help_topics/help_topics/media.media_type.html.twig @@ -7,12 +7,13 @@ related: --- {% set content_structure_topic = render_var(help_topic_link('core.content_structure')) %} {% set media_topic = render_var(help_topic_link('core.media')) %} -{% set media = render_var(url('entity.media_type.collection')) %} +{% set media_text %}{% trans %}Media types{% endtrans %}{% endset %} +{% set media_link = render_var(help_route_link(media_text, 'entity.media_type.collection')) %}

                            {% trans %}Goal{% endtrans %}

                            {% trans %}Add a new media type that can be referenced in Media reference fields; media types are a content entity type. See {{ media_topic }} for an overview of media items and media types, and {{ content_structure_topic }} for more information on content entities and fields.{% endtrans %}

                            {% trans %}Steps{% endtrans %}

                              -
                            1. {% trans %}In the Manage administrative menu, navigate to Structure > Media types.{% endtrans %}
                            2. +
                            3. {% trans %}In the Manage administrative menu, navigate to Structure > {{ media_link }}.{% endtrans %}
                            4. {% trans %}If there is not already a media type for the type of media you want to use on your site, click Add media type.{% endtrans %}
                            5. {% trans %}Enter a Name and Description for your media type, and select the Media source.{% endtrans %}
                            6. {% trans %}For most media sources, there is additional information that will need to be stored with your media item, in a field on your media type. Under Media source configuration, select an existing field to re-use to store this information, or select - Create - to create a new field.{% endtrans %}
                            7. diff --git a/web/core/modules/help_topics/help_topics/menu_ui.content_type_configuration.html.twig b/web/core/modules/help_topics/help_topics/menu_ui.content_type_configuration.html.twig index 5fcb85843..2698c9362 100644 --- a/web/core/modules/help_topics/help_topics/menu_ui.content_type_configuration.html.twig +++ b/web/core/modules/help_topics/help_topics/menu_ui.content_type_configuration.html.twig @@ -5,12 +5,13 @@ related: - menu_ui.menu_operations - core.menus --- -{% set content_types = render_var(url('entity.node_type.collection')) %} +{% set content_types_text %}{% trans %}Content types{% endtrans %}{% endset %} +{% set content_types_link = render_var(help_route_link(content_types_text, 'entity.node_type.collection')) %}

                              {% trans %}Goal{% endtrans %}

                              {% trans %}For an existing content type, configure the available menus that will be shown as options on content editing screens; links to content items of this type can be added to these menus during editing.{% endtrans %}

                              {% trans %}Steps{% endtrans %}

                                -
                              1. {% trans %}In the Manage administrative menu, navigate to Structure > Content types.{% endtrans %}
                              2. +
                              3. {% trans %}In the Manage administrative menu, navigate to Structure > {{ content_types_link }}.{% endtrans %}
                              4. {% trans %}Locate the content type you want to configure, and click Edit in the Operations list.{% endtrans %}
                              5. {% trans %}Under Menu settings, check the menus that you want to be available when editing a content item of this type.{% endtrans %}
                              6. {% trans %}Optionally, select the Default parent item, to put links to content items under a default location in the menu structure.{% endtrans %}
                              7. diff --git a/web/core/modules/help_topics/help_topics/menu_ui.menu_item_add.html.twig b/web/core/modules/help_topics/help_topics/menu_ui.menu_item_add.html.twig index 9ce81dc5e..160ff3a34 100644 --- a/web/core/modules/help_topics/help_topics/menu_ui.menu_item_add.html.twig +++ b/web/core/modules/help_topics/help_topics/menu_ui.menu_item_add.html.twig @@ -5,12 +5,13 @@ related: - menu_ui.menu_operations - core.menus --- -{% set structure_menu = render_var(url('entity.menu.collection')) %} +{% set structure_menu_text %}{% trans %}Menus{% endtrans %}{% endset %} +{% set structure_menu_link = render_var(help_route_link(structure_menu_text, 'entity.menu.collection')) %}

                                {% trans %}Goal{% endtrans %}

                                {% trans %}Add a link to a menu. Note that you can also add a link to a menu from the content edit page if menu settings have been configured for the content type.{% endtrans %}

                                {% trans %}Steps{% endtrans %}

                                  -
                                1. {% trans %}In the Manage administration menu, navigate to Structure > Menus.{% endtrans %}
                                2. +
                                3. {% trans %}In the Manage administration menu, navigate to Structure > {{ structure_menu_link }}.{% endtrans %}
                                4. {% trans %}Locate the desired menu and click Add link in the Operations list.{% endtrans %}
                                5. {% trans %}Enter the Menu link title to be displayed.{% endtrans %}
                                6. {% trans %}Enter the Link, one of the following:{% endtrans %} @@ -27,7 +28,7 @@ related:
                                7. {% trans %}Optionally, check Show as expanded to automatically show the children of this link (if any) when this link is shown.{% endtrans %}
                                8. {% trans %}Optionally, select the Parent link, if this menu link should be a child of another menu link.{% endtrans %}
                                9. {% trans %}Click Save. You will be returned to the Add link page to add another link.{% endtrans %}
                                10. -
                                11. {% trans %}In the Manage administration menu, navigate to Structure > Menus.{% endtrans %}
                                12. +
                                13. {% trans %}In the Manage administration menu, navigate to Structure > {{ structure_menu_link }}.{% endtrans %}
                                14. {% trans %}Locate the menu you just added a link to and click Edit in the Operations list.{% endtrans %}
                                15. {% trans %}Verify that the order of links is correct. If it is not, drag menu links until the order is correct, and click Save.{% endtrans %}
                                diff --git a/web/core/modules/help_topics/help_topics/menu_ui.menu_operations.html.twig b/web/core/modules/help_topics/help_topics/menu_ui.menu_operations.html.twig index b63bb8543..05c8d9ede 100644 --- a/web/core/modules/help_topics/help_topics/menu_ui.menu_operations.html.twig +++ b/web/core/modules/help_topics/help_topics/menu_ui.menu_operations.html.twig @@ -4,12 +4,13 @@ related: - menu_ui.content_type_configuration - core.menus --- -{% set structure_menu = render_var(url('entity.menu.collection')) %} +{% set structure_menu_text %}{% trans %}Menus{% endtrans %}{% endset %} +{% set structure_menu_link = render_var(help_route_link(structure_menu_text, 'entity.menu.collection')) %}

                                {% trans %}Goal{% endtrans %}

                                {% trans %}Create a new menu.{% endtrans %}

                                {% trans %}Steps{% endtrans %}

                                  -
                                1. {% trans %}In the Manage administration menu, navigate Structure > Menus.{% endtrans %}
                                2. +
                                3. {% trans %}In the Manage administration menu, navigate Structure > {{ structure_menu_link }}.{% endtrans %}
                                4. {% trans %}Click Add menu.{% endtrans %}
                                5. {% trans %}Enter the title for the menu, which is used as the default block title if the menu is displayed as a block. If desired, also edit the machine name of the menu, which is by default derived from the title.{% endtrans %}
                                6. {% trans %}Enter an administrative summary, which is displayed on the Menus page.{% endtrans %}
                                7. diff --git a/web/core/modules/help_topics/help_topics/menu_ui.overriding.html.twig b/web/core/modules/help_topics/help_topics/menu_ui.overriding.html.twig index 692cf765e..f150161ae 100644 --- a/web/core/modules/help_topics/help_topics/menu_ui.overriding.html.twig +++ b/web/core/modules/help_topics/help_topics/menu_ui.overriding.html.twig @@ -5,12 +5,13 @@ related: - menu_ui.menu_operations - core.menus --- -{% set structure_menu = render_var(url('entity.menu.collection')) %} +{% set structure_menu_text %}{% trans %}Menus{% endtrans %}{% endset %} +{% set structure_menu_link = render_var(help_route_link(structure_menu_text, 'entity.menu.collection')) %}

                                  {% trans %}Goal{% endtrans %}

                                  {% trans %}Disable menu links or change the order and hierarchy of menu links.{% endtrans %}

                                  {% trans %}Steps{% endtrans %}

                                    -
                                  1. {% trans %}In the Manage administration menu, navigate to Structure > Menus.{% endtrans %}
                                  2. +
                                  3. {% trans %}In the Manage administration menu, navigate to Structure > {{ structure_menu_link }}.{% endtrans %}
                                  4. {% trans %}Click Edit menu for the menu that you want to edit.{% endtrans %}
                                  5. {% trans %}Drag menu links into a new order, or check/uncheck Enabled to enable or disable menu links.{% endtrans %}
                                  6. {% trans %}Click Save to save your changes.{% endtrans %}
                                  7. diff --git a/web/core/modules/help_topics/help_topics/migrate_drupal_ui.upgrading.html.twig b/web/core/modules/help_topics/help_topics/migrate_drupal_ui.upgrading.html.twig index 9aa5015b1..c5dcfa2dc 100644 --- a/web/core/modules/help_topics/help_topics/migrate_drupal_ui.upgrading.html.twig +++ b/web/core/modules/help_topics/help_topics/migrate_drupal_ui.upgrading.html.twig @@ -3,14 +3,14 @@ label: 'Migrating data for an upgrade using the user interface' related: - migrate.overview --- -{% set migrate_drupal_upgrade = render_var(url('migrate_drupal_ui.upgrade')) %} -{% set migrate_drupal_log = render_var(url('dblog.overview')) %} +{% set migrate_drupal_upgrade_link_text %}{% trans %}Upgrade{% endtrans %}{% endset %} +{% set migrate_drupal_upgrade_link = render_var(help_route_link(migrate_drupal_upgrade_link_text, 'migrate_drupal_ui.upgrade')) %} {% set migrate_overview_topic = render_var(help_topic_link('migrate.overview')) %}

                                    {% trans %}Goal{% endtrans %}

                                    {% trans %}Migrate data into a new, empty site, as part of an upgrade from an older version of Drupal. See {{ migrate_overview_topic }} for an overview of migrating and upgrading.{% endtrans %}

                                    {% trans %}Steps{% endtrans %}

                                      -
                                    1. {% trans %}In the Manage administrative menu, navigate to Configuration > Development > Upgrade.{% endtrans %}
                                    2. +
                                    3. {% trans %}In the Manage administrative menu, navigate to Configuration > Development > {{ migrate_drupal_upgrade_link }}.{% endtrans %}
                                    4. {% trans %}Read the introduction and follow the Preparation steps on the page. Then click Continue.{% endtrans %}
                                    5. {% trans %}Select the Drupal version of the source site. Also enter the database credentials and public and private files directories (private file directory is not available when migrating from Drupal 6). Click Review upgrade.{% endtrans %}
                                    6. {% trans %}If the next page you see contains a message about conflicting content, that means that the site where you are running the upgrade is not empty. If you continue, you will lose the data in the site. If that is acceptable, click the button to continue; if not, start these steps over in a new, clean Drupal site.{% endtrans %}
                                    7. diff --git a/web/core/modules/help_topics/help_topics/responsive_image.style.html.twig b/web/core/modules/help_topics/help_topics/responsive_image.style.html.twig index 980bbb450..9aa7aeb56 100644 --- a/web/core/modules/help_topics/help_topics/responsive_image.style.html.twig +++ b/web/core/modules/help_topics/help_topics/responsive_image.style.html.twig @@ -10,12 +10,13 @@ related: {% set media_topic = render_var(help_topic_link('core.media')) %} {% set image_style_topic = render_var(help_topic_link('image.style')) %} {% set breakpoint_overview_topic = render_var(help_topic_link('breakpoint.overview')) %} -{% set styles = render_var(url('entity.responsive_image_style.collection')) %} +{% set styles_link_text %}{% trans %}Responsive image styles{% endtrans %}{% endset %} +{% set styles_link = render_var(help_route_link(styles_link_text, 'entity.responsive_image_style.collection')) %}

                                      {% trans %}Goal{% endtrans %}

                                      {% trans %}Configure a responsive image style, which can be used to display images at different sizes on different devices. See {{ media_topic }} for an overview of responsive image styles, and {{ breakpoint_overview_topic }} for an overview of breakpoints.{% endtrans %}

                                      {% trans %}Steps{% endtrans %}

                                        -
                                      1. {% trans %}In the Manage administrative menu, navigate to Configuration > Media > Responsive image styles.{% endtrans %}
                                      2. +
                                      3. {% trans %}In the Manage administrative menu, navigate to Configuration > Media > {{ styles_link }}.{% endtrans %}
                                      4. {% trans %}Click Add responsive image style.{% endtrans %}
                                      5. {% trans %}Enter a descriptive Label for your style.{% endtrans %}
                                      6. {% trans %}Select a Breakpoint group from the groups defined by your installed themes and modules.{% endtrans %}
                                      7. diff --git a/web/core/modules/help_topics/help_topics/search.configuring.html.twig b/web/core/modules/help_topics/help_topics/search.configuring.html.twig index 0c6f7e218..349aa1431 100644 --- a/web/core/modules/help_topics/help_topics/search.configuring.html.twig +++ b/web/core/modules/help_topics/help_topics/search.configuring.html.twig @@ -4,13 +4,14 @@ related: - search.overview - search.index --- -{% set search_settings = render_var(url('entity.search_page.collection')) %} +{% set search_settings_link_text %}{% trans %}Search pages{% endtrans %}{% endset %} +{% set search_settings_link = render_var(help_route_link(search_settings_link_text, 'entity.search_page.collection')) %} {% set search_index_topic = render_var(help_topic_link('search.index')) %}

                                        {% trans %}Goal{% endtrans %}

                                        {% trans %}Configure one or more search pages.{% endtrans %}

                                        {% trans %}Steps{% endtrans %}

                                          -
                                        1. {% trans %}In the Manage administrative menu, navigate to Configuration > Search and Metadata > Search pages.{% endtrans %}
                                        2. +
                                        3. {% trans %}In the Manage administrative menu, navigate to Configuration > Search and Metadata > {{ search_settings_link }}.{% endtrans %}
                                        4. {% trans %}Scroll down to the Search pages section. You will see a list of the already-configured search pages on your site.{% endtrans %}
                                        5. {% trans %}To configure an existing search page, click Edit. Or, to add a new search page, select the Search page type and click Add search page.{% endtrans %}
                                        6. {% trans %}Enter the desired Label name and URL Path for the search page.{% endtrans %}
                                        7. diff --git a/web/core/modules/help_topics/help_topics/search.index.html.twig b/web/core/modules/help_topics/help_topics/search.index.html.twig index 1451cebdd..e232d6e69 100644 --- a/web/core/modules/help_topics/help_topics/search.index.html.twig +++ b/web/core/modules/help_topics/help_topics/search.index.html.twig @@ -5,14 +5,15 @@ related: - search.configuring --- {% set cron_topic = render_var(help_topic_link('core.cron')) %} -{% set search_settings = render_var(url('entity.search_page.collection')) %} +{% set search_settings_link_text %}{% trans %}Search pages{% endtrans %}{% endset %} +{% set search_settings_link = render_var(help_route_link(search_settings_link_text, 'entity.search_page.collection')) %}

                                          {% trans %}Goal{% endtrans %}

                                          {% trans %}Manage the search index, and make sure that the site is fully indexed for searching.{% endtrans %}

                                          {% trans %}What is the search index?{% endtrans %}

                                          {% trans %}The Content and Help search types provided by the core software pre-index their content and store the results in several database tables that are collectively called the search index. The process of indexing renders the content and breaks it up into words, which can then be matched more efficiently with keyword queries when users perform searches. Search indexing happens during cron runs; see {{ cron_topic }} for more information about cron.{% endtrans %}

                                          {% trans %}Steps{% endtrans %}

                                            -
                                          1. {% trans %}In the Manage administrative menu, navigate to Configuration > Search and Metadata > Search pages.{% endtrans %}
                                          2. +
                                          3. {% trans %}In the Manage administrative menu, navigate to Configuration > Search and Metadata > {{ search_settings_link }}.{% endtrans %}
                                          4. {% trans %}Under Indexing throttle, select the Number of items to index per cron run. A smaller number will make cron faster and reduce the possibility of timeout; a larger number will make sure more of your site is indexed in fewer cron runs.{% endtrans %}
                                          5. {% trans %}Under Default indexing settings, enter the desired Minimum word length to index. Words smaller than this length will be dropped from both keywords when searching and content when indexing.{% endtrans %}
                                          6. {% trans %}If your site uses Chinese, Japanese, or Korean languages, optionally check Simple CJK handling under Default indexing settings to provide some support for these languages.{% endtrans %}
                                          7. diff --git a/web/core/modules/help_topics/help_topics/system.reports.html.twig b/web/core/modules/help_topics/help_topics/system.reports.html.twig index 411acff82..e5539087d 100644 --- a/web/core/modules/help_topics/help_topics/system.reports.html.twig +++ b/web/core/modules/help_topics/help_topics/system.reports.html.twig @@ -10,7 +10,7 @@ related:

                                            {% trans %}Run reports to learn about the status and health of your site.{% endtrans %}

                                            {% trans %}Steps{% endtrans %}

                                              -
                                            1. {% trans %}In the Manage administrative menu, navigate to Reports > Status report to see a report that summarizes the health and status of your site. If there are any warnings or errors, you will need to fix them.{% endtrans %}
                                            2. +
                                            3. {% trans %}In the Manage administrative menu, navigate to Reports > Status report to see a report that summarizes the health and status of your site. If there are any warnings or errors, you will need to fix them. Take note of any upcoming highly critical security releases that may impact your site.{% endtrans %}
                                            4. {% trans %}If you have the core Database Logging module installed, in the Manage administrative menu, navigate to Reports > Recent log messages to see a report of the error and informational messages your site has generated. You can filter the report by Severity to see only the most critical messages, if desired.{% endtrans %}
                                            5. {% trans %}If you have the core Update Manager module installed, in the Manage administrative menu, navigate to Reports > Available updates to see a report of the updates that are available for your site software. If Last checked is far in the past, click Check manually to update the report. Scan the report; if Drupal core or any modules or themes have security updates available, you should update them as soon as possible.{% endtrans %}
                                            diff --git a/web/core/modules/help_topics/help_topics/views_ui.bulk_operations.html.twig b/web/core/modules/help_topics/help_topics/views_ui.bulk_operations.html.twig index 65043176e..9f4cd2ac9 100644 --- a/web/core/modules/help_topics/help_topics/views_ui.bulk_operations.html.twig +++ b/web/core/modules/help_topics/help_topics/views_ui.bulk_operations.html.twig @@ -22,7 +22,7 @@ related:

                                            {% trans %}Steps{% endtrans %}

                                            1. {% trans %}In the Manage administrative menu, navigate to Structure > {{ views }}. A list of all views is shown.{% endtrans %}
                                            2. -
                                            3. {% trans %}Find the view that you would like to edit, and click Edit from the the dropdown button. Note that bulk operations work best in a view with a Page display, and a Table format.{% endtrans %}
                                            4. +
                                            5. {% trans %}Find the view that you would like to edit, and click Edit from the dropdown button. Note that bulk operations work best in a view with a Page display, and a Table format.{% endtrans %}
                                            6. {% trans %}If there is not already an Operations bulk form in the Fields list for the view, click Add in the Fields section to add it. (The exact name of the bulk form field will vary, and may contain keywords like "bulk update", "form element" or "operations" -- not to be confused with operations links, which are applied to each item in a row.) If the bulk operations field already exists, click the field name to edit its settings.{% endtrans %}
                                            7. {% trans %}Check the action(s) you want to make available in the Selected actions list and click Apply (all displays).{% endtrans %}
                                            8. {% trans %}Verify that the Access settings for the view are at least as restrictive as the permissions necessary to perform the bulk operations. People with permission to see the view, but who don't have permission to do the bulk operations, will experience problems.{% endtrans %}
                                            9. diff --git a/web/core/modules/help_topics/src/Plugin/HelpSection/HelpTopicSection.php b/web/core/modules/help_topics/src/Plugin/HelpSection/HelpTopicSection.php index 566aa1e3c..e957d9295 100644 --- a/web/core/modules/help_topics/src/Plugin/HelpSection/HelpTopicSection.php +++ b/web/core/modules/help_topics/src/Plugin/HelpSection/HelpTopicSection.php @@ -81,7 +81,7 @@ class HelpTopicSection extends HelpSectionPluginBase implements ContainerFactory * * @var \Drupal\Core\StringTranslation\TranslationManager */ - protected $stringTranslation; + protected $translationManager; /** * Constructs a HelpTopicSection object. diff --git a/web/core/modules/help_topics/tests/modules/help_topics_test/bad_help_topics/syntax/bad_help_topics.translated.html.twig b/web/core/modules/help_topics/tests/modules/help_topics_test/bad_help_topics/syntax/bad_help_topics.translated.html.twig index 5b618acde..9cf37db4b 100644 --- a/web/core/modules/help_topics/tests/modules/help_topics_test/bad_help_topics/syntax/bad_help_topics.translated.html.twig +++ b/web/core/modules/help_topics/tests/modules/help_topics_test/bad_help_topics/syntax/bad_help_topics.translated.html.twig @@ -3,3 +3,4 @@ label: 'Help topic with untranslated text' top_level: true ---

                                              Body goes here

                                              +

                                              {% trans %}some translated text too{% endtrans %}

                                              diff --git a/web/core/modules/help_topics/tests/src/Functional/HelpTopicTest.php b/web/core/modules/help_topics/tests/src/Functional/HelpTopicTest.php index e7c4ff59b..b22bc4f52 100644 --- a/web/core/modules/help_topics/tests/src/Functional/HelpTopicTest.php +++ b/web/core/modules/help_topics/tests/src/Functional/HelpTopicTest.php @@ -57,14 +57,13 @@ class HelpTopicTest extends BrowserTestBase { protected function setUp(): void { parent::setUp(); - // These tests rely on some markup from the 'Seven' theme and we test theme + // These tests rely on some markup from the 'stark' theme and we test theme // provided help topics. - \Drupal::service('theme_installer')->install(['seven', 'help_topics_test_theme']); - \Drupal::service('config.factory')->getEditable('system.theme')->set('admin', 'seven')->save(); + \Drupal::service('theme_installer')->install(['help_topics_test_theme']); // Place various blocks. $settings = [ - 'theme' => 'seven', + 'theme' => 'stark', 'region' => 'help', ]; $this->placeBlock('help_block', $settings); @@ -173,7 +172,7 @@ protected function verifyHelp($response = 200) { // Verify page information. $name = $info['name']; $session->titleEquals($name . ' | Drupal'); - $session->responseContains('

                                              ' . $name . '

                                              '); + $session->responseContains('

                                              ' . $name . '

                                              '); foreach ($info['tags'] as $tag) { $session->responseHeaderContains('X-Drupal-Cache-Tags', $tag); } diff --git a/web/core/modules/help_topics/tests/src/Functional/HelpTopicTranslatedTestBase.php b/web/core/modules/help_topics/tests/src/Functional/HelpTopicTranslatedTestBase.php index ec5ffce50..05c391db5 100644 --- a/web/core/modules/help_topics/tests/src/Functional/HelpTopicTranslatedTestBase.php +++ b/web/core/modules/help_topics/tests/src/Functional/HelpTopicTranslatedTestBase.php @@ -30,15 +30,16 @@ abstract class HelpTopicTranslatedTestBase extends BrowserTestBase { protected function setUp() { parent::setUp(); - // These tests rely on some markup from the 'Seven' theme. - \Drupal::service('theme_installer')->install(['seven']); + // These tests rely on some markup from the 'Claro' theme, as well as an + // optional block added when Claro is enabled. + \Drupal::service('theme_installer')->install(['claro']); \Drupal::configFactory()->getEditable('system.theme') - ->set('admin', 'seven') + ->set('admin', 'claro') ->save(TRUE); // Place various blocks. $settings = [ - 'theme' => 'seven', + 'theme' => 'claro', 'region' => 'help', ]; $this->placeBlock('help_block', $settings); diff --git a/web/core/modules/help_topics/tests/src/Functional/HelpTopicsSyntaxTest.php b/web/core/modules/help_topics/tests/src/Functional/HelpTopicsSyntaxTest.php index 4d7d07ee0..06d288933 100644 --- a/web/core/modules/help_topics/tests/src/Functional/HelpTopicsSyntaxTest.php +++ b/web/core/modules/help_topics/tests/src/Functional/HelpTopicsSyntaxTest.php @@ -3,8 +3,10 @@ namespace Drupal\Tests\help_topics\Functional; use Drupal\Core\Extension\ExtensionLifecycle; +use Drupal\Component\FrontMatter\FrontMatter; use Drupal\Tests\BrowserTestBase; use Drupal\help_topics\HelpTopicDiscovery; +use Drupal\help_topics_twig_tester\HelpTestTwigNodeVisitor; use PHPUnit\Framework\ExpectationFailedException; use PHPUnit\Framework\AssertionFailedError; @@ -27,6 +29,7 @@ class HelpTopicsSyntaxTest extends BrowserTestBase { protected static $modules = [ 'help', 'help_topics', + 'help_topics_twig_tester', 'locale', ]; @@ -68,7 +71,7 @@ public function testHelpTopics() { // test can continue. $this->assertArrayHasKey('system', $directories, 'System module is being scanned'); $this->assertArrayHasKey('help', $directories, 'Help module is being scanned'); - $this->assertArrayHasKey('seven', $directories, 'Seven theme is being scanned'); + $this->assertArrayHasKey('claro', $directories, 'Claro theme is being scanned'); $this->assertArrayHasKey('standard', $directories, 'Standard profile is being scanned'); $definitions = (new HelpTopicDiscovery($directories))->getDefinitions(); @@ -98,6 +101,7 @@ public function testHelpTopics() { */ protected function verifyTopic($id, $definitions, $response = 200) { $definition = $definitions[$id]; + HelpTestTwigNodeVisitor::setStateValue('manner', 0); // Visit the URL for the topic. $this->drupalGet('admin/help/topic/' . $id); @@ -114,7 +118,7 @@ protected function verifyTopic($id, $definitions, $response = 200) { $has_top_level_related = FALSE; if (isset($definition['related'])) { foreach ($definition['related'] as $related_id) { - $this->assertArrayHasKey($related_id, $definitions, 'Topic ' . $id . ' is only related to topics that exist (' . $related_id . ')'); + $this->assertArrayHasKey($related_id, $definitions, 'Topic ' . $id . ' is only related to topics that exist: ' . $related_id); $has_top_level_related = $has_top_level_related || !empty($definitions[$related_id]['top_level']); } } @@ -125,42 +129,56 @@ protected function verifyTopic($id, $definitions, $response = 200) { // Verify that the label is not empty. $this->assertNotEmpty($definition['label'], 'Topic ' . $id . ' has a non-empty label'); - // Read in the file so we can run some tests on that. - $body = file_get_contents($definition[HelpTopicDiscovery::FILE_KEY]); - $this->assertNotEmpty($body, 'Topic ' . $id . ' has a non-empty Twig file'); + // Test the syntax and contents of the Twig file (without the front + // matter, which is tested in other ways above). We need to render the + // template several times with variations, so read it in once. + $template = file_get_contents($definition[HelpTopicDiscovery::FILE_KEY]); + $template_text = FrontMatter::create($template)->getContent(); - // Remove the front matter data (already tested above), and Twig set and - // variable printouts from the file. - $body = preg_replace('|---.*---|sU', '', $body); - $body = preg_replace('|\{\{.*\}\}|sU', '', $body); - $body = preg_replace('|\{\% set.*\%\}|sU', '', $body); - $body = preg_replace('|\{\% endset \%\}|sU', '', $body); - $body = trim($body); - $this->assertNotEmpty($body, 'Topic ' . $id . ' Twig file contains some text outside of front matter'); - - // Verify that if we remove all the translated text, whitespace, and - // HTML tags, there is nothing left (that is, all text is translated). - $text = preg_replace('|\{\% trans \%\}.*\{\% endtrans \%\}|sU', '', $body); - $text = strip_tags($text); - $text = preg_replace('|\s+|', '', $text); - $this->assertEmpty($text, 'Topic ' . $id . ' Twig file has all of its text translated'); - - // Verify that all of the translated text is locale-safe and valid HTML. - $matches = []; - preg_match_all('|\{\% trans \%\}(.*)\{\% endtrans \%\}|sU', $body, $matches, PREG_PATTERN_ORDER); - foreach ($matches[1] as $string) { - $this->assertTrue(locale_string_is_safe($string), 'Topic ' . $id . ' Twig file translatable strings are all exportable'); - $this->validateHtml($string, $id); + // Verify that the body is not empty and is valid HTML. + $text = $this->renderHelpTopic($template_text, 'bare_body'); + $this->assertNotEmpty($text, 'Topic ' . $id . ' contains some text outside of front matter'); + $this->validateHtml($text, $id); + $max_chunk_num = HelpTestTwigNodeVisitor::getState()['max_chunk']; + $this->assertTrue($max_chunk_num >= 0, 'Topic ' . $id . ' has at least one translated chunk'); + + // Verify that each chunk of the translated text is locale-safe and + // valid HTML. + $chunk_num = 0; + $number_checked = 0; + while ($chunk_num <= $max_chunk_num) { + $chunk_str = $id . ' section ' . $chunk_num; + + // Render the topic, asking for just one chunk, and extract the chunk. + // Note that some chunks may not actually get rendered, if they are inside + // set statements, because we skip rendering variable output. + HelpTestTwigNodeVisitor::setStateValue('return_chunk', $chunk_num); + $text = $this->renderHelpTopic($template_text, 'translated_chunk'); + $matches = []; + $matched = preg_match('|' . HelpTestTwigNodeVisitor::DELIMITER . '(.*)' . HelpTestTwigNodeVisitor::DELIMITER . '|', $text, $matches); + if ($matched) { + $number_checked++; + $text = $matches[1]; + $this->assertNotEmpty($text, 'Topic ' . $chunk_str . ' contains text'); + + // Verify the chunk is OK. + $this->assertTrue(locale_string_is_safe($text), 'Topic ' . $chunk_str . ' translatable string is locale-safe'); + $this->validateHtml($text, $chunk_str); + } + $chunk_num++; } - - // Validate the HTML in the body as a whole. - $this->validateHtml($body, $id); + $this->assertTrue($number_checked > 0, 'Tested at least one translated chunk in ' . $id); // Validate the HTML in the body with the translated text replaced by a // dummy string, to verify that HTML syntax is not partly in and partly out // of the translated text. - $text = preg_replace('|\{\% trans \%\}.*\{\% endtrans \%\}|sU', 'dummy', $body); + $text = $this->renderHelpTopic($template_text, 'replace_translated'); $this->validateHtml($text, $id); + + // Verify that if we remove all the translated text, whitespace, and + // HTML tags, there is nothing left (that is, all text is translated). + $text = preg_replace('|\s+|', '', $this->renderHelpTopic($template_text, 'remove_translated')); + $this->assertEmpty($text, 'Topic ' . $id . ' Twig file has all of its text translated'); } /** @@ -245,6 +263,10 @@ protected function verifyBadTopic($id, $definitions) { $this->assertStringContainsString('Twig file has all of its text translated', $message); break; + case 'locale': + $this->assertStringContainsString('translatable string is locale-safe', $message); + break; + case 'h1': $this->assertStringContainsString('has no H1 tag', $message); break; @@ -297,4 +319,30 @@ protected function listDirectories($type) { return $directories; } + /** + * Renders a help topic in a special manner. + * + * @param string $content + * Template text, without the front matter. + * @param string $manner + * The special processing choice for topic rendering. + * + * @return string + * The rendered topic. + */ + protected function renderHelpTopic(string $content, string $manner) { + // Set up the special state variables for rendering. + HelpTestTwigNodeVisitor::setStateValue('manner', $manner); + HelpTestTwigNodeVisitor::setStateValue('max_chunk', -1); + HelpTestTwigNodeVisitor::setStateValue('chunk_count', -1); + + // Add a random comment to the end, to thwart caching, and render. We need + // the HelpTestTwigNodeVisitor class to hit it each time we render. + $build = [ + '#type' => 'inline_template', + '#template' => $content . "\n{# " . rand() . " #}", + ]; + return (string) \Drupal::service('renderer')->renderPlain($build); + } + } diff --git a/web/core/modules/help_topics/tests/themes/help_topics_test_theme/help_topics_test_theme.info.yml b/web/core/modules/help_topics/tests/themes/help_topics_test_theme/help_topics_test_theme.info.yml index 85421a1af..8bdbdc81b 100644 --- a/web/core/modules/help_topics/tests/themes/help_topics_test_theme/help_topics_test_theme.info.yml +++ b/web/core/modules/help_topics/tests/themes/help_topics_test_theme/help_topics_test_theme.info.yml @@ -1,5 +1,5 @@ name: Test Help Topics type: theme -base theme: stable +base theme: stable9 description: A theme to test help topics. version: VERSION diff --git a/web/core/modules/history/history.module b/web/core/modules/history/history.module index 02dd964fd..d7ca78246 100644 --- a/web/core/modules/history/history.module +++ b/web/core/modules/history/history.module @@ -20,8 +20,10 @@ use Drupal\user\UserInterface; * * Entities changed within this time may be marked as new, updated, or read, * depending on their state for the current user. Defaults to 30 days ago. + * + * @todo Remove when https://www.drupal.org/node/2006632 lands. */ -define('HISTORY_READ_LIMIT', REQUEST_TIME - 30 * 24 * 60 * 60); +define('HISTORY_READ_LIMIT', ((int) $_SERVER['REQUEST_TIME']) - 30 * 24 * 60 * 60); /** * Implements hook_help(). @@ -109,16 +111,17 @@ function history_write($nid, $account = NULL) { } if ($account->isAuthenticated()) { + $request_time = \Drupal::time()->getRequestTime(); \Drupal::database()->merge('history') ->keys([ 'uid' => $account->id(), 'nid' => $nid, ]) - ->fields(['timestamp' => REQUEST_TIME]) + ->fields(['timestamp' => $request_time]) ->execute(); // Update static cache. $history = &drupal_static('history_read_multiple', []); - $history[$nid] = REQUEST_TIME; + $history[$nid] = $request_time; } } diff --git a/web/core/modules/history/js/history.js b/web/core/modules/history/js/history.js index 8e13059da..647866905 100644 --- a/web/core/modules/history/js/history.js +++ b/web/core/modules/history/js/history.js @@ -4,24 +4,20 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal, drupalSettings, storage) { var currentUserID = parseInt(drupalSettings.user.uid, 10); var secondsIn30Days = 2592000; var thirtyDaysAgo = Math.round(new Date().getTime() / 1000) - secondsIn30Days; var embeddedLastReadTimestamps = false; - if (drupalSettings.history && drupalSettings.history.lastReadTimestamps) { embeddedLastReadTimestamps = drupalSettings.history.lastReadTimestamps; } - Drupal.history = { fetchTimestamps: function fetchTimestamps(nodeIDs, callback) { if (embeddedLastReadTimestamps) { callback(); return; } - $.ajax({ url: Drupal.url('history/get_node_read_timestamps'), type: 'POST', @@ -41,7 +37,6 @@ if (embeddedLastReadTimestamps && embeddedLastReadTimestamps[nodeID]) { return parseInt(embeddedLastReadTimestamps[nodeID], 10); } - return parseInt(storage.getItem("Drupal.history.".concat(currentUserID, ".").concat(nodeID)) || 0, 10); }, markAsRead: function markAsRead(nodeID) { @@ -53,7 +48,6 @@ if (embeddedLastReadTimestamps && embeddedLastReadTimestamps[nodeID]) { return; } - storage.setItem("Drupal.history.".concat(currentUserID, ".").concat(nodeID), timestamp); } }); @@ -62,11 +56,9 @@ if (contentTimestamp < thirtyDaysAgo) { return false; } - if (embeddedLastReadTimestamps && embeddedLastReadTimestamps[nodeID]) { return contentTimestamp > parseInt(embeddedLastReadTimestamps[nodeID], 10); } - var minLastReadTimestamp = parseInt(storage.getItem("Drupal.history.".concat(currentUserID, ".").concat(nodeID)) || 0, 10); return contentTimestamp > minLastReadTimestamp; } diff --git a/web/core/modules/history/js/mark-as-read.js b/web/core/modules/history/js/mark-as-read.js index c3a74f429..b4d651199 100644 --- a/web/core/modules/history/js/mark-as-read.js +++ b/web/core/modules/history/js/mark-as-read.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function (window, Drupal, drupalSettings) { window.addEventListener('load', function () { if (drupalSettings.history && drupalSettings.history.nodesToMarkAsRead) { diff --git a/web/core/modules/history/tests/src/Functional/HistoryTest.php b/web/core/modules/history/tests/src/Functional/HistoryTest.php index 6117a2dd8..0a961908a 100644 --- a/web/core/modules/history/tests/src/Functional/HistoryTest.php +++ b/web/core/modules/history/tests/src/Functional/HistoryTest.php @@ -42,6 +42,9 @@ class HistoryTest extends BrowserTestBase { */ protected $testNode; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/image/image.admin.inc b/web/core/modules/image/image.admin.inc index 178e5464b..9921e7b94 100644 --- a/web/core/modules/image/image.admin.inc +++ b/web/core/modules/image/image.admin.inc @@ -27,7 +27,7 @@ function template_preprocess_image_style_preview(&$variables) { $variables['style_name'] = $style->label(); // Cache bypass token. - $variables['cache_bypass'] = REQUEST_TIME; + $variables['cache_bypass'] = \Drupal::time()->getRequestTime(); // Sample image info. $sample_width = 160; diff --git a/web/core/modules/image/image.module b/web/core/modules/image/image.module index 27713afbb..c83544953 100644 --- a/web/core/modules/image/image.module +++ b/web/core/modules/image/image.module @@ -206,7 +206,7 @@ function image_path_flush($path) { * @param $include_empty * If TRUE a '- None -' option will be inserted in the options array. * - * @return + * @return string[] * Array of image styles both key and value are set to style name. */ function image_style_options($include_empty = TRUE) { diff --git a/web/core/modules/image/src/Controller/ImageStyleDownloadController.php b/web/core/modules/image/src/Controller/ImageStyleDownloadController.php index c943452b5..aada27d8e 100644 --- a/web/core/modules/image/src/Controller/ImageStyleDownloadController.php +++ b/web/core/modules/image/src/Controller/ImageStyleDownloadController.php @@ -114,6 +114,19 @@ public static function create(ContainerInterface $container) { public function deliver(Request $request, $scheme, ImageStyleInterface $image_style) { $target = $request->query->get('file'); $image_uri = $scheme . '://' . $target; + $image_uri = $this->streamWrapperManager->normalizeUri($image_uri); + + if ($this->streamWrapperManager->isValidScheme($scheme)) { + $normalized_target = $this->streamWrapperManager->getTarget($image_uri); + if ($normalized_target !== FALSE) { + if (!in_array($scheme, Settings::get('file_sa_core_2023_005_schemes', []))) { + $parts = explode('/', $normalized_target); + if (array_intersect($parts, ['.', '..'])) { + throw new NotFoundHttpException(); + } + } + } + } // Check that the style is defined and the scheme is valid. $valid = !empty($image_style) && $this->streamWrapperManager->isValidScheme($scheme); @@ -129,7 +142,8 @@ public function deliver(Request $request, $scheme, ImageStyleInterface $image_st // styles//... as structure, so we check if the $target variable // starts with styles/. $token = $request->query->get(IMAGE_DERIVATIVE_TOKEN, ''); - $token_is_valid = hash_equals($image_style->getPathToken($image_uri), $token); + $token_is_valid = hash_equals($image_style->getPathToken($image_uri), $token) + || hash_equals($image_style->getPathToken($scheme . '://' . $target), $token); if (!$this->config('image.settings')->get('allow_insecure_derivatives') || strpos(ltrim($target, '\/'), 'styles/') === 0) { $valid = $valid && $token_is_valid; } diff --git a/web/core/modules/image/src/Entity/ImageStyle.php b/web/core/modules/image/src/Entity/ImageStyle.php index f7edba286..b66babe85 100644 --- a/web/core/modules/image/src/Entity/ImageStyle.php +++ b/web/core/modules/image/src/Entity/ImageStyle.php @@ -205,11 +205,11 @@ public function buildUri($uri) { * {@inheritdoc} */ public function buildUrl($path, $clean_urls = NULL) { - $uri = $this->buildUri($path); - /** @var \Drupal\Core\StreamWrapper\StreamWrapperManagerInterface $stream_wrapper_manager */ $stream_wrapper_manager = \Drupal::service('stream_wrapper_manager'); + $uri = $stream_wrapper_manager->normalizeUri($this->buildUri($path)); + // The token query is added even if the // 'image.settings:allow_insecure_derivatives' configuration is TRUE, so // that the emitted links remain valid if it is changed back to the default diff --git a/web/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php b/web/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php index 549d6d45c..9f51708b1 100644 --- a/web/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php +++ b/web/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php @@ -129,24 +129,24 @@ public function settingsForm(array $form, FormStateInterface $form_state) { Url::fromRoute('entity.image_style.collection') ); $element['image_style'] = [ - '#title' => t('Image style'), + '#title' => $this->t('Image style'), '#type' => 'select', '#default_value' => $this->getSetting('image_style'), - '#empty_option' => t('None (original image)'), + '#empty_option' => $this->t('None (original image)'), '#options' => $image_styles, '#description' => $description_link->toRenderable() + [ '#access' => $this->currentUser->hasPermission('administer image styles'), ], ]; $link_types = [ - 'content' => t('Content'), - 'file' => t('File'), + 'content' => $this->t('Content'), + 'file' => $this->t('File'), ]; $element['image_link'] = [ - '#title' => t('Link image to'), + '#title' => $this->t('Link image to'), '#type' => 'select', '#default_value' => $this->getSetting('image_link'), - '#empty_option' => t('Nothing'), + '#empty_option' => $this->t('Nothing'), '#options' => $link_types, ]; @@ -189,15 +189,15 @@ public function settingsSummary() { // their styles in code. $image_style_setting = $this->getSetting('image_style'); if (isset($image_styles[$image_style_setting])) { - $summary[] = t('Image style: @style', ['@style' => $image_styles[$image_style_setting]]); + $summary[] = $this->t('Image style: @style', ['@style' => $image_styles[$image_style_setting]]); } else { - $summary[] = t('Original image'); + $summary[] = $this->t('Original image'); } $link_types = [ - 'content' => t('Linked to content'), - 'file' => t('Linked to file'), + 'content' => $this->t('Linked to content'), + 'file' => $this->t('Linked to file'), ]; // Display this setting only if image is linked. $image_link_setting = $this->getSetting('image_link'); diff --git a/web/core/modules/image/src/Plugin/Field/FieldFormatter/ImageUrlFormatter.php b/web/core/modules/image/src/Plugin/Field/FieldFormatter/ImageUrlFormatter.php index de59bacf6..dc4557949 100644 --- a/web/core/modules/image/src/Plugin/Field/FieldFormatter/ImageUrlFormatter.php +++ b/web/core/modules/image/src/Plugin/Field/FieldFormatter/ImageUrlFormatter.php @@ -3,8 +3,14 @@ namespace Drupal\image\Plugin\Field\FieldFormatter; use Drupal\Core\Cache\CacheableMetadata; +use Drupal\Core\Entity\EntityStorageInterface; +use Drupal\Core\Field\FieldDefinitionInterface; use Drupal\Core\Field\FieldItemListInterface; use Drupal\Core\Form\FormStateInterface; +use Drupal\Core\Link; +use Drupal\Core\Session\AccountInterface; +use Drupal\Core\Url; +use Symfony\Component\DependencyInjection\ContainerInterface; /** * Plugin implementation of the 'image_url' formatter. @@ -17,7 +23,66 @@ * } * ) */ -class ImageUrlFormatter extends ImageFormatter { +class ImageUrlFormatter extends ImageFormatterBase { + + /** + * The image style entity storage. + * + * @var \Drupal\image\ImageStyleStorageInterface + */ + protected $imageStyleStorage; + + /** + * The current user. + * + * @var \Drupal\Core\Session\AccountInterface + */ + protected $currentUser; + + /** + * Constructs an ImageFormatter object. + * + * @param string $plugin_id + * The plugin_id for the formatter. + * @param mixed $plugin_definition + * The plugin implementation definition. + * @param \Drupal\Core\Field\FieldDefinitionInterface $field_definition + * The definition of the field to which the formatter is associated. + * @param array $settings + * The formatter settings. + * @param string $label + * The formatter label display setting. + * @param string $view_mode + * The view mode. + * @param array $third_party_settings + * Any third party settings. + * @param \Drupal\Core\Entity\EntityStorageInterface $image_style_storage + * The image style storage. + * @param \Drupal\Core\Session\AccountInterface $current_user + * The current user. + */ + public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, EntityStorageInterface $image_style_storage, AccountInterface $current_user) { + parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings); + $this->imageStyleStorage = $image_style_storage; + $this->currentUser = $current_user; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { + return new static( + $plugin_id, + $plugin_definition, + $configuration['field_definition'], + $configuration['settings'], + $configuration['label'], + $configuration['view_mode'], + $configuration['third_party_settings'], + $container->get('entity_type.manager')->getStorage('image_style'), + $container->get('current_user'), + ); + } /** * {@inheritdoc} @@ -36,6 +101,22 @@ public function settingsForm(array $form, FormStateInterface $form_state) { unset($element['image_link'], $element['image_loading']); + $image_styles = image_style_options(FALSE); + $description_link = Link::fromTextAndUrl( + $this->t('Configure Image Styles'), + Url::fromRoute('entity.image_style.collection') + ); + $element['image_style'] = [ + '#title' => $this->t('Image style'), + '#type' => 'select', + '#default_value' => $this->getSetting('image_style'), + '#empty_option' => $this->t('None (original image)'), + '#options' => $image_styles, + '#description' => $description_link->toRenderable() + [ + '#access' => $this->currentUser->hasPermission('administer image styles'), + ], + ]; + return $element; } @@ -43,8 +124,22 @@ public function settingsForm(array $form, FormStateInterface $form_state) { * {@inheritdoc} */ public function settingsSummary() { - $summary = parent::settingsSummary(); - return [$summary[0]]; + $summary = []; + + $image_styles = image_style_options(FALSE); + // Unset possible 'No defined styles' option. + unset($image_styles['']); + // Styles could be lost because of enabled/disabled modules that defines + // their styles in code. + $image_style_setting = $this->getSetting('image_style'); + if (isset($image_styles[$image_style_setting])) { + $summary[] = $this->t('Image style: @style', ['@style' => $image_styles[$image_style_setting]]); + } + else { + $summary[] = $this->t('Original image'); + } + + return array_merge($summary, parent::settingsSummary()); } /** diff --git a/web/core/modules/image/src/Plugin/Field/FieldType/ImageItem.php b/web/core/modules/image/src/Plugin/Field/FieldType/ImageItem.php index fa6ea636e..731cdbed4 100644 --- a/web/core/modules/image/src/Plugin/Field/FieldType/ImageItem.php +++ b/web/core/modules/image/src/Plugin/Field/FieldType/ImageItem.php @@ -10,6 +10,7 @@ use Drupal\Core\File\FileSystemInterface; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\StreamWrapper\StreamWrapperInterface; +use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\Core\TypedData\DataDefinition; use Drupal\file\Entity\File; use Drupal\file\Plugin\Field\FieldType\FileItem; @@ -142,20 +143,20 @@ public static function propertyDefinitions(FieldStorageDefinitionInterface $fiel unset($properties['description']); $properties['alt'] = DataDefinition::create('string') - ->setLabel(t('Alternative text')) - ->setDescription(t("Alternative image text, for the image's 'alt' attribute.")); + ->setLabel(new TranslatableMarkup('Alternative text')) + ->setDescription(new TranslatableMarkup("Alternative image text, for the image's 'alt' attribute.")); $properties['title'] = DataDefinition::create('string') - ->setLabel(t('Title')) - ->setDescription(t("Image title text, for the image's 'title' attribute.")); + ->setLabel(new TranslatableMarkup('Title')) + ->setDescription(new TranslatableMarkup("Image title text, for the image's 'title' attribute.")); $properties['width'] = DataDefinition::create('integer') - ->setLabel(t('Width')) - ->setDescription(t('The width of the image in pixels.')); + ->setLabel(new TranslatableMarkup('Width')) + ->setDescription(new TranslatableMarkup('The width of the image in pixels.')); $properties['height'] = DataDefinition::create('integer') - ->setLabel(t('Height')) - ->setDescription(t('The height of the image in pixels.')); + ->setLabel(new TranslatableMarkup('Height')) + ->setDescription(new TranslatableMarkup('The height of the image in pixels.')); return $properties; } @@ -174,15 +175,15 @@ public function storageSettingsForm(array &$form, FormStateInterface $form_state $scheme_options = \Drupal::service('stream_wrapper_manager')->getNames(StreamWrapperInterface::WRITE_VISIBLE); $element['uri_scheme'] = [ '#type' => 'radios', - '#title' => t('Upload destination'), + '#title' => $this->t('Upload destination'), '#options' => $scheme_options, '#default_value' => $settings['uri_scheme'], - '#description' => t('Select where the final files should be stored. Private file storage has significantly more overhead than public files, but allows restricted access to files within this field.'), + '#description' => $this->t('Select where the final files should be stored. Private file storage has significantly more overhead than public files, but allows restricted access to files within this field.'), ]; // Add default_image element. static::defaultImageForm($element, $settings); - $element['default_image']['#description'] = t('If no image is uploaded, this image will be shown on display.'); + $element['default_image']['#description'] = $this->t('If no image is uploaded, this image will be shown on display.'); return $element; } @@ -200,14 +201,14 @@ public function fieldSettingsForm(array $form, FormStateInterface $form_state) { $max_resolution = explode('x', $settings['max_resolution']) + ['', '']; $element['max_resolution'] = [ '#type' => 'item', - '#title' => t('Maximum image resolution'), + '#title' => $this->t('Maximum image resolution'), '#element_validate' => [[static::class, 'validateResolution']], '#weight' => 4.1, - '#description' => t('The maximum allowed image size expressed as WIDTH×HEIGHT (e.g. 640×480). Leave blank for no restriction. If a larger image is uploaded, it will be resized to reflect the given width and height. Resizing images on upload will cause the loss of EXIF data in the image.'), + '#description' => $this->t('The maximum allowed image size expressed as WIDTH×HEIGHT (e.g. 640×480). Leave blank for no restriction. If a larger image is uploaded, it will be resized to reflect the given width and height. Resizing images on upload will cause the loss of EXIF data in the image.'), ]; $element['max_resolution']['x'] = [ '#type' => 'number', - '#title' => t('Maximum width'), + '#title' => $this->t('Maximum width'), '#title_display' => 'invisible', '#default_value' => $max_resolution[0], '#min' => 1, @@ -216,25 +217,25 @@ public function fieldSettingsForm(array $form, FormStateInterface $form_state) { ]; $element['max_resolution']['y'] = [ '#type' => 'number', - '#title' => t('Maximum height'), + '#title' => $this->t('Maximum height'), '#title_display' => 'invisible', '#default_value' => $max_resolution[1], '#min' => 1, - '#field_suffix' => ' ' . t('pixels'), + '#field_suffix' => ' ' . $this->t('pixels'), '#suffix' => '', ]; $min_resolution = explode('x', $settings['min_resolution']) + ['', '']; $element['min_resolution'] = [ '#type' => 'item', - '#title' => t('Minimum image resolution'), + '#title' => $this->t('Minimum image resolution'), '#element_validate' => [[static::class, 'validateResolution']], '#weight' => 4.2, - '#description' => t('The minimum allowed image size expressed as WIDTH×HEIGHT (e.g. 640×480). Leave blank for no restriction. If a smaller image is uploaded, it will be rejected.'), + '#description' => $this->t('The minimum allowed image size expressed as WIDTH×HEIGHT (e.g. 640×480). Leave blank for no restriction. If a smaller image is uploaded, it will be rejected.'), ]; $element['min_resolution']['x'] = [ '#type' => 'number', - '#title' => t('Minimum width'), + '#title' => $this->t('Minimum width'), '#title_display' => 'invisible', '#default_value' => $min_resolution[0], '#min' => 1, @@ -243,11 +244,11 @@ public function fieldSettingsForm(array $form, FormStateInterface $form_state) { ]; $element['min_resolution']['y'] = [ '#type' => 'number', - '#title' => t('Minimum height'), + '#title' => $this->t('Minimum height'), '#title_display' => 'invisible', '#default_value' => $min_resolution[1], '#min' => 1, - '#field_suffix' => ' ' . t('pixels'), + '#field_suffix' => ' ' . $this->t('pixels'), '#suffix' => '', ]; @@ -257,16 +258,16 @@ public function fieldSettingsForm(array $form, FormStateInterface $form_state) { // Add title and alt configuration options. $element['alt_field'] = [ '#type' => 'checkbox', - '#title' => t('Enable Alt field'), + '#title' => $this->t('Enable Alt field'), '#default_value' => $settings['alt_field'], - '#description' => t('Short description of the image used by screen readers and displayed when the image is not loaded. Enabling this field is recommended.'), + '#description' => $this->t('Short description of the image used by screen readers and displayed when the image is not loaded. Enabling this field is recommended.'), '#weight' => 9, ]; $element['alt_field_required'] = [ '#type' => 'checkbox', - '#title' => t('Alt field required'), + '#title' => $this->t('Alt field required'), '#default_value' => $settings['alt_field_required'], - '#description' => t('Making this field required is recommended.'), + '#description' => $this->t('Making this field required is recommended.'), '#weight' => 10, '#states' => [ 'visible' => [ @@ -276,14 +277,14 @@ public function fieldSettingsForm(array $form, FormStateInterface $form_state) { ]; $element['title_field'] = [ '#type' => 'checkbox', - '#title' => t('Enable Title field'), + '#title' => $this->t('Enable Title field'), '#default_value' => $settings['title_field'], - '#description' => t('The title attribute is used as a tooltip when the mouse hovers over the image. Enabling this field is not recommended as it can cause problems with screen readers.'), + '#description' => $this->t('The title attribute is used as a tooltip when the mouse hovers over the image. Enabling this field is not recommended as it can cause problems with screen readers.'), '#weight' => 11, ]; $element['title_field_required'] = [ '#type' => 'checkbox', - '#title' => t('Title field required'), + '#title' => $this->t('Title field required'), '#default_value' => $settings['title_field_required'], '#weight' => 12, '#states' => [ @@ -295,7 +296,7 @@ public function fieldSettingsForm(array $form, FormStateInterface $form_state) { // Add default_image element. static::defaultImageForm($element, $settings); - $element['default_image']['#description'] = t("If no image is uploaded, this image will be shown on display and will override the field's default image."); + $element['default_image']['#description'] = $this->t("If no image is uploaded, this image will be shown on display and will override the field's default image."); return $element; } @@ -395,9 +396,9 @@ public static function validateResolution($element, FormStateInterface $form_sta if (!empty($element['x']['#value']) || !empty($element['y']['#value'])) { foreach (['x', 'y'] as $dimension) { if (!$element[$dimension]['#value']) { - // We expect the field name placeholder value to be wrapped in t() + // We expect the field name placeholder value to be wrapped in $this->t() // here, so it won't be escaped again as it's already marked safe. - $form_state->setError($element[$dimension], t('Both a height and width value must be specified in the @name field.', ['@name' => $element['#title']])); + $form_state->setError($element[$dimension], new TranslatableMarkup('Both a height and width value must be specified in the @name field.', ['@name' => $element['#title']])); return; } } @@ -419,7 +420,7 @@ public static function validateResolution($element, FormStateInterface $form_sta protected function defaultImageForm(array &$element, array $settings) { $element['default_image'] = [ '#type' => 'details', - '#title' => t('Default image'), + '#title' => $this->t('Default image'), '#open' => TRUE, ]; // Convert the stored UUID to a FID. @@ -430,8 +431,8 @@ protected function defaultImageForm(array &$element, array $settings) { } $element['default_image']['uuid'] = [ '#type' => 'managed_file', - '#title' => t('Image'), - '#description' => t('Image to be shown if no image is uploaded.'), + '#title' => $this->t('Image'), + '#description' => $this->t('Image to be shown if no image is uploaded.'), '#default_value' => $fids, '#upload_location' => $settings['uri_scheme'] . '://default_images/', '#element_validate' => [ @@ -442,15 +443,15 @@ protected function defaultImageForm(array &$element, array $settings) { ]; $element['default_image']['alt'] = [ '#type' => 'textfield', - '#title' => t('Alternative text'), - '#description' => t('Short description of the image used by screen readers and displayed when the image is not loaded. This is important for accessibility.'), + '#title' => $this->t('Alternative text'), + '#description' => $this->t('Short description of the image used by screen readers and displayed when the image is not loaded. This is important for accessibility.'), '#default_value' => $settings['default_image']['alt'], '#maxlength' => 512, ]; $element['default_image']['title'] = [ '#type' => 'textfield', - '#title' => t('Title'), - '#description' => t('The title attribute is used as a tooltip when the mouse hovers over the image.'), + '#title' => $this->t('Title'), + '#description' => $this->t('The title attribute is used as a tooltip when the mouse hovers over the image.'), '#default_value' => $settings['default_image']['title'], '#maxlength' => 1024, ]; diff --git a/web/core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php b/web/core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php index 5a602339a..3037615d8 100644 --- a/web/core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php +++ b/web/core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php @@ -7,6 +7,7 @@ use Drupal\Core\Image\ImageFactory; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Render\ElementInfoManagerInterface; +use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\file\Entity\File; use Drupal\file\Plugin\Field\FieldWidget\FileWidget; use Drupal\image\Entity\ImageStyle; @@ -71,12 +72,12 @@ public function settingsForm(array $form, FormStateInterface $form_state) { $element = parent::settingsForm($form, $form_state); $element['preview_image_style'] = [ - '#title' => t('Preview image style'), + '#title' => $this->t('Preview image style'), '#type' => 'select', '#options' => image_style_options(FALSE), - '#empty_option' => '<' . t('no preview') . '>', + '#empty_option' => '<' . $this->t('no preview') . '>', '#default_value' => $this->getSetting('preview_image_style'), - '#description' => t('The preview image will be shown while editing the content.'), + '#description' => $this->t('The preview image will be shown while editing the content.'), '#weight' => 15, ]; @@ -96,10 +97,10 @@ public function settingsSummary() { // their styles in code. $image_style_setting = $this->getSetting('preview_image_style'); if (isset($image_styles[$image_style_setting])) { - $preview_image_style = t('Preview image style: @style', ['@style' => $image_styles[$image_style_setting]]); + $preview_image_style = $this->t('Preview image style: @style', ['@style' => $image_styles[$image_style_setting]]); } else { - $preview_image_style = t('No preview'); + $preview_image_style = $this->t('No preview'); } array_unshift($summary, $preview_image_style); @@ -256,10 +257,10 @@ public static function process($element, FormStateInterface $form_state, $form) // Add the additional alt and title fields. $element['alt'] = [ - '#title' => t('Alternative text'), + '#title' => new TranslatableMarkup('Alternative text'), '#type' => 'textfield', '#default_value' => $item['alt'] ?? '', - '#description' => t('Short description of the image used by screen readers and displayed when the image is not loaded. This is important for accessibility.'), + '#description' => new TranslatableMarkup('Short description of the image used by screen readers and displayed when the image is not loaded. This is important for accessibility.'), // @see https://www.drupal.org/node/465106#alt-text '#maxlength' => 512, '#weight' => -12, @@ -269,9 +270,9 @@ public static function process($element, FormStateInterface $form_state, $form) ]; $element['title'] = [ '#type' => 'textfield', - '#title' => t('Title'), + '#title' => new TranslatableMarkup('Title'), '#default_value' => $item['title'] ?? '', - '#description' => t('The title is used as a tool tip when the user hovers the mouse over the image.'), + '#description' => new TranslatableMarkup('The title is used as a tool tip when the user hovers the mouse over the image.'), '#maxlength' => 1024, '#weight' => -11, '#access' => (bool) $item['fids'] && $element['#title_field'], diff --git a/web/core/modules/image/src/Plugin/ImageEffect/ConvertImageEffect.php b/web/core/modules/image/src/Plugin/ImageEffect/ConvertImageEffect.php index 61fb4d478..4e848326c 100644 --- a/web/core/modules/image/src/Plugin/ImageEffect/ConvertImageEffect.php +++ b/web/core/modules/image/src/Plugin/ImageEffect/ConvertImageEffect.php @@ -67,7 +67,7 @@ public function buildConfigurationForm(array $form, FormStateInterface $form_sta ); $form['extension'] = [ '#type' => 'select', - '#title' => t('Convert to'), + '#title' => $this->t('Convert to'), '#default_value' => $this->configuration['extension'], '#required' => TRUE, '#options' => $options, diff --git a/web/core/modules/image/src/Plugin/ImageEffect/CropImageEffect.php b/web/core/modules/image/src/Plugin/ImageEffect/CropImageEffect.php index cdacda96b..8f99de881 100644 --- a/web/core/modules/image/src/Plugin/ImageEffect/CropImageEffect.php +++ b/web/core/modules/image/src/Plugin/ImageEffect/CropImageEffect.php @@ -59,21 +59,21 @@ public function buildConfigurationForm(array $form, FormStateInterface $form_sta $form = parent::buildConfigurationForm($form, $form_state); $form['anchor'] = [ '#type' => 'radios', - '#title' => t('Anchor'), + '#title' => $this->t('Anchor'), '#options' => [ - 'left-top' => t('Top left'), - 'center-top' => t('Top center'), - 'right-top' => t('Top right'), - 'left-center' => t('Center left'), - 'center-center' => t('Center'), - 'right-center' => t('Center right'), - 'left-bottom' => t('Bottom left'), - 'center-bottom' => t('Bottom center'), - 'right-bottom' => t('Bottom right'), + 'left-top' => $this->t('Top left'), + 'center-top' => $this->t('Top center'), + 'right-top' => $this->t('Top right'), + 'left-center' => $this->t('Center left'), + 'center-center' => $this->t('Center'), + 'right-center' => $this->t('Center right'), + 'left-bottom' => $this->t('Bottom left'), + 'center-bottom' => $this->t('Bottom center'), + 'right-bottom' => $this->t('Bottom right'), ], '#theme' => 'image_anchor', '#default_value' => $this->configuration['anchor'], - '#description' => t('The part of the image that will be retained during the crop.'), + '#description' => $this->t('The part of the image that will be retained during the crop.'), ]; return $form; } diff --git a/web/core/modules/image/src/Plugin/ImageEffect/ResizeImageEffect.php b/web/core/modules/image/src/Plugin/ImageEffect/ResizeImageEffect.php index dba34298d..26f70705d 100644 --- a/web/core/modules/image/src/Plugin/ImageEffect/ResizeImageEffect.php +++ b/web/core/modules/image/src/Plugin/ImageEffect/ResizeImageEffect.php @@ -66,17 +66,17 @@ public function defaultConfiguration() { public function buildConfigurationForm(array $form, FormStateInterface $form_state) { $form['width'] = [ '#type' => 'number', - '#title' => t('Width'), + '#title' => $this->t('Width'), '#default_value' => $this->configuration['width'], - '#field_suffix' => ' ' . t('pixels'), + '#field_suffix' => ' ' . $this->t('pixels'), '#required' => TRUE, '#min' => 1, ]; $form['height'] = [ '#type' => 'number', - '#title' => t('Height'), + '#title' => $this->t('Height'), '#default_value' => $this->configuration['height'], - '#field_suffix' => ' ' . t('pixels'), + '#field_suffix' => ' ' . $this->t('pixels'), '#required' => TRUE, '#min' => 1, ]; diff --git a/web/core/modules/image/src/Plugin/ImageEffect/RotateImageEffect.php b/web/core/modules/image/src/Plugin/ImageEffect/RotateImageEffect.php index 7e394a3cc..d6453dbf9 100644 --- a/web/core/modules/image/src/Plugin/ImageEffect/RotateImageEffect.php +++ b/web/core/modules/image/src/Plugin/ImageEffect/RotateImageEffect.php @@ -83,24 +83,24 @@ public function buildConfigurationForm(array $form, FormStateInterface $form_sta $form['degrees'] = [ '#type' => 'number', '#default_value' => $this->configuration['degrees'], - '#title' => t('Rotation angle'), - '#description' => t('The number of degrees the image should be rotated. Positive numbers are clockwise, negative are counter-clockwise.'), + '#title' => $this->t('Rotation angle'), + '#description' => $this->t('The number of degrees the image should be rotated. Positive numbers are clockwise, negative are counter-clockwise.'), '#field_suffix' => '°', '#required' => TRUE, ]; $form['bgcolor'] = [ '#type' => 'textfield', '#default_value' => $this->configuration['bgcolor'], - '#title' => t('Background color'), - '#description' => t('The background color to use for exposed areas of the image. Use web-style hex colors (#FFFFFF for white, #000000 for black). Leave blank for transparency on image types that support it.'), + '#title' => $this->t('Background color'), + '#description' => $this->t('The background color to use for exposed areas of the image. Use web-style hex colors (#FFFFFF for white, #000000 for black). Leave blank for transparency on image types that support it.'), '#size' => 7, '#maxlength' => 7, ]; $form['random'] = [ '#type' => 'checkbox', '#default_value' => $this->configuration['random'], - '#title' => t('Randomize'), - '#description' => t('Randomize the rotation angle for each image. The angle specified above is used as a maximum.'), + '#title' => $this->t('Randomize'), + '#description' => $this->t('Randomize the rotation angle for each image. The angle specified above is used as a maximum.'), ]; return $form; } diff --git a/web/core/modules/image/src/Plugin/ImageEffect/ScaleImageEffect.php b/web/core/modules/image/src/Plugin/ImageEffect/ScaleImageEffect.php index bfb6d942f..13e5aaa2d 100644 --- a/web/core/modules/image/src/Plugin/ImageEffect/ScaleImageEffect.php +++ b/web/core/modules/image/src/Plugin/ImageEffect/ScaleImageEffect.php @@ -69,8 +69,8 @@ public function buildConfigurationForm(array $form, FormStateInterface $form_sta $form['upscale'] = [ '#type' => 'checkbox', '#default_value' => $this->configuration['upscale'], - '#title' => t('Allow Upscaling'), - '#description' => t('Let scale make images larger than their original size.'), + '#title' => $this->t('Allow Upscaling'), + '#description' => $this->t('Let scale make images larger than their original size.'), ]; return $form; } diff --git a/web/core/modules/image/src/Routing/ImageStyleRoutes.php b/web/core/modules/image/src/Routing/ImageStyleRoutes.php index ed414e23e..acb0502b0 100644 --- a/web/core/modules/image/src/Routing/ImageStyleRoutes.php +++ b/web/core/modules/image/src/Routing/ImageStyleRoutes.php @@ -8,7 +8,7 @@ use Symfony\Component\Routing\Route; /** - * Defines a route subscriber to register a url for serving image styles. + * Defines a route subscriber to register a URL for serving image styles. */ class ImageStyleRoutes implements ContainerInjectionInterface { diff --git a/web/core/modules/image/tests/modules/image_module_test/src/Plugin/Field/FieldFormatter/DummyAjaxFormatter.php b/web/core/modules/image/tests/modules/image_module_test/src/Plugin/Field/FieldFormatter/DummyAjaxFormatter.php index cebc54bec..0952a48dc 100644 --- a/web/core/modules/image/tests/modules/image_module_test/src/Plugin/Field/FieldFormatter/DummyAjaxFormatter.php +++ b/web/core/modules/image/tests/modules/image_module_test/src/Plugin/Field/FieldFormatter/DummyAjaxFormatter.php @@ -24,7 +24,7 @@ class DummyAjaxFormatter extends FormatterBase { */ public function settingsSummary() { $summary = []; - $summary[] = t('Renders nothing'); + $summary[] = $this->t('Renders nothing'); return $summary; } diff --git a/web/core/modules/image/tests/modules/image_module_test/src/Plugin/ImageEffect/AjaxTestImageEffect.php b/web/core/modules/image/tests/modules/image_module_test/src/Plugin/ImageEffect/AjaxTestImageEffect.php index a18c2637c..1a8cfd7ee 100644 --- a/web/core/modules/image/tests/modules/image_module_test/src/Plugin/ImageEffect/AjaxTestImageEffect.php +++ b/web/core/modules/image/tests/modules/image_module_test/src/Plugin/ImageEffect/AjaxTestImageEffect.php @@ -33,7 +33,7 @@ public function defaultConfiguration() { public function buildConfigurationForm(array $form, FormStateInterface $form_state) { $form['test_parameter'] = [ '#type' => 'number', - '#title' => t('Test parameter'), + '#title' => $this->t('Test parameter'), '#default_value' => $this->configuration['test_parameter'], '#min' => 0, ]; diff --git a/web/core/modules/image/tests/src/Functional/ImageFieldDisplayTest.php b/web/core/modules/image/tests/src/Functional/ImageFieldDisplayTest.php index bd33f0e32..7502129a7 100644 --- a/web/core/modules/image/tests/src/Functional/ImageFieldDisplayTest.php +++ b/web/core/modules/image/tests/src/Functional/ImageFieldDisplayTest.php @@ -206,6 +206,9 @@ public function _testImageFieldFormatters($scheme) { $this->drupalLogout(); $this->drupalGet(ImageStyle::load('thumbnail')->buildUrl($image_uri)); $this->assertSession()->statusCodeEquals(403); + + // Log in again. + $this->drupalLogin($this->adminUser); } // Test the image URL formatter without an image style. @@ -220,6 +223,18 @@ public function _testImageFieldFormatters($scheme) { $display_options['settings']['image_style'] = 'thumbnail'; $expected_url = \Drupal::service('file_url_generator')->transformRelative(ImageStyle::load('thumbnail')->buildUrl($image_uri)); $this->assertEquals($expected_url, $node->{$field_name}->view($display_options)[0]['#markup']); + + // Test the settings summary. + $display_options = [ + 'type' => 'image_url', + 'settings' => [ + 'image_style' => 'thumbnail', + ], + ]; + $display = \Drupal::service('entity_display.repository')->getViewDisplay('node', $node->getType(), 'default'); + $display->setComponent($field_name, $display_options)->save(); + $this->drupalGet("admin/structure/types/manage/" . $node->getType() . "/display"); + $this->assertSession()->responseContains('Image style: Thumbnail (100×100)'); } /** diff --git a/web/core/modules/image/tests/src/Functional/ImageFieldTestBase.php b/web/core/modules/image/tests/src/Functional/ImageFieldTestBase.php index 82cef6e77..05c47ddce 100644 --- a/web/core/modules/image/tests/src/Functional/ImageFieldTestBase.php +++ b/web/core/modules/image/tests/src/Functional/ImageFieldTestBase.php @@ -45,6 +45,9 @@ abstract class ImageFieldTestBase extends BrowserTestBase { */ protected $adminUser; + /** + * {@inheritdoc} + */ protected function setUp() { parent::setUp(); diff --git a/web/core/modules/image/tests/src/Kernel/ImageItemTest.php b/web/core/modules/image/tests/src/Kernel/ImageItemTest.php index 288474721..8c2de5d0c 100644 --- a/web/core/modules/image/tests/src/Kernel/ImageItemTest.php +++ b/web/core/modules/image/tests/src/Kernel/ImageItemTest.php @@ -40,6 +40,9 @@ class ImageItemTest extends FieldKernelTestBase { */ protected $imageFactory; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/image/tests/src/Kernel/ImageThemeFunctionTest.php b/web/core/modules/image/tests/src/Kernel/ImageThemeFunctionTest.php index 1f9654e71..6fc83f07a 100644 --- a/web/core/modules/image/tests/src/Kernel/ImageThemeFunctionTest.php +++ b/web/core/modules/image/tests/src/Kernel/ImageThemeFunctionTest.php @@ -51,6 +51,9 @@ class ImageThemeFunctionTest extends KernelTestBase { */ protected $imageFactory; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -187,7 +190,7 @@ public function testImageAltFunctionality() { // Test using alt directly with alt attribute. $image_with_alt_property = [ '#theme' => 'image', - '#uri' => '/core/themes/bartik/logo.svg', + '#uri' => '/core/themes/olivero/logo.svg', '#alt' => 'Regular alt', '#title' => 'Test title', '#width' => '50%', @@ -202,7 +205,7 @@ public function testImageAltFunctionality() { // Test using alt attribute inside attributes. $image_with_alt_attribute_alt_attribute = [ '#theme' => 'image', - '#uri' => '/core/themes/bartik/logo.svg', + '#uri' => '/core/themes/olivero/logo.svg', '#width' => '50%', '#height' => '50%', '#attributes' => [ @@ -220,7 +223,7 @@ public function testImageAltFunctionality() { // Test using alt attribute as property and inside attributes. $image_with_alt_attribute_both = [ '#theme' => 'image', - '#uri' => '/core/themes/bartik/logo.svg', + '#uri' => '/core/themes/olivero/logo.svg', '#width' => '50%', '#height' => '50%', '#alt' => 'Kitten sustainable', diff --git a/web/core/modules/image/tests/src/Kernel/Migrate/d6/MigrateImageCacheTest.php b/web/core/modules/image/tests/src/Kernel/Migrate/d6/MigrateImageCacheTest.php index 89009fd05..7cb8ad8d9 100644 --- a/web/core/modules/image/tests/src/Kernel/Migrate/d6/MigrateImageCacheTest.php +++ b/web/core/modules/image/tests/src/Kernel/Migrate/d6/MigrateImageCacheTest.php @@ -85,19 +85,19 @@ public function testPassingMigration() { public function testMissingEffectPlugin() { Database::getConnection('default', 'migrate')->insert("imagecache_action") ->fields([ - 'presetid', - 'weight', - 'module', - 'action', - 'data', - ]) + 'presetid', + 'weight', + 'module', + 'action', + 'data', + ]) ->values([ - 'presetid' => '1', - 'weight' => '0', - 'module' => 'imagecache', - 'action' => 'imagecache_deprecated_scale', - 'data' => 'a:3:{s:3:"fit";s:7:"outside";s:5:"width";s:3:"200";s:6:"height";s:3:"200";}', - ])->execute(); + 'presetid' => '1', + 'weight' => '0', + 'module' => 'imagecache', + 'action' => 'imagecache_deprecated_scale', + 'data' => 'a:3:{s:3:"fit";s:7:"outside";s:5:"width";s:3:"200";s:6:"height";s:3:"200";}', + ])->execute(); $this->startCollectingMessages(); $this->executeMigration('d6_imagecache_presets'); @@ -113,22 +113,22 @@ public function testMissingEffectPlugin() { public function testInvalidCropValues() { Database::getConnection('default', 'migrate')->insert("imagecache_action") ->fields([ - 'presetid', - 'weight', - 'module', - 'action', - 'data', - ]) + 'presetid', + 'weight', + 'module', + 'action', + 'data', + ]) ->values([ - 'presetid' => '1', - 'weight' => '0', - 'module' => 'imagecache', - 'action' => 'imagecache_crop', - 'data' => serialize([ - 'xoffset' => '10', - 'yoffset' => '10', - ]), - ])->execute(); + 'presetid' => '1', + 'weight' => '0', + 'module' => 'imagecache', + 'action' => 'imagecache_crop', + 'data' => serialize([ + 'xoffset' => '10', + 'yoffset' => '10', + ]), + ])->execute(); $this->startCollectingMessages(); $this->executeMigration('d6_imagecache_presets'); diff --git a/web/core/modules/image/tests/src/Kernel/Views/RelationshipUserImageDataTest.php b/web/core/modules/image/tests/src/Kernel/Views/RelationshipUserImageDataTest.php index 04a605c7f..7c0bc9ff5 100644 --- a/web/core/modules/image/tests/src/Kernel/Views/RelationshipUserImageDataTest.php +++ b/web/core/modules/image/tests/src/Kernel/Views/RelationshipUserImageDataTest.php @@ -38,6 +38,9 @@ class RelationshipUserImageDataTest extends ViewsKernelTestBase { */ public static $testViews = ['test_image_user_image_data']; + /** + * {@inheritdoc} + */ protected function setUp($import_test_views = TRUE): void { parent::setUp($import_test_views); diff --git a/web/core/modules/image/tests/src/Unit/ImageStyleTest.php b/web/core/modules/image/tests/src/Unit/ImageStyleTest.php index eef2acb8a..6ea87730a 100644 --- a/web/core/modules/image/tests/src/Unit/ImageStyleTest.php +++ b/web/core/modules/image/tests/src/Unit/ImageStyleTest.php @@ -53,7 +53,7 @@ protected function getImageStyleMock($image_effect_id, $image_effect, $stubs = [ $effectManager->expects($this->any()) ->method('createInstance') ->with($image_effect_id) - ->will($this->returnValue($image_effect)); + ->willReturn($image_effect); $default_stubs = ['getImageEffectPluginManager', 'fileDefaultScheme']; $image_style = $this->getMockBuilder('\Drupal\image\Entity\ImageStyle') ->setConstructorArgs([ @@ -65,7 +65,7 @@ protected function getImageStyleMock($image_effect_id, $image_effect, $stubs = [ $image_style->expects($this->any()) ->method('getImageEffectPluginManager') - ->will($this->returnValue($effectManager)); + ->willReturn($effectManager); $image_style->expects($this->any()) ->method('fileDefaultScheme') ->willReturnCallback([$this, 'fileDefaultScheme']); @@ -82,12 +82,12 @@ protected function setUp(): void { $this->entityType = $this->createMock('\Drupal\Core\Entity\EntityTypeInterface'); $this->entityType->expects($this->any()) ->method('getProvider') - ->will($this->returnValue($provider)); + ->willReturn($provider); $this->entityTypeManager = $this->createMock('\Drupal\Core\Entity\EntityTypeManagerInterface'); $this->entityTypeManager->expects($this->any()) ->method('getDefinition') ->with($this->entityTypeId) - ->will($this->returnValue($this->entityType)); + ->willReturn($this->entityType); } /** @@ -101,7 +101,7 @@ public function testGetDerivativeExtension() { ->getMock(); $image_effect->expects($this->any()) ->method('getDerivativeExtension') - ->will($this->returnValue('png')); + ->willReturn('png'); $image_style = $this->getImageStyleMock($image_effect_id, $image_effect); @@ -124,7 +124,7 @@ public function testBuildUri() { ->getMock(); $image_effect->expects($this->any()) ->method('getDerivativeExtension') - ->will($this->returnValue('png')); + ->willReturn('png'); $image_style = $this->getImageStyleMock($image_effect_id, $image_effect); $this->assertEquals($image_style->buildUri('public://test.jpeg'), 'public://styles/' . $image_style->id() . '/public/test.jpeg.png'); @@ -157,15 +157,15 @@ public function testGetPathToken() { ->getMock(); $image_effect->expects($this->any()) ->method('getDerivativeExtension') - ->will($this->returnValue('png')); + ->willReturn('png'); $image_style = $this->getImageStyleMock($image_effect_id, $image_effect, ['getPrivateKey', 'getHashSalt']); $image_style->expects($this->any()) ->method('getPrivateKey') - ->will($this->returnValue($private_key)); + ->willReturn($private_key); $image_style->expects($this->any()) ->method('getHashSalt') - ->will($this->returnValue($hash_salt)); + ->willReturn($hash_salt); // Assert the extension has been added to the URI before creating the token. $this->assertEquals($image_style->getPathToken('public://test.jpeg.png'), $image_style->getPathToken('public://test.jpeg')); @@ -184,10 +184,10 @@ public function testGetPathToken() { $image_style = $this->getImageStyleMock($image_effect_id, $image_effect, ['getPrivateKey', 'getHashSalt']); $image_style->expects($this->any()) ->method('getPrivateKey') - ->will($this->returnValue($private_key)); + ->willReturn($private_key); $image_style->expects($this->any()) ->method('getHashSalt') - ->will($this->returnValue($hash_salt)); + ->willReturn($hash_salt); // Assert no extension has been added to the uri before creating the token. $this->assertNotEquals($image_style->getPathToken('public://test.jpeg.png'), $image_style->getPathToken('public://test.jpeg')); $this->assertNotEquals(substr(Crypt::hmacBase64($image_style->id() . ':' . 'public://test.jpeg.png', $private_key . $hash_salt), 0, 8), $image_style->getPathToken('public://test.jpeg')); diff --git a/web/core/modules/image/tests/src/Unit/PageCache/DenyPrivateImageStyleDownloadTest.php b/web/core/modules/image/tests/src/Unit/PageCache/DenyPrivateImageStyleDownloadTest.php index 138b94db7..1fd9679f0 100644 --- a/web/core/modules/image/tests/src/Unit/PageCache/DenyPrivateImageStyleDownloadTest.php +++ b/web/core/modules/image/tests/src/Unit/PageCache/DenyPrivateImageStyleDownloadTest.php @@ -42,6 +42,9 @@ class DenyPrivateImageStyleDownloadTest extends UnitTestCase { */ protected $routeMatch; + /** + * {@inheritdoc} + */ protected function setUp(): void { $this->routeMatch = $this->createMock('Drupal\Core\Routing\RouteMatchInterface'); $this->policy = new DenyPrivateImageStyleDownload($this->routeMatch); @@ -58,7 +61,7 @@ protected function setUp(): void { public function testPrivateImageStyleDownloadPolicy($expected_result, $route_name) { $this->routeMatch->expects($this->once()) ->method('getRouteName') - ->will($this->returnValue($route_name)); + ->willReturn($route_name); $actual_result = $this->policy->check($this->response, $this->request); $this->assertSame($expected_result, $actual_result); diff --git a/web/core/modules/inline_form_errors/src/FormErrorHandler.php b/web/core/modules/inline_form_errors/src/FormErrorHandler.php index 23cef62c4..da286108b 100644 --- a/web/core/modules/inline_form_errors/src/FormErrorHandler.php +++ b/web/core/modules/inline_form_errors/src/FormErrorHandler.php @@ -108,7 +108,7 @@ protected function displayErrorMessages(array $form, FormStateInterface $form_st if (!empty($error_links)) { $render_array = [ [ - '#markup' => $this->formatPlural(count($error_links), '1 error has been found: ', '@count errors have been found: '), + '#markup' => $this->formatPlural(count($error_links), '1 error has been found: ', '@count errors have been found: '), ], [ '#theme' => 'item_list', diff --git a/web/core/modules/jsonapi/src/Normalizer/FieldItemNormalizer.php b/web/core/modules/jsonapi/src/Normalizer/FieldItemNormalizer.php index 9d1feea4e..3fb60bff1 100644 --- a/web/core/modules/jsonapi/src/Normalizer/FieldItemNormalizer.php +++ b/web/core/modules/jsonapi/src/Normalizer/FieldItemNormalizer.php @@ -7,11 +7,13 @@ use Drupal\Core\Field\FieldItemInterface; use Drupal\Core\Field\FieldItemListInterface; use Drupal\Core\Field\TypedData\FieldItemDataDefinitionInterface; +use Drupal\Core\TypedData\DataDefinitionInterface; use Drupal\Core\TypedData\TypedDataInternalPropertiesHelper; use Drupal\jsonapi\Normalizer\Value\CacheableNormalization; use Drupal\jsonapi\ResourceType\ResourceType; use Drupal\serialization\Normalizer\CacheableNormalizerInterface; use Drupal\serialization\Normalizer\SerializedColumnNormalizerTrait; +use Symfony\Component\Serializer\Exception\UnexpectedValueException; use Symfony\Component\Serializer\Normalizer\DenormalizerInterface; /** @@ -128,6 +130,46 @@ public function denormalize($data, $class, $format = NULL, array $context = []) $data_internal = []; if (!empty($property_definitions)) { + $writable_properties = array_keys(array_filter($property_definitions, function (DataDefinitionInterface $data_definition) : bool { + return !$data_definition->isReadOnly(); + })); + $invalid_property_names = []; + foreach ($data as $property_name => $property_value) { + if (!isset($property_definitions[$property_name])) { + $alt = static::getAlternatives($property_name, $writable_properties); + $invalid_property_names[$property_name] = reset($alt); + } + } + if (!empty($invalid_property_names)) { + $suggestions = array_values(array_filter($invalid_property_names)); + // Only use the "Did you mean"-style error message if there is a + // suggestion for every invalid property name. + if (count($suggestions) === count($invalid_property_names)) { + $format = count($invalid_property_names) === 1 + ? "The property '%s' does not exist on the '%s' field of type '%s'. Did you mean '%s'?" + : "The properties '%s' do not exist on the '%s' field of type '%s'. Did you mean '%s'?"; + throw new UnexpectedValueException(sprintf( + $format, + implode("', '", array_keys($invalid_property_names)), + $item_definition->getFieldDefinition()->getName(), + $item_definition->getFieldDefinition()->getType(), + implode("', '", $suggestions) + )); + } + else { + $format = count($invalid_property_names) === 1 + ? "The property '%s' does not exist on the '%s' field of type '%s'. Writable properties are: '%s'." + : "The properties '%s' do not exist on the '%s' field of type '%s'. Writable properties are: '%s'."; + throw new UnexpectedValueException(sprintf( + $format, + implode("', '", array_keys($invalid_property_names)), + $item_definition->getFieldDefinition()->getName(), + $item_definition->getFieldDefinition()->getType(), + implode("', '", $writable_properties) + )); + } + } + foreach ($data as $property_name => $property_value) { $property_value_class = $property_definitions[$property_name]->getClass(); $data_internal[$property_name] = $denormalize_property($property_name, $property_value, $property_value_class, $format, $context); @@ -140,6 +182,37 @@ public function denormalize($data, $class, $format = NULL, array $context = []) return $data_internal; } + /** + * Provides alternatives for a given array and key. + * + * @param string $search_key + * The search key to get alternatives for. + * @param array $keys + * The search space to search for alternatives in. + * + * @return string[] + * An array of strings with suitable alternatives. + * + * @see \Drupal\Component\DependencyInjection\Container::getAlternatives() + */ + private static function getAlternatives(string $search_key, array $keys) : array { + // $search_key is user input and could be longer than the 255 string length + // limit of levenshtein(). + if (strlen($search_key) > 255) { + return []; + } + + $alternatives = []; + foreach ($keys as $key) { + $lev = levenshtein($search_key, $key); + if ($lev <= strlen($search_key) / 3 || strpos($key, $search_key) !== FALSE) { + $alternatives[] = $key; + } + } + + return $alternatives; + } + /** * Gets a field item instance for use with SerializedColumnNormalizerTrait. * diff --git a/web/core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php b/web/core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php index 8abd200e1..b102b9960 100644 --- a/web/core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php +++ b/web/core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php @@ -51,6 +51,12 @@ public function __construct(AccountInterface $current_user) { public function normalize($object, $format = NULL, array $context = []) { $cacheability = new CacheableMetadata(); $cacheability->addCacheableDependency($object); + + $cacheability->addCacheTags(['config:system.logging']); + if (\Drupal::config('system.logging')->get('error_level') === ERROR_REPORTING_DISPLAY_VERBOSE) { + $cacheability->setCacheMaxAge(0); + } + return new HttpExceptionNormalizerValue($cacheability, static::rasterizeValueRecursive($this->buildErrorObjects($object))); } @@ -89,7 +95,10 @@ protected function buildErrorObjects(HttpException $exception) { if ($exception->getCode() !== 0) { $error['code'] = (string) $exception->getCode(); } - if ($this->currentUser->hasPermission('access site reports')) { + + $is_verbose_reporting = \Drupal::config('system.logging')->get('error_level') === ERROR_REPORTING_DISPLAY_VERBOSE; + $site_report_access = $this->currentUser->hasPermission('access site reports'); + if ($site_report_access && $is_verbose_reporting) { // The following information may contain sensitive information. Only show // it to authorized users. $error['source'] = [ diff --git a/web/core/modules/jsonapi/src/Normalizer/NormalizerBase.php b/web/core/modules/jsonapi/src/Normalizer/NormalizerBase.php index 37f639bdb..e3769b8ba 100644 --- a/web/core/modules/jsonapi/src/Normalizer/NormalizerBase.php +++ b/web/core/modules/jsonapi/src/Normalizer/NormalizerBase.php @@ -62,9 +62,10 @@ protected static function rasterizeValueRecursive($value) { */ protected function checkFormat($format = NULL) { // The parent implementation allows format-specific normalizers to be used - // for formatless normalization. The JSON:API module wants to be cautious. - // Hence it only allows its normalizers to be used for the JSON:API format, - // to avoid JSON:API-specific normalizations showing up in the REST API. + // for normalization without a format. The JSON:API module wants to be + // cautious. Hence it only allows its normalizers to be used for the + // JSON:API format, to avoid JSON:API-specific normalizations showing up in + // the REST API. return $format === $this->format; } diff --git a/web/core/modules/jsonapi/src/ResourceType/ResourceTypeRepositoryInterface.php b/web/core/modules/jsonapi/src/ResourceType/ResourceTypeRepositoryInterface.php index 8a66abf5a..43db5b512 100644 --- a/web/core/modules/jsonapi/src/ResourceType/ResourceTypeRepositoryInterface.php +++ b/web/core/modules/jsonapi/src/ResourceType/ResourceTypeRepositoryInterface.php @@ -30,7 +30,7 @@ public function all(); * The ID for the bundle to find. If the entity type does not have a bundle, * then the entity type ID again. * - * @return \Drupal\jsonapi\ResourceType\ResourceType + * @return \Drupal\jsonapi\ResourceType\ResourceType|null * The requested JSON:API resource type, if it exists. NULL otherwise. * * @see \Drupal\Core\Entity\EntityInterface::bundle() diff --git a/web/core/modules/jsonapi/tests/src/Functional/JsonApiRegressionTest.php b/web/core/modules/jsonapi/tests/src/Functional/JsonApiRegressionTest.php index ee5024604..f88fa4141 100644 --- a/web/core/modules/jsonapi/tests/src/Functional/JsonApiRegressionTest.php +++ b/web/core/modules/jsonapi/tests/src/Functional/JsonApiRegressionTest.php @@ -1027,43 +1027,6 @@ public function testRecursionDetectedWhenResponseContainsViolationsFrom3042124() $this->assertSame(sprintf('title: This value should not be null.'), $data['errors'][0]['detail']); } - /** - * Ensure that child comments can be retrieved via JSON:API. - */ - public function testLeakedCacheMetadataViaRdfFromIssue3053827() { - $this->assertTrue($this->container->get('module_installer')->install(['comment', 'rdf'], TRUE), 'Installed modules.'); - $this->addDefaultCommentField('node', 'article', 'comment', CommentItemInterface::OPEN, 'comment'); - $this->rebuildAll(); - - // Create data. - Node::create([ - 'title' => 'Commented Node', - 'type' => 'article', - ])->save(); - $default_values = [ - 'entity_id' => 1, - 'entity_type' => 'node', - 'field_name' => 'comment', - 'status' => 1, - ]; - $parent = Comment::create(['subject' => 'Marlin'] + $default_values); - $parent->save(); - $child = Comment::create(['subject' => 'Nemo', 'pid' => $parent->id()] + $default_values); - $child->save(); - - // Test. - $user = $this->drupalCreateUser(['access comments']); - $request_options = [ - RequestOptions::AUTH => [ - $user->getAccountName(), - $user->pass_raw, - ], - ]; - // Requesting the comment collection should succeed. - $response = $this->request('GET', Url::fromUri('internal:/jsonapi/comment/comment'), $request_options); - $this->assertSame(200, $response->getStatusCode()); - } - /** * Ensure non-translatable entities can be PATCHed with an alternate language. * @@ -1430,4 +1393,99 @@ public function testFilteringEntitiesByEntityReferenceTargetId() { $this->assertSame('Article created by ' . $users[1]->uuid(), $document['data'][0]['attributes']['title']); } + /** + * Ensure PATCHing a non-existing field property results in a helpful error. + * + * @see https://www.drupal.org/project/drupal/issues/3127883 + */ + public function testPatchInvalidFieldPropertyFromIssue3127883() { + $this->config('jsonapi.settings')->set('read_only', FALSE)->save(TRUE); + + // Set up data model. + $this->drupalCreateContentType(['type' => 'page']); + $this->rebuildAll(); + + // Create data. + $node = Node::create([ + 'title' => 'foo', + 'type' => 'page', + 'body' => [ + 'format' => 'plain_text', + 'value' => 'Hello World', + ], + ]); + $node->save(); + + // Test. + $user = $this->drupalCreateUser(['bypass node access']); + $url = Url::fromUri('internal:/jsonapi/node/page/' . $node->uuid()); + $request_options = [ + RequestOptions::HEADERS => [ + 'Content-Type' => 'application/vnd.api+json', + 'Accept' => 'application/vnd.api+json', + ], + RequestOptions::AUTH => [$user->getAccountName(), $user->pass_raw], + RequestOptions::JSON => [ + 'data' => [ + 'type' => 'node--page', + 'id' => $node->uuid(), + 'attributes' => [ + 'title' => 'Updated title', + 'body' => [ + 'value' => 'Hello World … still.', + // Intentional typo in the property name! + 'form' => 'plain_text', + // Another intentional typo. + // cSpell:disable-next-line + 'sumary' => 'Boring old "Hello World".', + // And finally, one that is completely absurd. + 'foobarbaz' => '', + ], + ], + ], + ], + ]; + $response = $this->request('PATCH', $url, $request_options); + + // Assert a helpful error response is present. + $data = Json::decode((string) $response->getBody()); + $this->assertSame(422, $response->getStatusCode()); + $this->assertNotNull($data); + // cSpell:disable-next-line + $this->assertSame("The properties 'form', 'sumary', 'foobarbaz' do not exist on the 'body' field of type 'text_with_summary'. Writable properties are: 'value', 'format', 'summary'.", $data['errors'][0]['detail']); + + $request_options = [ + RequestOptions::HEADERS => [ + 'Content-Type' => 'application/vnd.api+json', + 'Accept' => 'application/vnd.api+json', + ], + RequestOptions::AUTH => [$user->getAccountName(), $user->pass_raw], + RequestOptions::JSON => [ + 'data' => [ + 'type' => 'node--page', + 'id' => $node->uuid(), + 'attributes' => [ + 'title' => 'Updated title', + 'body' => [ + 'value' => 'Hello World … still.', + // Intentional typo in the property name! + 'form' => 'plain_text', + // Another intentional typo. + // cSpell:disable-next-line + 'sumary' => 'Boring old "Hello World".', + ], + ], + ], + ], + ]; + $response = $this->request('PATCH', $url, $request_options); + + // Assert a helpful error response is present. + $data = Json::decode((string) $response->getBody()); + $this->assertSame(422, $response->getStatusCode()); + $this->assertNotNull($data); + // cSpell:disable-next-line + $this->assertSame("The properties 'form', 'sumary' do not exist on the 'body' field of type 'text_with_summary'. Did you mean 'format', 'summary'?", $data['errors'][0]['detail']); + } + } diff --git a/web/core/modules/jsonapi/tests/src/Functional/RdfMappingTest.php b/web/core/modules/jsonapi/tests/src/Functional/RdfMappingTest.php deleted file mode 100644 index 61e0f378e..000000000 --- a/web/core/modules/jsonapi/tests/src/Functional/RdfMappingTest.php +++ /dev/null @@ -1,154 +0,0 @@ -grantPermissionsToTestedRole(['administer site configuration']); - } - - /** - * {@inheritdoc} - */ - protected function createEntity() { - // Create a "Camelids" node type. - $camelids = NodeType::create([ - 'name' => 'Camelids', - 'type' => 'camelids', - ]); - - $camelids->save(); - - // Create the RDF mapping. - $llama = RdfMapping::create([ - 'targetEntityType' => 'node', - 'bundle' => 'camelids', - ]); - $llama->setBundleMapping([ - 'types' => ['sioc:Item', 'foaf:Document'], - ]) - ->setFieldMapping('title', [ - 'properties' => ['dc:title'], - ]) - ->setFieldMapping('created', [ - 'properties' => ['dc:date', 'dc:created'], - 'datatype' => 'xsd:dateTime', - 'datatype_callback' => ['callable' => 'Drupal\rdf\CommonDataConverter::dateIso8601Value'], - ]) - ->save(); - - return $llama; - } - - /** - * {@inheritdoc} - */ - protected function getExpectedDocument() { - $self_url = Url::fromUri('base:/jsonapi/rdf_mapping/rdf_mapping/' . $this->entity->uuid())->setAbsolute()->toString(TRUE)->getGeneratedUrl(); - return [ - 'jsonapi' => [ - 'meta' => [ - 'links' => [ - 'self' => ['href' => 'http://jsonapi.org/format/1.0/'], - ], - ], - 'version' => '1.0', - ], - 'links' => [ - 'self' => ['href' => $self_url], - ], - 'data' => [ - 'id' => $this->entity->uuid(), - 'type' => 'rdf_mapping--rdf_mapping', - 'links' => [ - 'self' => ['href' => $self_url], - ], - 'attributes' => [ - 'bundle' => 'camelids', - 'dependencies' => [ - 'config' => [ - 'node.type.camelids', - ], - 'module' => [ - 'node', - ], - ], - 'fieldMappings' => [ - 'title' => [ - 'properties' => [ - 'dc:title', - ], - ], - 'created' => [ - 'properties' => [ - 'dc:date', - 'dc:created', - ], - 'datatype' => 'xsd:dateTime', - 'datatype_callback' => [ - 'callable' => 'Drupal\rdf\CommonDataConverter::dateIso8601Value', - ], - ], - ], - 'langcode' => 'en', - 'status' => TRUE, - 'targetEntityType' => 'node', - 'types' => [ - 'sioc:Item', - 'foaf:Document', - ], - 'drupal_internal__id' => 'node.camelids', - ], - ], - ]; - } - - /** - * {@inheritdoc} - */ - protected function getPostDocument() { - // @todo Update in https://www.drupal.org/node/2300677. - return []; - } - -} diff --git a/web/core/modules/jsonapi/tests/src/Functional/ResourceTestBase.php b/web/core/modules/jsonapi/tests/src/Functional/ResourceTestBase.php index 2f358158f..f00b9a467 100644 --- a/web/core/modules/jsonapi/tests/src/Functional/ResourceTestBase.php +++ b/web/core/modules/jsonapi/tests/src/Functional/ResourceTestBase.php @@ -221,6 +221,8 @@ public function setUp() { $this->serializer = $this->container->get('jsonapi.serializer'); + $this->config('system.logging')->set('error_level', ERROR_REPORTING_HIDE)->save(); + // Ensure the anonymous user role has no permissions at all. $user_role = Role::load(RoleInterface::ANONYMOUS_ID); foreach ($user_role->getPermissions() as $permission) { @@ -607,21 +609,14 @@ protected static function getExpectedCollectionCacheability(AccountInterface $ac /** * Sets up the necessary authorization. * - * In case of a test verifying publicly accessible REST resources: grant - * permissions to the anonymous user role. - * - * In case of a test verifying behavior when using a particular authentication - * provider: create a user with a particular set of permissions. - * * Because of the $method parameter, it's possible to first set up - * authentication for only GET, then add POST, et cetera. This then also + * authorization for only GET, then add POST, et cetera. This then also * allows for verifying a 403 in case of missing authorization. * * @param string $method - * The HTTP method for which to set up authentication. + * The HTTP method for which to set up authorization. * - * @see ::grantPermissionsToAnonymousRole() - * @see ::grantPermissionsToAuthenticatedRole() + * @see ::grantPermissionsToTestedRole() */ abstract protected function setUpAuthorization($method); @@ -732,7 +727,14 @@ protected function assertResourceResponse($expected_status_code, $expected_docum // Expected cache tags: X-Drupal-Cache-Tags header. $this->assertSame($expected_cache_tags !== FALSE, $response->hasHeader('X-Drupal-Cache-Tags')); if (is_array($expected_cache_tags)) { - $this->assertEqualsCanonicalizing($expected_cache_tags, explode(' ', $response->getHeader('X-Drupal-Cache-Tags')[0])); + $actual_cache_tags = explode(' ', $response->getHeader('X-Drupal-Cache-Tags')[0]); + + $tag = 'config:system.logging'; + if (!in_array($tag, $expected_cache_tags) && in_array($tag, $actual_cache_tags)) { + $expected_cache_tags[] = $tag; + } + + $this->assertEqualsCanonicalizing($expected_cache_tags, $actual_cache_tags); } // Expected cache contexts: X-Drupal-Cache-Contexts header. diff --git a/web/core/modules/jsonapi/tests/src/Functional/RestJsonApiUnsupported.php b/web/core/modules/jsonapi/tests/src/Functional/RestJsonApiUnsupported.php index afabfeefb..a2bf45c71 100644 --- a/web/core/modules/jsonapi/tests/src/Functional/RestJsonApiUnsupported.php +++ b/web/core/modules/jsonapi/tests/src/Functional/RestJsonApiUnsupported.php @@ -65,9 +65,7 @@ protected function setUpAuthorization($method) { public function setUp(): void { parent::setUp(); - // Set up a HTTP client that accepts relative URLs. - $this->httpClient = $this->container->get('http_client_factory') - ->fromOptions(['base_uri' => $this->baseUrl]); + $this->config('system.logging')->set('error_level', ERROR_REPORTING_HIDE)->save(); // Create a "Camelids" node type. NodeType::create([ @@ -103,7 +101,7 @@ public function testApiJsonNotSupportedInRest() { 400, FALSE, $response, - ['4xx-response', 'config:user.role.anonymous', 'http_response', 'node:1'], + ['4xx-response', 'config:system.logging', 'config:user.role.anonymous', 'http_response', 'node:1'], ['url.query_args:_format', 'url.site', 'user.permissions'], 'MISS', 'MISS' diff --git a/web/core/modules/jsonapi/tests/src/Kernel/Normalizer/JsonApiDocumentTopLevelNormalizerTest.php b/web/core/modules/jsonapi/tests/src/Kernel/Normalizer/JsonApiDocumentTopLevelNormalizerTest.php index c459aa275..be9f88310 100644 --- a/web/core/modules/jsonapi/tests/src/Kernel/Normalizer/JsonApiDocumentTopLevelNormalizerTest.php +++ b/web/core/modules/jsonapi/tests/src/Kernel/Normalizer/JsonApiDocumentTopLevelNormalizerTest.php @@ -24,8 +24,6 @@ use Drupal\user\Entity\Role; use Drupal\user\Entity\User; use Drupal\user\RoleInterface; -use Symfony\Component\HttpFoundation\ParameterBag; -use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; @@ -195,7 +193,7 @@ protected function setUp(): void { $this->node = Node::create([ 'title' => 'dummy_title', 'type' => 'article', - 'uid' => 1, + 'uid' => $this->user, 'body' => [ 'format' => 'plain_text', 'value' => $this->randomStringValidate(42), @@ -259,7 +257,7 @@ public function tearDown(): void { * @covers ::normalize */ public function testNormalize() { - [$request, $resource_type] = $this->generateProphecies('node', 'article'); + $resource_type = $this->container->get('jsonapi.resource_type.repository')->get('node', 'article'); $resource_object = ResourceObject::createFromEntity($resource_type, $this->node); $includes = $this->includeResolver->resolve($resource_object, 'uid,field_tags,field_image'); @@ -356,61 +354,16 @@ public function testNormalize() { ); } - /** - * @covers ::normalize - */ - public function testNormalizeRelated() { - $this->markTestIncomplete('This fails and should be fixed by https://www.drupal.org/project/drupal/issues/3213752'); - - [$request, $resource_type] = $this->generateProphecies('node', 'article'); - $request->query = new ParameterBag([ - 'fields' => [ - 'user--user' => 'name,roles', - ], - 'include' => 'roles', - ]); - $document_wrapper = $this->prophesize(JsonApiDocumentTopLevel::class); - $author = $this->node->get('uid')->entity; - $document_wrapper->getData()->willReturn($author); - - $jsonapi_doc_object = $this - ->getNormalizer() - ->normalize( - $document_wrapper->reveal(), - 'api_json', - [ - 'resource_type' => $resource_type, - 'account' => NULL, - ] - ); - $normalized = $jsonapi_doc_object->getNormalization(); - $this->assertSame($normalized['data']['attributes']['name'], 'user1'); - $this->assertEquals($normalized['data']['id'], User::load(1)->uuid()); - $this->assertEquals('user--user', $normalized['data']['type']); - // Make sure that the cache tags for the includes and the requested entities - // are bubbling as expected. - $this->assertSame(['user:1'], $jsonapi_doc_object->getCacheTags()); - $this->assertSame(Cache::PERMANENT, $jsonapi_doc_object->getCacheMaxAge()); - } - /** * @covers ::normalize */ public function testNormalizeUuid() { - [$request, $resource_type] = $this->generateProphecies('node', 'article'); + $resource_type = $this->container->get('jsonapi.resource_type.repository')->get('node', 'article'); $resource_object = ResourceObject::createFromEntity($resource_type, $this->node); $include_param = 'uid,field_tags'; $includes = $this->includeResolver->resolve($resource_object, $include_param); $document_wrapper = new JsonApiDocumentTopLevel(new ResourceObjectData([$resource_object], 1), $includes, new LinkCollection([])); - $request->query = new ParameterBag([ - 'fields' => [ - 'node--article' => 'title,node_type,uid,field_tags', - 'user--user' => 'name', - ], - 'include' => $include_param, - ]); - $jsonapi_doc_object = $this ->getNormalizer() ->normalize( @@ -467,8 +420,7 @@ public function testNormalizeException() { } /** - * Test the message and exceptions thrown when we are requesting additional - * field values for Label only resource. + * Tests the message and exceptions when requesting a Label only resource. */ public function testAliasFieldRouteException() { $this->assertSame('uid', $this->resourceTypeRepository->getByTypeName('node--article')->getPublicName('uid')); @@ -487,11 +439,12 @@ public function testAliasFieldRouteException() { $this->assertSame('user_roles', $this->resourceTypeRepository->getByTypeName('user--user')->getPublicName('roles')); // Create the request to fetch the articles and fetch included user. - [$request, $resource_type] = $this->generateProphecies('node', 'article'); + $resource_type = $this->container->get('jsonapi.resource_type.repository')->get('node', 'article'); $user = User::load($this->node->getOwnerId()); $resource_object = ResourceObject::createFromEntity($resource_type, $this->node); - [$request, $user_resource_type] = $this->generateProphecies('user', 'user'); + $user_resource_type = $this->container->get('jsonapi.resource_type.repository')->get('user', 'user'); + $resource_object_user = LabelOnlyResourceObject::createFromEntity($user_resource_type, $user); $includes = $this->includeResolver->resolve($resource_object_user, 'user_roles'); @@ -534,7 +487,7 @@ public function testAliasFieldRouteException() { * @covers ::normalize */ public function testNormalizeConfig() { - [$request, $resource_type] = $this->generateProphecies('node_type', 'node_type'); + $resource_type = $this->container->get('jsonapi.resource_type.repository')->get('node_type', 'node_type'); $resource_object = ResourceObject::createFromEntity($resource_type, $this->nodeType); $document_wrapper = new JsonApiDocumentTopLevel(new ResourceObjectData([$resource_object], 1), new NullIncludedData(), new LinkCollection([])); @@ -567,7 +520,7 @@ public function testNormalizeConfig() { public function testDenormalize() { $payload = '{"data":{"type":"article","attributes":{"title":"Testing article"}}}'; - [$request, $resource_type] = $this->generateProphecies('node', 'article'); + $resource_type = $this->container->get('jsonapi.resource_type.repository')->get('node', 'article'); $node = $this ->getNormalizer() ->denormalize(Json::decode($payload), NULL, 'api_json', [ @@ -636,8 +589,7 @@ public function testDenormalizeUuid() { [$payload_data, $expected] = $this->denormalizeUuidProviderBuilder($configuration); $payload = Json::encode($payload_data); - [$request, $resource_type] = $this->generateProphecies('node', 'article'); - $this->container->get('request_stack')->push($request); + $resource_type = $this->container->get('jsonapi.resource_type.repository')->get('node', 'article'); try { $node = $this ->getNormalizer() @@ -706,8 +658,7 @@ public function testDenormalizeInvalidTypeAndNoType() { // Test relationship member with invalid type. $payload = Json::encode($payload_data); - [$request, $resource_type] = $this->generateProphecies('node', 'article'); - $this->container->get('request_stack')->push($request); + $resource_type = $this->container->get('jsonapi.resource_type.repository')->get('node', 'article'); try { $this ->getNormalizer() @@ -725,8 +676,7 @@ public function testDenormalizeInvalidTypeAndNoType() { unset($payload_data['data']['relationships']['field_tags']['data'][0]['type']); $payload = Json::encode($payload_data); - [$request, $resource_type] = $this->generateProphecies('node', 'article'); - $this->container->get('request_stack')->push($request); + $resource_type = $this->container->get('jsonapi.resource_type.repository')->get('node', 'article'); try { $this->container->get('jsonapi_test_normalizers_kernel.jsonapi_document_toplevel') ->denormalize(Json::decode($payload), NULL, 'api_json', [ @@ -800,15 +750,11 @@ protected function denormalizeUuidProviderBuilder(array $options) { * * @param \Drupal\Core\Cache\CacheableMetadata $expected_metadata * The expected cacheable metadata. - * @param array|null $fields - * Fields to include in the response, keyed by resource type. - * @param array|null $includes - * Resources paths to include in the response. * * @dataProvider testCacheableMetadataProvider */ - public function testCacheableMetadata(CacheableMetadata $expected_metadata, $fields = NULL, $includes = NULL) { - [$request, $resource_type] = $this->generateProphecies('node', 'article'); + public function testCacheableMetadata(CacheableMetadata $expected_metadata) { + $resource_type = $this->container->get('jsonapi.resource_type.repository')->get('node', 'article'); $resource_object = ResourceObject::createFromEntity($resource_type, $this->node); $context = [ 'resource_type' => $resource_type, @@ -840,17 +786,6 @@ public function testCacheableMetadataProvider() { ]; } - /** - * Decorates a request with sparse fieldsets and includes. - */ - protected function decorateRequest(Request $request, array $fields = NULL, array $includes = NULL) { - $parameters = new ParameterBag(); - $parameters->add($fields ? ['fields' => $fields] : []); - $parameters->add($includes ? ['include' => $includes] : []); - $request->query = $parameters; - return $request; - } - /** * Helper to load the normalizer. */ @@ -862,23 +797,4 @@ protected function getNormalizer() { return $normalizer_service; } - /** - * Generates the prophecies for the mocked entity request. - * - * @param string $entity_type_id - * The ID of the entity type. Ex: node. - * @param string $bundle - * The bundle. Ex: article. - * - * @return array - * A numeric array containing the request and the ResourceType. - * - * @throws \Exception - */ - protected function generateProphecies($entity_type_id, $bundle) { - $resource_type = $this->container->get('jsonapi.resource_type.repository')->get($entity_type_id, $bundle); - - return [new Request(), $resource_type]; - } - } diff --git a/web/core/modules/jsonapi/tests/src/Kernel/Normalizer/LinkCollectionNormalizerTest.php b/web/core/modules/jsonapi/tests/src/Kernel/Normalizer/LinkCollectionNormalizerTest.php index 4282b6294..9a8d96d31 100644 --- a/web/core/modules/jsonapi/tests/src/Kernel/Normalizer/LinkCollectionNormalizerTest.php +++ b/web/core/modules/jsonapi/tests/src/Kernel/Normalizer/LinkCollectionNormalizerTest.php @@ -46,7 +46,7 @@ class LinkCollectionNormalizerTest extends KernelTestBase { protected $testUsers; /** - * {@inheritDoc} + * {@inheritdoc} */ protected static $modules = [ 'jsonapi', @@ -56,7 +56,7 @@ class LinkCollectionNormalizerTest extends KernelTestBase { ]; /** - * {@inheritDoc} + * {@inheritdoc} */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/jsonapi/tests/src/Kernel/ResourceType/ResourceTypeRepositoryTest.php b/web/core/modules/jsonapi/tests/src/Kernel/ResourceType/ResourceTypeRepositoryTest.php index 550396719..40f439194 100644 --- a/web/core/modules/jsonapi/tests/src/Kernel/ResourceType/ResourceTypeRepositoryTest.php +++ b/web/core/modules/jsonapi/tests/src/Kernel/ResourceType/ResourceTypeRepositoryTest.php @@ -114,8 +114,7 @@ public function testCaching() { } /** - * Ensures that a naming conflict in the mapping causes an exception to be - * thrown. + * Ensures that a naming conflict in mapping causes an exception to be thrown. * * @covers ::getFields * @dataProvider getFieldsProvider diff --git a/web/core/modules/jsonapi/tests/src/Unit/Normalizer/HttpExceptionNormalizerTest.php b/web/core/modules/jsonapi/tests/src/Unit/Normalizer/HttpExceptionNormalizerTest.php index 928fdf851..5c061fe51 100644 --- a/web/core/modules/jsonapi/tests/src/Unit/Normalizer/HttpExceptionNormalizerTest.php +++ b/web/core/modules/jsonapi/tests/src/Unit/Normalizer/HttpExceptionNormalizerTest.php @@ -2,6 +2,8 @@ namespace Drupal\Tests\jsonapi\Unit\Normalizer; +use Drupal\Core\Config\ConfigFactory; +use Drupal\Core\Config\ImmutableConfig; use Drupal\Core\Session\AccountInterface; use Drupal\jsonapi\Normalizer\HttpExceptionNormalizer; use Drupal\Tests\UnitTestCase; @@ -26,6 +28,11 @@ public function testNormalize() { $request_stack->getCurrentRequest()->willReturn(Request::create('http://localhost/')); $container = $this->prophesize(ContainerInterface::class); $container->get('request_stack')->willReturn($request_stack->reveal()); + $config = $this->prophesize(ImmutableConfig::class); + $config->get('error_level')->willReturn(ERROR_REPORTING_DISPLAY_VERBOSE); + $config_factory = $this->prophesize(ConfigFactory::class); + $config_factory->get('system.logging')->willReturn($config->reveal()); + $container->get('config.factory')->willReturn($config_factory->reveal()); \Drupal::setContainer($container->reveal()); $exception = new AccessDeniedHttpException('lorem', NULL, 13); $current_user = $this->prophesize(AccountInterface::class); diff --git a/web/core/modules/language/language.admin.js b/web/core/modules/language/language.admin.js index 4ae06b194..c5886e7a0 100644 --- a/web/core/modules/language/language.admin.js +++ b/web/core/modules/language/language.admin.js @@ -4,18 +4,15 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal) { Drupal.behaviors.negotiationLanguage = { attach: function attach() { var $configForm = $('#language-negotiation-configure-form'); var inputSelector = 'input[name$="[configurable]"]'; - function toggleTable(checkbox) { var $checkbox = $(checkbox); $checkbox.closest('.table-language-group').find('table, .tabledrag-toggle-weight').toggle($checkbox.prop('checked')); } - $(once('negotiation-language-admin-bind', $configForm)).on('change', inputSelector, function (event) { toggleTable(event.target); }); diff --git a/web/core/modules/language/migrations/d6_language_content_settings.yml b/web/core/modules/language/migrations/d6_language_content_settings.yml index 9d307d13e..ce8732b6a 100644 --- a/web/core/modules/language/migrations/d6_language_content_settings.yml +++ b/web/core/modules/language/migrations/d6_language_content_settings.yml @@ -8,8 +8,8 @@ source: constants: target_type: 'node' process: -# Ignore i18n_node_options_[node_type] options not available in Drupal 8, -# i18n_required_node and i18n_newnode_current + # Ignore i18n_node_options_[node_type] options not available in Drupal 8, + # i18n_required_node and i18n_newnode_current target_bundle: type target_entity_type_id: 'constants/target_type' default_langcode: diff --git a/web/core/modules/language/migrations/d7_language_content_settings.yml b/web/core/modules/language/migrations/d7_language_content_settings.yml index dcc91b59e..3a8b2ba8e 100644 --- a/web/core/modules/language/migrations/d7_language_content_settings.yml +++ b/web/core/modules/language/migrations/d7_language_content_settings.yml @@ -8,8 +8,8 @@ source: constants: target_type: 'node' process: -# Ignore i18n_node_options_[node_type] options not available in Drupal 8, -# i18n_required_node and i18n_newnode_current + # Ignore i18n_node_options_[node_type] options not available in Drupal 8, + # i18n_required_node and i18n_newnode_current target_bundle: type target_entity_type_id: 'constants/target_type' default_langcode: diff --git a/web/core/modules/language/src/ConfigurableLanguageManager.php b/web/core/modules/language/src/ConfigurableLanguageManager.php index b72f9b370..c4187aaf6 100644 --- a/web/core/modules/language/src/ConfigurableLanguageManager.php +++ b/web/core/modules/language/src/ConfigurableLanguageManager.php @@ -410,25 +410,27 @@ public function getLanguageSwitchLinks($type, Url $url) { if ($reflector->implementsInterface('\Drupal\language\LanguageSwitcherInterface')) { $original_languages = $this->negotiatedLanguages; $result = $this->negotiator->getNegotiationMethodInstance($method_id)->getLanguageSwitchLinks($this->requestStack->getCurrentRequest(), $type, $url); - $result = array_filter($result, function (array $link): bool { - $url = $link['url'] ?? NULL; - $language = $link['language'] ?? NULL; - if ($language instanceof LanguageInterface) { - $this->negotiatedLanguages[LanguageInterface::TYPE_CONTENT] = $language; - $this->negotiatedLanguages[LanguageInterface::TYPE_INTERFACE] = $language; - } - try { - return $url instanceof Url && $url->access(); - } - catch (\Exception $e) { - return FALSE; - } - }); - $this->negotiatedLanguages = $original_languages; if (!empty($result)) { // Allow modules to provide translations for specific links. $this->moduleHandler->alter('language_switch_links', $result, $type, $url); + + $result = array_filter($result, function (array $link): bool { + $url = $link['url'] ?? NULL; + $language = $link['language'] ?? NULL; + if ($language instanceof LanguageInterface) { + $this->negotiatedLanguages[LanguageInterface::TYPE_CONTENT] = $language; + $this->negotiatedLanguages[LanguageInterface::TYPE_INTERFACE] = $language; + } + try { + return $url instanceof Url && $url->access(); + } + catch (\Exception $e) { + return FALSE; + } + }); + $this->negotiatedLanguages = $original_languages; + $links = (object) ['links' => $result, 'method_id' => $method_id]; break; } diff --git a/web/core/modules/language/src/Entity/ConfigurableLanguage.php b/web/core/modules/language/src/Entity/ConfigurableLanguage.php index 5dbdeda0e..c8f246bf9 100644 --- a/web/core/modules/language/src/Entity/ConfigurableLanguage.php +++ b/web/core/modules/language/src/Entity/ConfigurableLanguage.php @@ -166,7 +166,7 @@ public function postSave(EntityStorageInterface $storage, $update = TRUE) { /** * {@inheritdoc} * - * @throws \DeleteDefaultLanguageException + * @throws \Drupal\language\Exception\DeleteDefaultLanguageException * Exception thrown if we're trying to delete the default language entity. * This is not allowed as a site must have a default language. */ diff --git a/web/core/modules/language/src/Form/NegotiationConfigureForm.php b/web/core/modules/language/src/Form/NegotiationConfigureForm.php index 6af8c1458..2b808d54d 100644 --- a/web/core/modules/language/src/Form/NegotiationConfigureForm.php +++ b/web/core/modules/language/src/Form/NegotiationConfigureForm.php @@ -308,8 +308,8 @@ protected function configureFormTable(array &$form, $type) { $table_form['#show_operations'] = TRUE; } $table_form['operation'][$method_id] = [ - '#type' => 'operations', - '#links' => $config_op, + '#type' => 'operations', + '#links' => $config_op, ]; } } diff --git a/web/core/modules/language/src/HttpKernel/PathProcessorLanguage.php b/web/core/modules/language/src/HttpKernel/PathProcessorLanguage.php index 512f22bde..a5d5ecbb8 100644 --- a/web/core/modules/language/src/HttpKernel/PathProcessorLanguage.php +++ b/web/core/modules/language/src/HttpKernel/PathProcessorLanguage.php @@ -26,7 +26,7 @@ class PathProcessorLanguage implements InboundPathProcessorInterface, OutboundPa protected $config; /** - * Language manager for retrieving the url language type. + * Language manager for retrieving the URL language type. * * @var \Drupal\language\ConfigurableLanguageManagerInterface */ diff --git a/web/core/modules/language/src/LanguageListBuilder.php b/web/core/modules/language/src/LanguageListBuilder.php index f73673866..290e699c2 100644 --- a/web/core/modules/language/src/LanguageListBuilder.php +++ b/web/core/modules/language/src/LanguageListBuilder.php @@ -103,9 +103,9 @@ public function getFormId() { */ public function buildHeader() { $header = [ - 'label' => t('Name'), - 'default' => t('Default'), - ] + parent::buildHeader(); + 'label' => t('Name'), + 'default' => t('Default'), + ] + parent::buildHeader(); return $header; } diff --git a/web/core/modules/language/src/LanguageNegotiationMethodInterface.php b/web/core/modules/language/src/LanguageNegotiationMethodInterface.php index 0488516f2..2c1cf3ac8 100644 --- a/web/core/modules/language/src/LanguageNegotiationMethodInterface.php +++ b/web/core/modules/language/src/LanguageNegotiationMethodInterface.php @@ -44,8 +44,15 @@ public function setCurrentUser(AccountInterface $current_user); * (optional) The current request. Defaults to NULL if it has not been * initialized yet. * - * @return string - * A valid language code or FALSE if the negotiation was unsuccessful. + * @return string|null|false + * A valid language code if the negotiation was successful and either NULL + * or FALSE otherwise. + * + * @todo Determine whether string|false or string|null should be the + * normalized result across all implementations and update the @return and + * its comment accordingly. + * + * @see https://www.drupal.org/node/3329952 */ public function getLangcode(Request $request = NULL); diff --git a/web/core/modules/language/src/LanguageNegotiationMethodManager.php b/web/core/modules/language/src/LanguageNegotiationMethodManager.php index 53b59ed72..8b8fb5bef 100644 --- a/web/core/modules/language/src/LanguageNegotiationMethodManager.php +++ b/web/core/modules/language/src/LanguageNegotiationMethodManager.php @@ -11,6 +11,11 @@ */ class LanguageNegotiationMethodManager extends DefaultPluginManager { + /** + * The cache key prefix. + */ + protected $cacheKeyPrefix; + /** * Constructs a new LanguageNegotiationMethodManager object. * diff --git a/web/core/modules/language/src/LanguageNegotiator.php b/web/core/modules/language/src/LanguageNegotiator.php index c4e083ab1..72bf83cea 100644 --- a/web/core/modules/language/src/LanguageNegotiator.php +++ b/web/core/modules/language/src/LanguageNegotiator.php @@ -2,8 +2,10 @@ namespace Drupal\language; +use Drupal\Component\Plugin\Exception\PluginNotFoundException; use Drupal\Component\Plugin\PluginManagerInterface; use Drupal\Core\Config\ConfigFactoryInterface; +use Drupal\Core\Logger\LoggerChannelTrait; use Drupal\Core\Session\AccountInterface; use Drupal\Core\Site\Settings; use Drupal\language\Plugin\LanguageNegotiation\LanguageNegotiationUI; @@ -13,6 +15,7 @@ * Class responsible for performing language negotiation. */ class LanguageNegotiator implements LanguageNegotiatorInterface { + use LoggerChannelTrait; /** * The language negotiation method plugin manager. @@ -76,7 +79,7 @@ class LanguageNegotiator implements LanguageNegotiatorInterface { * @param \Drupal\language\ConfigurableLanguageManagerInterface $language_manager * The language manager. * @param \Drupal\Component\Plugin\PluginManagerInterface $negotiator_manager - * The language negotiation methods plugin manager + * The language negotiation methods plugin manager. * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory * The configuration factory. * @param \Drupal\Core\Site\Settings $settings @@ -130,7 +133,13 @@ public function initializeType($type) { // and return the first valid language found. foreach ($this->getEnabledNegotiators($type) as $method_id => $info) { if (!isset($this->negotiatedLanguages[$method_id])) { - $this->negotiatedLanguages[$method_id] = $this->negotiateLanguage($type, $method_id); + try { + $this->negotiatedLanguages[$method_id] = $this->negotiateLanguage($type, $method_id); + } + catch (PluginNotFoundException $e) { + // If a plugin is not found, log the error so user can handle it. + $this->getLogger('language')->error($e->getMessage()); + } } // Since objects are references, we need to return a clone to prevent diff --git a/web/core/modules/language/src/LanguageNegotiatorInterface.php b/web/core/modules/language/src/LanguageNegotiatorInterface.php index 5c999c7f8..2702c8767 100644 --- a/web/core/modules/language/src/LanguageNegotiatorInterface.php +++ b/web/core/modules/language/src/LanguageNegotiatorInterface.php @@ -76,11 +76,11 @@ * } * * class MyLanguageNegotiationUrl extends LanguageNegotiationUrl { - * public function getCurrentLanguage(Request $request = NULL) { + * public function getLangcode(Request $request = NULL) { * if ($request) { * // Use the original URL language negotiation method to get a valid * // language code. - * $langcode = parent::getCurrentLanguage($request); + * $langcode = parent::getLangcode($request); * * // If we are on an administrative path, override with the default * language. diff --git a/web/core/modules/language/src/Plugin/Block/LanguageBlock.php b/web/core/modules/language/src/Plugin/Block/LanguageBlock.php index 583075834..bc64f05b1 100644 --- a/web/core/modules/language/src/Plugin/Block/LanguageBlock.php +++ b/web/core/modules/language/src/Plugin/Block/LanguageBlock.php @@ -84,7 +84,11 @@ protected function blockAccess(AccountInterface $account) { public function build() { $build = []; $type = $this->getDerivativeId(); - $links = $this->languageManager->getLanguageSwitchLinks($type, Url::fromRouteMatch(\Drupal::routeMatch())); + $route_match = \Drupal::routeMatch(); + // If there is no route match, for example when creating blocks on 404 pages + // for logged-in users with big_pipe enabled using the front page instead. + $url = $route_match->getRouteObject() ? Url::fromRouteMatch($route_match) : Url::fromRoute(''); + $links = $this->languageManager->getLanguageSwitchLinks($type, $url); if (isset($links->links)) { $build = [ diff --git a/web/core/modules/language/src/Plugin/Condition/Language.php b/web/core/modules/language/src/Plugin/Condition/Language.php index f727dc770..62008496e 100644 --- a/web/core/modules/language/src/Plugin/Condition/Language.php +++ b/web/core/modules/language/src/Plugin/Condition/Language.php @@ -122,9 +122,9 @@ public function summary() { $languages = array_pop($language_names); } if (!empty($this->configuration['negate'])) { - return t('The language is not @languages.', ['@languages' => $languages]); + return $this->t('The language is not @languages.', ['@languages' => $languages]); } - return t('The language is @languages.', ['@languages' => $languages]); + return $this->t('The language is @languages.', ['@languages' => $languages]); } /** diff --git a/web/core/modules/language/src/Plugin/Derivative/LanguageBlock.php b/web/core/modules/language/src/Plugin/Derivative/LanguageBlock.php index 93cc5b1c9..54f0c1745 100644 --- a/web/core/modules/language/src/Plugin/Derivative/LanguageBlock.php +++ b/web/core/modules/language/src/Plugin/Derivative/LanguageBlock.php @@ -3,6 +3,7 @@ namespace Drupal\language\Plugin\Derivative; use Drupal\Component\Plugin\Derivative\DeriverBase; +use Drupal\Core\StringTranslation\StringTranslationTrait; use Drupal\language\ConfigurableLanguageManagerInterface; /** @@ -10,6 +11,8 @@ */ class LanguageBlock extends DeriverBase { + use StringTranslationTrait; + /** * {@inheritdoc} */ @@ -21,12 +24,12 @@ public function getDerivativeDefinitions($base_plugin_definition) { $configurable_types = $language_manager->getLanguageTypes(); foreach ($configurable_types as $type) { $this->derivatives[$type] = $base_plugin_definition; - $this->derivatives[$type]['admin_label'] = t('Language switcher (@type)', ['@type' => $info[$type]['name']]); + $this->derivatives[$type]['admin_label'] = $this->t('Language switcher (@type)', ['@type' => $info[$type]['name']]); } // If there is just one configurable type then change the title of the // block. if (count($configurable_types) == 1) { - $this->derivatives[reset($configurable_types)]['admin_label'] = t('Language switcher'); + $this->derivatives[reset($configurable_types)]['admin_label'] = $this->t('Language switcher'); } } diff --git a/web/core/modules/language/src/Plugin/LanguageNegotiation/LanguageNegotiationContentEntity.php b/web/core/modules/language/src/Plugin/LanguageNegotiation/LanguageNegotiationContentEntity.php index d06497687..2c5157d20 100644 --- a/web/core/modules/language/src/Plugin/LanguageNegotiation/LanguageNegotiationContentEntity.php +++ b/web/core/modules/language/src/Plugin/LanguageNegotiation/LanguageNegotiationContentEntity.php @@ -100,9 +100,9 @@ public function getLangcode(Request $request = NULL) { * {@inheritdoc} */ public function processOutbound($path, &$options = [], Request $request = NULL, BubbleableMetadata $bubbleable_metadata = NULL) { - // If appropriate, process outbound to add a query parameter to the url and - // remove the language option, so that url negotiator does not rewrite the - // url. + // If appropriate, process outbound to add a query parameter to the URL and + // remove the language option, so that URL negotiator does not rewrite the + // URL. // First, check if processing conditions are met. if (!($request && !empty($options['route']) && $this->hasLowerLanguageNegotiationWeight() && $this->meetsContentEntityRoutesCondition($options['route'], $request))) { @@ -110,8 +110,8 @@ public function processOutbound($path, &$options = [], Request $request = NULL, } if (isset($options['language']) || $langcode = $this->getLangcode($request)) { - // If the language option is set, unset it, so that the url language - // negotiator does not rewrite the url. + // If the language option is set, unset it, so that the URL language + // negotiator does not rewrite the URL. if (isset($options['language'])) { $langcode = $options['language']->getId(); unset($options['language']); @@ -158,13 +158,13 @@ public function getLanguageSwitchLinks(Request $request, $type, Url $url) { /** * Determines if content entity language negotiator has higher priority. * - * The content entity language negotiator having higher priority than the url + * The content entity language negotiator having higher priority than the URL * language negotiator, is a criteria in * \Drupal\language\Plugin\LanguageNegotiation\LanguageNegotiationContentEntity::processOutbound(). * * @return bool * TRUE if the content entity language negotiator has higher priority than - * the url language negotiator, FALSE otherwise. + * the URL language negotiator, FALSE otherwise. */ protected function hasLowerLanguageNegotiationWeight() { if (!isset($this->hasLowerLanguageNegotiationWeightResult)) { @@ -173,7 +173,7 @@ protected function hasLowerLanguageNegotiationWeight() { $content_method_weights = $this->config->get('language.types')->get('negotiation.language_content.enabled') ?: []; // Check if the content language is configured to be dependent on the - // url negotiator directly or indirectly over the interface negotiator. + // URL negotiator directly or indirectly over the interface negotiator. if (isset($content_method_weights[LanguageNegotiationUrl::METHOD_ID]) && ($content_method_weights[static::METHOD_ID] > $content_method_weights[LanguageNegotiationUrl::METHOD_ID])) { $this->hasLowerLanguageNegotiationWeightResult = FALSE; } @@ -202,7 +202,7 @@ protected function hasLowerLanguageNegotiationWeight() { * Determines if content entity route condition is met. * * Requirements: currently being on a content entity route and processing - * outbound url pointing to the same content entity. + * outbound URL pointing to the same content entity. * * @param \Symfony\Component\Routing\Route $outbound_route * The route object for the current outbound url being processed. diff --git a/web/core/modules/language/tests/language_test/language_test.module b/web/core/modules/language/tests/language_test/language_test.module index 2e7cc4914..f05c1bc30 100644 --- a/web/core/modules/language/tests/language_test/language_test.module +++ b/web/core/modules/language/tests/language_test/language_test.module @@ -105,5 +105,6 @@ function language_test_module_preinstall() { * Implements hook_language_switch_links_alter(). */ function language_test_language_switch_links_alter(array &$links, $type, Url $url) { - // I'll just sit here and wait to be called with the right arguments. + // Record which languages had links passed in. + \Drupal::state()->set('language_test.language_switch_link_ids', array_keys($links)); } diff --git a/web/core/modules/language/tests/src/Functional/AdminPathEntityConverterLanguageTest.php b/web/core/modules/language/tests/src/Functional/AdminPathEntityConverterLanguageTest.php index 1f12ffa42..a4917e5ca 100644 --- a/web/core/modules/language/tests/src/Functional/AdminPathEntityConverterLanguageTest.php +++ b/web/core/modules/language/tests/src/Functional/AdminPathEntityConverterLanguageTest.php @@ -19,6 +19,9 @@ class AdminPathEntityConverterLanguageTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); $permissions = [ diff --git a/web/core/modules/language/tests/src/Functional/LanguageBrowserDetectionTest.php b/web/core/modules/language/tests/src/Functional/LanguageBrowserDetectionTest.php index 1d11edbef..e2f173d01 100644 --- a/web/core/modules/language/tests/src/Functional/LanguageBrowserDetectionTest.php +++ b/web/core/modules/language/tests/src/Functional/LanguageBrowserDetectionTest.php @@ -20,8 +20,7 @@ class LanguageBrowserDetectionTest extends BrowserTestBase { protected $defaultTheme = 'stark'; /** - * Tests for adding, editing and deleting mappings between browser language - * codes and Drupal language codes. + * Tests mappings between browser language codes and Drupal language codes. */ public function testUIBrowserLanguageMappings() { // User to manage languages. diff --git a/web/core/modules/language/tests/src/Functional/LanguageConfigurationElementTest.php b/web/core/modules/language/tests/src/Functional/LanguageConfigurationElementTest.php index 3d8c07383..dc54efbc4 100644 --- a/web/core/modules/language/tests/src/Functional/LanguageConfigurationElementTest.php +++ b/web/core/modules/language/tests/src/Functional/LanguageConfigurationElementTest.php @@ -33,6 +33,9 @@ class LanguageConfigurationElementTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); $user = $this->drupalCreateUser([ diff --git a/web/core/modules/language/tests/src/Functional/LanguageConfigurationTest.php b/web/core/modules/language/tests/src/Functional/LanguageConfigurationTest.php index 39ff21219..8ea06a2eb 100644 --- a/web/core/modules/language/tests/src/Functional/LanguageConfigurationTest.php +++ b/web/core/modules/language/tests/src/Functional/LanguageConfigurationTest.php @@ -165,7 +165,7 @@ public function testLanguageConfigurationWeight() { $admin_user = $this->drupalCreateUser([ 'administer languages', 'access administration pages', - ]); + ]); $this->drupalLogin($admin_user); $this->checkConfigurableLanguageWeight(); diff --git a/web/core/modules/language/tests/src/Functional/LanguageListModuleInstallTest.php b/web/core/modules/language/tests/src/Functional/LanguageListModuleInstallTest.php index 9a7e9ddab..2b3fcf49e 100644 --- a/web/core/modules/language/tests/src/Functional/LanguageListModuleInstallTest.php +++ b/web/core/modules/language/tests/src/Functional/LanguageListModuleInstallTest.php @@ -5,8 +5,7 @@ use Drupal\Tests\BrowserTestBase; /** - * Tests enabling Language if a module exists that calls - * LanguageManager::getLanguages() during installation. + * Tests that the language list is not empty when language is installed. * * @group language */ diff --git a/web/core/modules/language/tests/src/Functional/LanguageNegotiationSessionTest.php b/web/core/modules/language/tests/src/Functional/LanguageNegotiationSessionTest.php index ca3626a67..83906d2ee 100644 --- a/web/core/modules/language/tests/src/Functional/LanguageNegotiationSessionTest.php +++ b/web/core/modules/language/tests/src/Functional/LanguageNegotiationSessionTest.php @@ -2,12 +2,7 @@ namespace Drupal\Tests\language\Functional; -use Drupal\Core\Language\LanguageInterface; use Drupal\language\Entity\ConfigurableLanguage; -use Drupal\language\Plugin\LanguageNegotiation\LanguageNegotiationBrowser; -use Drupal\language\Plugin\LanguageNegotiation\LanguageNegotiationSelected; -use Drupal\language\Plugin\LanguageNegotiation\LanguageNegotiationSession; -use Drupal\language\Plugin\LanguageNegotiation\LanguageNegotiationUrl; use Drupal\Tests\BrowserTestBase; /** @@ -51,24 +46,15 @@ protected function setUp(): void { * Tests language negotiation via query/session parameters. */ public function testSessionLanguageNegotiationMethod() { - $this->drupalGet('admin/config/regional/language/detection'); - // Enable Session and Selected language for interface language detection. - $config = $this->config('language.types'); - $config->set('configurable', [LanguageInterface::TYPE_INTERFACE]); - $config->set('negotiation.language_interface.enabled', [ - LanguageNegotiationSession::METHOD_ID => -6, - LanguageNegotiationSelected::METHOD_ID => 12, - ]); - $config->set('negotiation.language_interface.method_weights', [ - 'language-user-admin' => -10, - LanguageNegotiationUrl::METHOD_ID => -8, - LanguageNegotiationSession::METHOD_ID => -6, - 'language-user' => -4, - LanguageNegotiationBrowser::METHOD_ID => -2, - LanguageNegotiationSelected::METHOD_ID => 12, - ]); - $config->save(); + $this->drupalGet('admin/config/regional/language/detection'); + $edit = [ + 'language_interface[enabled][language-session]' => 1, + 'language_interface[enabled][language-selected]' => 1, + 'language_interface[weight][language-session]' => -6, + 'language_interface[weight][language-selected]' => 12, + ]; + $this->submitForm($edit, 'Save settings'); // Set language via query parameter. $this->drupalGet('user/' . $this->adminUser->id(), ['query' => ['language' => 'fr']]); diff --git a/web/core/modules/language/tests/src/Functional/LanguagePathMonolingualTest.php b/web/core/modules/language/tests/src/Functional/LanguagePathMonolingualTest.php index fc8149881..a6e7bc6ee 100644 --- a/web/core/modules/language/tests/src/Functional/LanguagePathMonolingualTest.php +++ b/web/core/modules/language/tests/src/Functional/LanguagePathMonolingualTest.php @@ -23,6 +23,9 @@ class LanguagePathMonolingualTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/language/tests/src/Functional/LanguageSwitchingTest.php b/web/core/modules/language/tests/src/Functional/LanguageSwitchingTest.php index eb07dffe4..17d20995c 100644 --- a/web/core/modules/language/tests/src/Functional/LanguageSwitchingTest.php +++ b/web/core/modules/language/tests/src/Functional/LanguageSwitchingTest.php @@ -8,6 +8,8 @@ use Drupal\Core\Language\LanguageInterface; use Drupal\Tests\BrowserTestBase; +// cspell:ignore publi publié + /** * Functional tests for the language switching feature. * @@ -33,15 +35,12 @@ class LanguageSwitchingTest extends BrowserTestBase { * The theme to install as the default for testing. * * @var string - * - * @todo This test's focus on classes in ::doTestLanguageBlockAuthenticated() - * and ::testLanguageBodyClass() make Stark a bad fit as a base theme. - * Change the default theme to Starterkit once it is stable. - * - * @see https://www.drupal.org/project/drupal/issues/3275543 */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -50,6 +49,7 @@ protected function setUp(): void { 'administer blocks', 'administer languages', 'access administration pages', + 'access content', ]); $this->drupalLogin($admin_user); } @@ -82,6 +82,18 @@ public function testLanguageBlock() { $this->doTestLanguageBlockAuthenticated($block->label()); $this->doTestLanguageBlockAnonymous($block->label()); + $this->doTestLanguageBlock404($block->label(), 'system/404'); + + // Test 404s with big_pipe where the behaviour is different for logged-in + // users. + \Drupal::service('module_installer')->install(['big_pipe']); + $this->rebuildAll(); + $this->doTestLanguageBlock404($block->label(), 'system/404'); + $this->drupalLogin($this->drupalCreateUser()); + // @todo This is testing the current behaviour with the big_pipe module + // enabled. This behaviour is a bug will be fixed in + // https://www.drupal.org/project/drupal/issues/3349201. + $this->doTestLanguageBlock404($block->label(), ''); } /** @@ -104,23 +116,21 @@ protected function doTestLanguageBlockAuthenticated($block_label) { $anchors = []; $labels = []; foreach ($language_switchers as $list_item) { - $classes = explode(" ", $list_item->getAttribute('class')); - [$langcode] = array_intersect($classes, ['en', 'fr']); $list_items[] = [ - 'langcode_class' => $langcode, + 'hreflang' => $list_item->getAttribute('hreflang'), 'data-drupal-link-system-path' => $list_item->getAttribute('data-drupal-link-system-path'), ]; $link = $list_item->find('xpath', 'a'); $anchors[] = [ - 'hreflang' => $link->getAttribute('hreflang'), - 'data-drupal-link-system-path' => $link->getAttribute('data-drupal-link-system-path'), + 'hreflang' => $link->getAttribute('hreflang'), + 'data-drupal-link-system-path' => $link->getAttribute('data-drupal-link-system-path'), ]; $labels[] = $link->getText(); } $expected_list_items = [ - 0 => ['langcode_class' => 'en', 'data-drupal-link-system-path' => 'user/2'], - 1 => ['langcode_class' => 'fr', 'data-drupal-link-system-path' => 'user/2'], + 0 => ['hreflang' => 'en', 'data-drupal-link-system-path' => 'user/2'], + 1 => ['hreflang' => 'fr', 'data-drupal-link-system-path' => 'user/2'], ]; $this->assertSame($expected_list_items, $list_items, 'The list items have the correct attributes that will allow the drupal.active-link library to mark them as active.'); $expected_anchors = [ @@ -163,9 +173,8 @@ protected function doTestLanguageBlockAnonymous($block_label) { ]; $labels = []; foreach ($language_switchers as $list_item) { - $classes = explode(" ", $list_item->getAttribute('class')); - [$langcode] = array_intersect($classes, ['en', 'fr']); - if (in_array('is-active', $classes)) { + $langcode = $list_item->getAttribute('hreflang'); + if ($list_item->hasClass('is-active')) { $links['active'][] = $langcode; } else { @@ -187,6 +196,52 @@ protected function doTestLanguageBlockAnonymous($block_label) { $this->assertSame(['English', 'français'], $labels, 'The language links labels are in their own language on the language switcher block.'); } + /** + * Tests the language switcher block on 404 pages. + * + * @param string $block_label + * The label of the language switching block. + * @param string $system_path + * The expected system path for the links in the language switcher. + * + * @see self::testLanguageBlock() + */ + protected function doTestLanguageBlock404(string $block_label, string $system_path) { + $this->drupalGet('does-not-exist-' . $this->randomMachineName()); + $this->assertSession()->pageTextContains($block_label); + + // Assert that each list item and anchor element has the appropriate data- + // attributes. + $language_switchers = $this->xpath('//div[@id=:id]/ul/li', [':id' => 'block-test-language-block']); + $list_items = []; + $anchors = []; + $labels = []; + foreach ($language_switchers as $list_item) { + $list_items[] = [ + 'hreflang' => $list_item->getAttribute('hreflang'), + 'data-drupal-link-system-path' => $list_item->getAttribute('data-drupal-link-system-path'), + ]; + + $link = $list_item->find('xpath', 'a'); + $anchors[] = [ + 'hreflang' => $link->getAttribute('hreflang'), + 'data-drupal-link-system-path' => $link->getAttribute('data-drupal-link-system-path'), + ]; + $labels[] = $link->getText(); + } + $expected_list_items = [ + 0 => ['hreflang' => 'en', 'data-drupal-link-system-path' => $system_path], + 1 => ['hreflang' => 'fr', 'data-drupal-link-system-path' => $system_path], + ]; + $this->assertSame($expected_list_items, $list_items, 'The list items have the correct attributes that will allow the drupal.active-link library to mark them as active.'); + $expected_anchors = [ + 0 => ['hreflang' => 'en', 'data-drupal-link-system-path' => $system_path], + 1 => ['hreflang' => 'fr', 'data-drupal-link-system-path' => $system_path], + ]; + $this->assertSame($expected_anchors, $anchors, 'The anchors have the correct attributes that will allow the drupal.active-link library to mark them as active.'); + $this->assertSame(['English', 'français'], $labels, 'The language links labels are in their own language on the language switcher block.'); + } + /** * Tests language switcher links for domain based negotiation. */ @@ -445,6 +500,126 @@ public function testLanguageSessionSwitchLinks() { $this->assertSession()->addressEquals('user/2'); } + /** + * Test that the language switching block does not expose restricted paths. + */ + public function testRestrictedPaths(): void { + \Drupal::service('module_installer')->install(['node']); + $entity_type_manager = \Drupal::entityTypeManager(); + + // Add the French language. + ConfigurableLanguage::createFromLangcode('fr')->save(); + + // Enable URL language detection and selection. + $this->config('language.types') + ->set('negotiation.language_interface.enabled.language-url', 1) + ->save(); + + // Enable the language switching block. + $block = $this->drupalPlaceBlock('language_block:' . LanguageInterface::TYPE_INTERFACE); + + // Create a node type and make it translatable. + $entity_type_manager->getStorage('node_type') + ->create([ + 'type' => 'page', + 'name' => 'Page', + ]) + ->save(); + + // Create a published node with an unpublished translation. + $node = $entity_type_manager->getStorage('node') + ->create([ + 'type' => 'page', + 'title' => $this->randomMachineName(), + 'status' => 1, + ]); + $node->save(); + $node->addTranslation('fr', ['title' => 'Non publié', 'status' => 0]); + $node->save(); + + // Create path aliases. + $alias_storage = $entity_type_manager->getStorage('path_alias'); + $alias_storage->create([ + 'path' => '/user/1', + 'alias' => '/secret-identity/peter-parker', + ])->save(); + $alias_storage->create([ + 'path' => '/node/1', + 'langcode' => 'en', + 'alias' => '/press-release/published-report', + ])->save(); + $alias_storage->create([ + 'path' => '/node/1', + 'langcode' => 'fr', + 'alias' => '/press-release/rapport-non-publié', + ])->save(); + + // Visit a restricted user page. + // Assert that the language switching block is displayed on the + // access-denied page, but it does not contain the path alias. + $this->assertLinkMarkup('/user/1', 403, $block->label(), 'peter-parker'); + + // Visit the node and its translation. Use internal paths and aliases. The + // non-ASCII character may be escaped, so remove it from the search string. + $this->assertLinkMarkup('/node/1', 200, $block->label(), 'rapport-non-publi'); + $this->assertLinkMarkup('/press-release/published-report', 200, $block->label(), 'rapport-non-publi'); + $this->assertLinkMarkup('/fr/node/1', 403, $block->label(), 'rapport-non-publi'); + $this->assertLinkMarkup('/fr/press-release/rapport-non-publié', 403, $block->label(), 'rapport-non-publi'); + + // Test as a user with access to other users and unpublished content. + $privileged_user = $this->drupalCreateUser([ + 'access user profiles', + 'bypass node access', + ]); + $this->drupalLogin($privileged_user); + $this->assertLinkMarkup('/user/1', 200, $block->label(), 'peter-parker', TRUE); + $this->assertLinkMarkup('/node/1', 200, $block->label(), 'rapport-non-publi', TRUE); + $this->assertLinkMarkup('/press-release/published-report', 200, $block->label(), 'rapport-non-publi', TRUE); + $this->assertLinkMarkup('/fr/node/1', 200, $block->label(), 'rapport-non-publi', TRUE); + $this->assertLinkMarkup('/fr/press-release/rapport-non-publié', 200, $block->label(), 'rapport-non-publi', TRUE); + + // Test as an anonymous user. + $this->drupalLogout(); + $this->assertLinkMarkup('/user/1', 403, $block->label(), 'peter-parker'); + $this->assertLinkMarkup('/node/1', 200, $block->label(), 'rapport-non-publi'); + $this->assertLinkMarkup('/press-release/published-report', 200, $block->label(), 'rapport-non-publi'); + $this->assertLinkMarkup('/fr/node/1', 403, $block->label(), 'rapport-non-publi'); + $this->assertLinkMarkup('/fr/press-release/rapport-non-publié', 403, $block->label(), 'rapport-non-publi'); + } + + /** + * Asserts that restricted text is or is not present in the page response. + * + * @param string $path + * The path to test. + * @param int $status + * The HTTP status code, such as 200 or 403. + * @param string $marker + * Text that should always be present. + * @param string $restricted + * Text that should be tested. + * @param bool $found + * (optional) If TRUE, then the restricted text is present. Defaults to + * FALSE. + */ + protected function assertLinkMarkup(string $path, int $status, string $marker, string $restricted, bool $found = FALSE): void { + $this->drupalGet($path); + $this->assertSession()->statusCodeEquals($status); + $this->assertSession()->pageTextContains($marker); + if ($found) { + $this->assertSession()->responseContains($restricted); + } + else { + $this->assertSession()->responseNotContains($restricted); + } + + // Assert that all languages had a link passed to + // hook_language_switch_links_alter() to allow alternatives to be provided. + $languages = \Drupal::languageManager()->getNativeLanguages(); + $links_for_alter = \Drupal::state()->get('language_test.language_switch_link_ids'); + $this->assertSame(array_keys($languages), $links_for_alter); + } + /** * Saves the native name of a language entity in configuration as a label. * diff --git a/web/core/modules/language/tests/src/Functional/LanguageUILanguageNegotiationTest.php b/web/core/modules/language/tests/src/Functional/LanguageUILanguageNegotiationTest.php index 21c2997d0..900b0c9dc 100644 --- a/web/core/modules/language/tests/src/Functional/LanguageUILanguageNegotiationTest.php +++ b/web/core/modules/language/tests/src/Functional/LanguageUILanguageNegotiationTest.php @@ -71,6 +71,9 @@ class LanguageUILanguageNegotiationTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/language/tests/src/Functional/LanguageUrlRewritingTest.php b/web/core/modules/language/tests/src/Functional/LanguageUrlRewritingTest.php index 93827d3e1..463b0d9b3 100644 --- a/web/core/modules/language/tests/src/Functional/LanguageUrlRewritingTest.php +++ b/web/core/modules/language/tests/src/Functional/LanguageUrlRewritingTest.php @@ -35,6 +35,9 @@ class LanguageUrlRewritingTest extends BrowserTestBase { */ protected $webUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/language/tests/src/Kernel/Condition/LanguageConditionTest.php b/web/core/modules/language/tests/src/Kernel/Condition/LanguageConditionTest.php index 5ec0af289..2175a3a9e 100644 --- a/web/core/modules/language/tests/src/Kernel/Condition/LanguageConditionTest.php +++ b/web/core/modules/language/tests/src/Kernel/Condition/LanguageConditionTest.php @@ -6,8 +6,7 @@ use Drupal\KernelTests\KernelTestBase; /** - * Tests that the language condition, provided by the language module, is - * working properly. + * Tests the language condition plugin. * * @group language */ @@ -34,6 +33,9 @@ class LanguageConditionTest extends KernelTestBase { */ protected static $modules = ['system', 'language']; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/language/tests/src/Kernel/EntityUrlLanguageTest.php b/web/core/modules/language/tests/src/Kernel/EntityUrlLanguageTest.php index c7bfa77a1..85f88f0d4 100644 --- a/web/core/modules/language/tests/src/Kernel/EntityUrlLanguageTest.php +++ b/web/core/modules/language/tests/src/Kernel/EntityUrlLanguageTest.php @@ -31,6 +31,9 @@ class EntityUrlLanguageTest extends LanguageTestBase { */ protected $entity; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/language/tests/src/Kernel/LanguageDependencyInjectionTest.php b/web/core/modules/language/tests/src/Kernel/LanguageDependencyInjectionTest.php index dff6af4c2..954614d3a 100644 --- a/web/core/modules/language/tests/src/Kernel/LanguageDependencyInjectionTest.php +++ b/web/core/modules/language/tests/src/Kernel/LanguageDependencyInjectionTest.php @@ -6,8 +6,7 @@ use Drupal\language\Exception\DeleteDefaultLanguageException; /** - * Compares the default language from $GLOBALS against the dependency injected - * language object. + * Tests that a language object can be injected. * * @group language */ diff --git a/web/core/modules/language/tests/src/Kernel/Migrate/d6/MigrateLanguageContentSettingsTest.php b/web/core/modules/language/tests/src/Kernel/Migrate/d6/MigrateLanguageContentSettingsTest.php index 394e18e59..9a3d46335 100644 --- a/web/core/modules/language/tests/src/Kernel/Migrate/d6/MigrateLanguageContentSettingsTest.php +++ b/web/core/modules/language/tests/src/Kernel/Migrate/d6/MigrateLanguageContentSettingsTest.php @@ -6,7 +6,9 @@ use Drupal\Tests\migrate_drupal\Kernel\d6\MigrateDrupal6TestBase; /** - * Tests migration of language content setting variables, + * Tests the migration of language-related settings. + * + * Settings tested include language content setting variables, * language_content_type_$type, i18n_node_options_* and i18n_lock_node_*. * * @group migrate_drupal_6 diff --git a/web/core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageContentSettingsTest.php b/web/core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageContentSettingsTest.php index b86378c2d..ed65ee448 100644 --- a/web/core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageContentSettingsTest.php +++ b/web/core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageContentSettingsTest.php @@ -6,7 +6,9 @@ use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase; /** - * Tests migration of language content setting variables, + * Tests the migration of language-related settings. + * + * Settings tested include the language content setting variables, * language_content_type_$type, i18n_node_options_* and i18n_lock_node_*. * * @group migrate_drupal_7 diff --git a/web/core/modules/language/tests/src/Kernel/OverriddenConfigImportTest.php b/web/core/modules/language/tests/src/Kernel/OverriddenConfigImportTest.php index 604687295..db7b1cc60 100644 --- a/web/core/modules/language/tests/src/Kernel/OverriddenConfigImportTest.php +++ b/web/core/modules/language/tests/src/Kernel/OverriddenConfigImportTest.php @@ -49,7 +49,8 @@ protected function setUp(): void { $this->container->get('module_installer'), $this->container->get('theme_handler'), $this->container->get('string_translation'), - $this->container->get('extension.list.module') + $this->container->get('extension.list.module'), + $this->container->get('extension.list.theme') ); } diff --git a/web/core/modules/language/tests/src/Kernel/Views/LanguageTestBase.php b/web/core/modules/language/tests/src/Kernel/Views/LanguageTestBase.php index fc4cabf1b..e78e96262 100644 --- a/web/core/modules/language/tests/src/Kernel/Views/LanguageTestBase.php +++ b/web/core/modules/language/tests/src/Kernel/Views/LanguageTestBase.php @@ -17,6 +17,9 @@ abstract class LanguageTestBase extends ViewsKernelTestBase { */ protected static $modules = ['system', 'language']; + /** + * {@inheritdoc} + */ protected function setUp($import_test_views = TRUE) { parent::setUp(); $this->installConfig(['language']); diff --git a/web/core/modules/language/tests/src/Unit/ContentLanguageSettingsUnitTest.php b/web/core/modules/language/tests/src/Unit/ContentLanguageSettingsUnitTest.php index 31a2c1c48..636265bcf 100644 --- a/web/core/modules/language/tests/src/Unit/ContentLanguageSettingsUnitTest.php +++ b/web/core/modules/language/tests/src/Unit/ContentLanguageSettingsUnitTest.php @@ -88,12 +88,12 @@ public function testCalculateDependencies() { $target_entity_type = $this->createMock('\Drupal\Core\Entity\EntityTypeInterface'); $target_entity_type->expects($this->any()) ->method('getBundleConfigDependency') - ->will($this->returnValue(['type' => 'config', 'name' => 'test.test_entity_type.id'])); + ->willReturn(['type' => 'config', 'name' => 'test.test_entity_type.id']); $this->entityTypeManager->expects($this->any()) ->method('getDefinition') ->with('test_entity_type') - ->will($this->returnValue($target_entity_type)); + ->willReturn($target_entity_type); $config = new ContentLanguageSettings([ 'target_entity_type_id' => 'test_entity_type', @@ -250,17 +250,17 @@ public function testLoadByEntityTypeBundle($config_id, ContentLanguageSettings $ ->expects($this->any()) ->method('load') ->with($config_id) - ->will($this->returnValue($existing_config)); + ->willReturn($existing_config); $this->configEntityStorageInterface ->expects($this->any()) ->method('create') - ->will($this->returnValue($nullConfig)); + ->willReturn($nullConfig); $this->entityTypeManager ->expects($this->any()) ->method('getStorage') ->with('language_content_settings') - ->will($this->returnValue($this->configEntityStorageInterface)); + ->willReturn($this->configEntityStorageInterface); $entity_type_repository = $this->getMockForAbstractClass(EntityTypeRepositoryInterface::class); $entity_type_repository->expects($this->any()) diff --git a/web/core/modules/language/tests/src/Unit/LanguageNegotiationUrlTest.php b/web/core/modules/language/tests/src/Unit/LanguageNegotiationUrlTest.php index 63cabedd4..dac165922 100644 --- a/web/core/modules/language/tests/src/Unit/LanguageNegotiationUrlTest.php +++ b/web/core/modules/language/tests/src/Unit/LanguageNegotiationUrlTest.php @@ -29,11 +29,11 @@ protected function setUp(): void { $language_de = $this->createMock('\Drupal\Core\Language\LanguageInterface'); $language_de->expects($this->any()) ->method('getId') - ->will($this->returnValue('de')); + ->willReturn('de'); $language_en = $this->createMock('\Drupal\Core\Language\LanguageInterface'); $language_en->expects($this->any()) ->method('getId') - ->will($this->returnValue('en')); + ->willReturn('en'); $languages = [ 'de' => $language_de, 'en' => $language_en, @@ -45,7 +45,7 @@ protected function setUp(): void { ->getMock(); $language_manager->expects($this->any()) ->method('getLanguages') - ->will($this->returnValue($languages)); + ->willReturn($languages); $this->languageManager = $language_manager; // Create a user stub. @@ -69,7 +69,10 @@ protected function setUp(): void { public function testPathPrefix($prefix, $prefixes, $expected_langcode) { $this->languageManager->expects($this->any()) ->method('getCurrentLanguage') - ->will($this->returnValue($this->languages[(in_array($expected_langcode, ['en', 'de'])) ? $expected_langcode : 'en'])); + ->willReturn($this->languages[(in_array($expected_langcode, [ + 'en', + 'de', + ])) ? $expected_langcode : 'en']); $config = $this->getConfigFactoryStub([ 'language.negotiation' => [ @@ -158,7 +161,7 @@ public function providerTestPathPrefix() { public function testDomain($http_host, $domains, $expected_langcode) { $this->languageManager->expects($this->any()) ->method('getCurrentLanguage') - ->will($this->returnValue($this->languages['en'])); + ->willReturn($this->languages['en']); $config = $this->getConfigFactoryStub([ 'language.negotiation' => [ diff --git a/web/core/modules/language/tests/src/Unit/Menu/LanguageLocalTasksTest.php b/web/core/modules/language/tests/src/Unit/Menu/LanguageLocalTasksTest.php index aa4693ca0..7d49f1fae 100644 --- a/web/core/modules/language/tests/src/Unit/Menu/LanguageLocalTasksTest.php +++ b/web/core/modules/language/tests/src/Unit/Menu/LanguageLocalTasksTest.php @@ -11,6 +11,9 @@ */ class LanguageLocalTasksTest extends LocalTaskIntegrationTestBase { + /** + * {@inheritdoc} + */ protected function setUp(): void { $this->directoryList = [ 'language' => 'core/modules/language', diff --git a/web/core/modules/language/tests/src/Unit/process/LanguageDomainsTest.php b/web/core/modules/language/tests/src/Unit/process/LanguageDomainsTest.php index 0fe3e3c88..64e9b3b87 100644 --- a/web/core/modules/language/tests/src/Unit/process/LanguageDomainsTest.php +++ b/web/core/modules/language/tests/src/Unit/process/LanguageDomainsTest.php @@ -32,7 +32,7 @@ protected function setUp(): void { // to return TRUE to be able to test the process. $this->row->expects($this->once()) ->method('getSourceProperty') - ->will($this->returnValue(TRUE)); + ->willReturn(TRUE); // The language_domains plugin use $base_url to fill empty domains. global $base_url; diff --git a/web/core/modules/layout_builder/js/layout-builder.es6.js b/web/core/modules/layout_builder/js/layout-builder.es6.js index 5a9112717..f98e54894 100644 --- a/web/core/modules/layout_builder/js/layout-builder.es6.js +++ b/web/core/modules/layout_builder/js/layout-builder.es6.js @@ -43,9 +43,16 @@ * The link to add the block. */ const toggleBlockEntry = (index, link) => { + const $link = $(link); const textMatch = link.textContent.toLowerCase().indexOf(query) !== -1; - $(link).toggle(textMatch); + // Checks if a category is currently hidden. + // Toggles the category on if so. + if ($link.closest('.js-layout-builder-category').is(':hidden')) { + $link.closest('.js-layout-builder-category').show(); + } + // Toggle the li tag of the matching link. + $link.parent().toggle(textMatch); }; // Filter if the length of the query is at least 2 characters. @@ -82,15 +89,17 @@ .find('.js-layout-builder-category[remember-closed]') .removeAttr('open') .removeAttr('remember-closed'); + // Show all categories since filter is turned off. $categories.find('.js-layout-builder-category').show(); - $filterLinks.show(); + // Show all li tags since filter is turned off. + $filterLinks.parent().show(); announce(Drupal.t('All available blocks are listed.')); } }; $( once('block-filter-text', 'input.js-layout-builder-filter', context), - ).on('keyup', debounce(filterBlockList, 200)); + ).on('input', debounce(filterBlockList, 200)); }, }; diff --git a/web/core/modules/layout_builder/js/layout-builder.js b/web/core/modules/layout_builder/js/layout-builder.js index 729d53641..0d13e9435 100644 --- a/web/core/modules/layout_builder/js/layout-builder.js +++ b/web/core/modules/layout_builder/js/layout-builder.js @@ -4,27 +4,27 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal, Sortable) { var ajax = Drupal.ajax, - behaviors = Drupal.behaviors, - debounce = Drupal.debounce, - announce = Drupal.announce, - formatPlural = Drupal.formatPlural; + behaviors = Drupal.behaviors, + debounce = Drupal.debounce, + announce = Drupal.announce, + formatPlural = Drupal.formatPlural; var layoutBuilderBlocksFiltered = false; behaviors.layoutBuilderBlockFilter = { attach: function attach(context) { var $categories = $('.js-layout-builder-categories', context); var $filterLinks = $categories.find('.js-layout-builder-block-link'); - var filterBlockList = function filterBlockList(e) { var query = e.target.value.toLowerCase(); - var toggleBlockEntry = function toggleBlockEntry(index, link) { + var $link = $(link); var textMatch = link.textContent.toLowerCase().indexOf(query) !== -1; - $(link).toggle(textMatch); + if ($link.closest('.js-layout-builder-category').is(':hidden')) { + $link.closest('.js-layout-builder-category').show(); + } + $link.parent().toggle(textMatch); }; - if (query.length >= 2) { $categories.find('.js-layout-builder-category:not([open])').attr('remember-closed', ''); $categories.find('.js-layout-builder-category').attr('open', ''); @@ -36,20 +36,17 @@ layoutBuilderBlocksFiltered = false; $categories.find('.js-layout-builder-category[remember-closed]').removeAttr('open').removeAttr('remember-closed'); $categories.find('.js-layout-builder-category').show(); - $filterLinks.show(); + $filterLinks.parent().show(); announce(Drupal.t('All available blocks are listed.')); } }; - - $(once('block-filter-text', 'input.js-layout-builder-filter', context)).on('keyup', debounce(filterBlockList, 200)); + $(once('block-filter-text', 'input.js-layout-builder-filter', context)).on('input', debounce(filterBlockList, 200)); } }; - Drupal.layoutBuilderBlockUpdate = function (item, from, to) { var $item = $(item); var $from = $(from); var itemRegion = $item.closest('.js-layout-builder-region'); - if (to === itemRegion[0]) { var deltaTo = $item.closest('[data-layout-delta]').data('layout-delta'); var deltaFrom = $from ? $from.closest('[data-layout-delta]').data('layout-delta') : deltaTo; @@ -60,7 +57,6 @@ }).execute(); } }; - behaviors.layoutBuilderBlockDrag = { attach: function attach(context) { var regionSelector = '.js-layout-builder-region'; @@ -95,35 +91,28 @@ if (Drupal.offCanvas.isOffCanvas($element)) { $('.is-layout-builder-highlighted').removeClass('is-layout-builder-highlighted'); var id = $element.find('[data-layout-builder-target-highlight-id]').attr('data-layout-builder-target-highlight-id'); - if (id) { $("[data-layout-builder-highlight-id=\"".concat(id, "\"]")).addClass('is-layout-builder-highlighted'); } - $('#layout-builder').removeClass('layout-builder--move-blocks-active'); var layoutBuilderWrapperValue = $element.find('[data-add-layout-builder-wrapper]').attr('data-add-layout-builder-wrapper'); - if (layoutBuilderWrapperValue) { $('#layout-builder').addClass(layoutBuilderWrapperValue); } } }); - if (document.querySelector('[data-off-canvas-main-canvas]')) { var mainCanvas = document.querySelector('[data-off-canvas-main-canvas]'); mainCanvas.addEventListener('transitionend', function () { var $target = $('.is-layout-builder-highlighted'); - if ($target.length > 0) { var targetTop = $target.offset().top; var targetBottom = targetTop + $target.outerHeight(); var viewportTop = $(window).scrollTop(); var viewportBottom = viewportTop + $(window).height(); - if (targetBottom < viewportTop || targetTop > viewportBottom) { var viewportMiddle = (viewportBottom + viewportTop) / 2; var scrollAmount = targetTop - viewportMiddle; - if ('scrollBehavior' in document.documentElement.style) { window.scrollBy({ top: scrollAmount, @@ -137,7 +126,6 @@ } }); } - $(window).on('dialog:afterclose', function (event, dialog, $element) { if (Drupal.offCanvas.isOffCanvas($element)) { $('.is-layout-builder-highlighted').removeClass('is-layout-builder-highlighted'); @@ -150,7 +138,6 @@ var $layoutBuilderContentPreview = $('#layout-builder-content-preview'); var contentPreviewId = $layoutBuilderContentPreview.data('content-preview-id'); var isContentPreview = JSON.parse(localStorage.getItem(contentPreviewId)) !== false; - var disableContentPreview = function disableContentPreview() { $layoutBuilder.addClass('layout-builder--content-preview-disabled'); $('[data-layout-content-preview-placeholder-label]', context).each(function (i, element) { @@ -161,7 +148,6 @@ $element.prepend(contentPreviewPlaceholderLabel); }); }; - var enableContentPreview = function enableContentPreview() { $layoutBuilder.removeClass('layout-builder--content-preview-disabled'); $('.js-layout-builder-content-preview-placeholder-label').remove(); @@ -169,11 +155,9 @@ $(element).children().show(); }); }; - $('#layout-builder-content-preview', context).on('change', function (event) { var isChecked = $(event.currentTarget).is(':checked'); localStorage.setItem(contentPreviewId, JSON.stringify(isChecked)); - if (isChecked) { enableContentPreview(); announce(Drupal.t('Block previews are visible. Block labels are hidden.')); @@ -182,14 +166,12 @@ announce(Drupal.t('Block previews are hidden. Block labels are visible.')); } }); - if (!isContentPreview) { $layoutBuilderContentPreview.attr('checked', false); disableContentPreview(); } } }; - Drupal.theme.layoutBuilderPrependContentPreviewPlaceholderLabel = function (contentPreviewPlaceholderText) { var contentPreviewPlaceholderLabel = document.createElement('div'); contentPreviewPlaceholderLabel.className = 'layout-builder-block__content-preview-placeholder-label js-layout-builder-content-preview-placeholder-label'; diff --git a/web/core/modules/layout_builder/layout_builder.info.yml b/web/core/modules/layout_builder/layout_builder.info.yml index ccf4e273d..0a6e43ea3 100644 --- a/web/core/modules/layout_builder/layout_builder.info.yml +++ b/web/core/modules/layout_builder/layout_builder.info.yml @@ -6,7 +6,5 @@ version: VERSION dependencies: - drupal:layout_discovery - drupal:contextual - # @todo Discuss removing in https://www.drupal.org/project/drupal/issues/2935999. - - drupal:field_ui # @todo Discuss removing in https://www.drupal.org/project/drupal/issues/3003610. - drupal:block diff --git a/web/core/modules/layout_builder/layout_builder.module b/web/core/modules/layout_builder/layout_builder.module index 1646139aa..a6e9981fe 100644 --- a/web/core/modules/layout_builder/layout_builder.module +++ b/web/core/modules/layout_builder/layout_builder.module @@ -158,7 +158,7 @@ function layout_builder_entity_view_alter(array &$build, EntityInterface $entity // If the entity is displayed within a Layout Builder block and the current // route is in the Layout Builder UI, then remove all contextual link // placeholders. - if ($display instanceof LayoutBuilderEntityViewDisplay && strpos($route_name, 'layout_builder.') === 0) { + if ($route_name && $display instanceof LayoutBuilderEntityViewDisplay && strpos($route_name, 'layout_builder.') === 0) { unset($build['#contextual_links']); } } diff --git a/web/core/modules/layout_builder/layout_builder.routing.yml b/web/core/modules/layout_builder/layout_builder.routing.yml index 6dcf0c9f0..1e5fd50ff 100644 --- a/web/core/modules/layout_builder/layout_builder.routing.yml +++ b/web/core/modules/layout_builder/layout_builder.routing.yml @@ -1,8 +1,8 @@ layout_builder.choose_section: path: '/layout_builder/choose/section/{section_storage_type}/{section_storage}/{delta}' defaults: - _controller: '\Drupal\layout_builder\Controller\ChooseSectionController::build' - _title: 'Choose a layout for this section' + _controller: '\Drupal\layout_builder\Controller\ChooseSectionController::build' + _title: 'Choose a layout for this section' requirements: _layout_builder_access: 'view' options: diff --git a/web/core/modules/layout_builder/layout_builder.services.yml b/web/core/modules/layout_builder/layout_builder.services.yml index e67a3b4d1..4e9fc3acd 100644 --- a/web/core/modules/layout_builder/layout_builder.services.yml +++ b/web/core/modules/layout_builder/layout_builder.services.yml @@ -14,7 +14,7 @@ services: class: Drupal\layout_builder\Routing\LayoutBuilderRoutes arguments: ['@plugin.manager.layout_builder.section_storage'] tags: - - { name: event_subscriber } + - { name: event_subscriber } layout_builder.tempstore.route_enhancer: class: Drupal\layout_builder\Routing\LayoutTempstoreRouteEnhancer arguments: ['@layout_builder.tempstore_repository'] diff --git a/web/core/modules/layout_builder/layouts/fourcol_section/layout--fourcol-section.html.twig b/web/core/modules/layout_builder/layouts/fourcol_section/layout--fourcol-section.html.twig index 9a380f76e..1f08a2ab5 100644 --- a/web/core/modules/layout_builder/layouts/fourcol_section/layout--fourcol-section.html.twig +++ b/web/core/modules/layout_builder/layouts/fourcol_section/layout--fourcol-section.html.twig @@ -4,6 +4,7 @@ * Default theme implementation for a four-column 25%-25%-25%-25% layout. * * Available variables: + * - in_preview: Whether the plugin is being rendered in preview mode. * - content: The content for this layout. * - attributes: HTML attributes for the layout
                                              . * diff --git a/web/core/modules/layout_builder/layouts/threecol_section/layout--threecol-section.html.twig b/web/core/modules/layout_builder/layouts/threecol_section/layout--threecol-section.html.twig index 1311f28ab..204a43621 100644 --- a/web/core/modules/layout_builder/layouts/threecol_section/layout--threecol-section.html.twig +++ b/web/core/modules/layout_builder/layouts/threecol_section/layout--threecol-section.html.twig @@ -4,6 +4,7 @@ * Default theme implementation for a three-column layout. * * Available variables: + * - in_preview: Whether the plugin is being rendered in preview mode. * - content: The content for this layout. * - attributes: HTML attributes for the layout
                                              . * diff --git a/web/core/modules/layout_builder/layouts/twocol_section/layout--twocol-section.html.twig b/web/core/modules/layout_builder/layouts/twocol_section/layout--twocol-section.html.twig index a5d1d3637..9969f8e57 100644 --- a/web/core/modules/layout_builder/layouts/twocol_section/layout--twocol-section.html.twig +++ b/web/core/modules/layout_builder/layouts/twocol_section/layout--twocol-section.html.twig @@ -4,6 +4,7 @@ * Default theme implementation to display a two-column layout. * * Available variables: + * - in_preview: Whether the plugin is being rendered in preview mode. * - content: The content for this layout. * - attributes: HTML attributes for the layout
                                              . * diff --git a/web/core/modules/layout_builder/src/Cache/LayoutBuilderUiCacheContext.php b/web/core/modules/layout_builder/src/Cache/LayoutBuilderUiCacheContext.php index 4626d1cd8..ded7d5816 100644 --- a/web/core/modules/layout_builder/src/Cache/LayoutBuilderUiCacheContext.php +++ b/web/core/modules/layout_builder/src/Cache/LayoutBuilderUiCacheContext.php @@ -25,7 +25,11 @@ public static function getLabel() { * {@inheritdoc} */ public function getContext() { - return 'is_layout_builder_ui.' . (int) (strpos($this->routeMatch->getRouteName(), 'layout_builder.') !== 0); + $route_name = $this->routeMatch->getRouteName(); + if ($route_name && str_starts_with($route_name, 'layout_builder.')) { + return 'is_layout_builder_ui.0'; + } + return 'is_layout_builder_ui.1'; } } diff --git a/web/core/modules/layout_builder/src/EventSubscriber/BlockComponentRenderArray.php b/web/core/modules/layout_builder/src/EventSubscriber/BlockComponentRenderArray.php index 8ed8137f2..7d51b78a8 100644 --- a/web/core/modules/layout_builder/src/EventSubscriber/BlockComponentRenderArray.php +++ b/web/core/modules/layout_builder/src/EventSubscriber/BlockComponentRenderArray.php @@ -124,6 +124,7 @@ public function onBuildRender(SectionComponentBuildRenderArrayEvent $event) { '#plugin_id' => $block->getPluginId(), '#base_plugin_id' => $block->getBaseId(), '#derivative_plugin_id' => $block->getDerivativeId(), + '#in_preview' => $event->inPreview(), '#weight' => $event->getComponent()->getWeight(), ]; diff --git a/web/core/modules/layout_builder/src/Form/ConfigureSectionForm.php b/web/core/modules/layout_builder/src/Form/ConfigureSectionForm.php index a1c53b4bd..7f31ec571 100644 --- a/web/core/modules/layout_builder/src/Form/ConfigureSectionForm.php +++ b/web/core/modules/layout_builder/src/Form/ConfigureSectionForm.php @@ -47,6 +47,13 @@ class ConfigureSectionForm extends FormBase { */ protected $layout; + /** + * The section being configured. + * + * @var \Drupal\layout_builder\Section + */ + protected $section; + /** * The plugin form manager. * @@ -68,6 +75,13 @@ class ConfigureSectionForm extends FormBase { */ protected $delta; + /** + * The plugin ID. + * + * @var string + */ + protected $pluginId; + /** * Indicates whether the section is being added or updated. * @@ -112,16 +126,15 @@ public function buildForm(array $form, FormStateInterface $form_state, SectionSt $this->sectionStorage = $section_storage; $this->delta = $delta; $this->isUpdate = is_null($plugin_id); + $this->pluginId = $plugin_id; + + $section = $this->getCurrentSection(); if ($this->isUpdate) { - $section = $this->sectionStorage->getSection($this->delta); if ($label = $section->getLayoutSettings()['label']) { $form['#title'] = $this->t('Configure @section', ['@section' => $label]); } } - else { - $section = new Section($plugin_id); - } // Passing available contexts to the layout plugin here could result in an // exception since the layout may not have a context mapping for a required // context slot on creation. @@ -179,14 +192,12 @@ public function submitForm(array &$form, FormStateInterface $form_state) { $this->layout->setContextMapping($subform_state->getValue('context_mapping', [])); } - $plugin_id = $this->layout->getPluginId(); $configuration = $this->layout->getConfiguration(); - if ($this->isUpdate) { - $this->sectionStorage->getSection($this->delta)->setLayoutSettings($configuration); - } - else { - $this->sectionStorage->insertSection($this->delta, new Section($plugin_id, $configuration)); + $section = $this->getCurrentSection(); + $section->setLayoutSettings($configuration); + if (!$this->isUpdate) { + $this->sectionStorage->insertSection($this->delta, $section); } $this->layoutTempstoreRepository->set($this->sectionStorage); @@ -208,6 +219,8 @@ protected function successfulAjaxSubmit(array $form, FormStateInterface $form_st * * @return \Drupal\Core\Plugin\PluginFormInterface * The plugin form for the layout. + * + * @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException */ protected function getPluginForm(LayoutInterface $layout) { if ($layout instanceof PluginWithFormsInterface) { @@ -222,7 +235,7 @@ protected function getPluginForm(LayoutInterface $layout) { } /** - * Retrieve the section storage property. + * Retrieves the section storage property. * * @return \Drupal\layout_builder\SectionStorageInterface * The section storage for the current form. @@ -231,4 +244,33 @@ public function getSectionStorage() { return $this->sectionStorage; } + /** + * Retrieves the layout being modified by the form. + * + * @return \Drupal\Core\Layout\LayoutInterface|\Drupal\Core\Plugin\PluginFormInterface + * The layout for the current form. + */ + public function getCurrentLayout(): LayoutInterface { + return $this->layout; + } + + /** + * Retrieves the section being modified by the form. + * + * @return \Drupal\layout_builder\Section + * The section for the current form. + */ + public function getCurrentSection(): Section { + if (!isset($this->section)) { + if ($this->isUpdate) { + $this->section = $this->sectionStorage->getSection($this->delta); + } + else { + $this->section = new Section($this->pluginId); + } + } + + return $this->section; + } + } diff --git a/web/core/modules/layout_builder/src/Form/MoveBlockForm.php b/web/core/modules/layout_builder/src/Form/MoveBlockForm.php index d051de47e..beb3aa975 100644 --- a/web/core/modules/layout_builder/src/Form/MoveBlockForm.php +++ b/web/core/modules/layout_builder/src/Form/MoveBlockForm.php @@ -190,6 +190,7 @@ public function buildForm(array $form, FormStateInterface $form_state, SectionSt if (!isset($components[$uuid])) { $components[$uuid] = $sections[$delta]->getComponent($uuid); } + $state_weight_delta = round(count($components) / 2); foreach ($components as $component_uuid => $component) { /** @var \Drupal\Core\Block\BlockPluginInterface $plugin */ $plugin = $component->getPlugin(); @@ -222,6 +223,7 @@ public function buildForm(array $form, FormStateInterface $form_state, SectionSt '#attributes' => [ 'class' => ['table-sort-weight'], ], + '#delta' => $state_weight_delta, ], ]; } diff --git a/web/core/modules/layout_builder/src/Plugin/Derivative/FieldBlockDeriver.php b/web/core/modules/layout_builder/src/Plugin/Derivative/FieldBlockDeriver.php index a2a94a024..9dc935d70 100644 --- a/web/core/modules/layout_builder/src/Plugin/Derivative/FieldBlockDeriver.php +++ b/web/core/modules/layout_builder/src/Plugin/Derivative/FieldBlockDeriver.php @@ -9,6 +9,7 @@ use Drupal\Core\Field\FieldConfigInterface; use Drupal\Core\Field\FieldTypePluginManagerInterface; use Drupal\Core\Field\FormatterPluginManager; +use Drupal\Core\Logger\LoggerChannelTrait; use Drupal\Core\Plugin\Context\ContextDefinition; use Drupal\Core\Plugin\Context\EntityContextDefinition; use Drupal\Core\Plugin\Discovery\ContainerDeriverInterface; @@ -24,6 +25,7 @@ class FieldBlockDeriver extends DeriverBase implements ContainerDeriverInterface { use StringTranslationTrait; + use LoggerChannelTrait; /** * The entity type repository. @@ -99,7 +101,12 @@ public function getDerivativeDefinitions($base_plugin_definition) { foreach ($field_info['bundles'] as $bundle) { $derivative = $base_plugin_definition; - $field_definition = $this->entityFieldManager->getFieldDefinitions($entity_type_id, $bundle)[$field_name]; + $field_definitions = $this->entityFieldManager->getFieldDefinitions($entity_type_id, $bundle); + if (empty($field_definitions[$field_name])) { + $this->getLogger('field')->error('Field %field_name exists but is missing a corresponding field definition and may be misconfigured.', ['%field_name' => "$entity_type_id.$bundle.$field_name"]); + continue; + } + $field_definition = $field_definitions[$field_name]; // Store the default formatter on the definition. $derivative['default_formatter'] = ''; diff --git a/web/core/modules/layout_builder/src/Plugin/SectionStorage/DefaultsSectionStorage.php b/web/core/modules/layout_builder/src/Plugin/SectionStorage/DefaultsSectionStorage.php index dc0f35707..4c5d6f103 100644 --- a/web/core/modules/layout_builder/src/Plugin/SectionStorage/DefaultsSectionStorage.php +++ b/web/core/modules/layout_builder/src/Plugin/SectionStorage/DefaultsSectionStorage.php @@ -14,7 +14,6 @@ use Drupal\Core\Plugin\Context\EntityContext; use Drupal\Core\Session\AccountInterface; use Drupal\Core\Url; -use Drupal\field_ui\FieldUI; use Drupal\layout_builder\DefaultsSectionStorageInterface; use Drupal\layout_builder\Entity\SampleEntityGeneratorInterface; use Symfony\Component\DependencyInjection\ContainerInterface; @@ -136,15 +135,21 @@ public function getLayoutBuilderUrl($rel = 'view') { protected function getRouteParameters() { $display = $this->getDisplay(); $entity_type = $this->entityTypeManager->getDefinition($display->getTargetEntityTypeId()); - $route_parameters = FieldUI::getRouteBundleParameter($entity_type, $display->getTargetBundle()); - $route_parameters['view_mode_name'] = $display->getMode(); - return $route_parameters; + $bundle_parameter_key = $entity_type->getBundleEntityType() ?: 'bundle'; + return [ + $bundle_parameter_key => $display->getTargetBundle(), + 'view_mode_name' => $display->getMode(), + ]; } /** * {@inheritdoc} */ public function buildRoutes(RouteCollection $collection) { + if (!\Drupal::moduleHandler()->moduleExists('field_ui')) { + return; + } + foreach ($this->getEntityTypes() as $entity_type_id => $entity_type) { // Try to get the route from the current collection. if (!$entity_route = $collection->get($entity_type->get('field_ui_base_route'))) { diff --git a/web/core/modules/layout_builder/src/Section.php b/web/core/modules/layout_builder/src/Section.php index cd5d3aeda..b8ce26a7b 100644 --- a/web/core/modules/layout_builder/src/Section.php +++ b/web/core/modules/layout_builder/src/Section.php @@ -4,6 +4,7 @@ use Drupal\Core\Config\Entity\ThirdPartySettingsInterface; use Drupal\Core\Plugin\PreviewAwarePluginInterface; +use Drupal\Core\Render\Element; /** * Provides a domain object for layout sections. @@ -94,7 +95,12 @@ public function toRenderArray(array $contexts = [], $in_preview = FALSE) { $layout->setInPreview($in_preview); } - return $layout->build($regions); + $build = $layout->build($regions); + // If an entity was used to build the layout, store it on the build. + if (!Element::isEmpty($build) && isset($contexts['layout_builder.entity'])) { + $build['#entity'] = $contexts['layout_builder.entity']->getContextValue(); + } + return $build; } /** diff --git a/web/core/modules/layout_builder/tests/modules/layout_builder_element_test/src/EventSubscriber/TestPrepareLayout.php b/web/core/modules/layout_builder/tests/modules/layout_builder_element_test/src/EventSubscriber/TestPrepareLayout.php index cec4af43b..d3b080f51 100644 --- a/web/core/modules/layout_builder/tests/modules/layout_builder_element_test/src/EventSubscriber/TestPrepareLayout.php +++ b/web/core/modules/layout_builder/tests/modules/layout_builder_element_test/src/EventSubscriber/TestPrepareLayout.php @@ -12,8 +12,7 @@ use Symfony\Component\EventDispatcher\EventSubscriberInterface; /** - * An event subscriber to test altering section storage via the - * \Drupal\layout_builder\Event\PrepareLayoutEvent. + * Provides an event subscriber for testing section storage alteration. * * @see \Drupal\layout_builder\Event\PrepareLayoutEvent * @see \Drupal\layout_builder\Element\LayoutBuilder::prepareLayout() diff --git a/web/core/modules/layout_builder/tests/modules/layout_builder_test/layout_builder_test.module b/web/core/modules/layout_builder/tests/modules/layout_builder_test/layout_builder_test.module index cd6070f53..fa027a6b0 100644 --- a/web/core/modules/layout_builder/tests/modules/layout_builder_test/layout_builder_test.module +++ b/web/core/modules/layout_builder/tests/modules/layout_builder_test/layout_builder_test.module @@ -97,6 +97,27 @@ function layout_builder_test_form_layout_builder_configure_block_alter(&$form, F ]; } +/** + * Implements hook_form_BASE_FORM_ID_alter() for layout_builder_configure_section. + */ +function layout_builder_test_form_layout_builder_configure_section_alter(&$form, FormStateInterface $form_state, $form_id) { + /** @var \Drupal\layout_builder\Form\ConfigureSectionForm $form_object */ + $form_object = $form_state->getFormObject(); + + $form['layout_builder_test']['storage'] = [ + '#type' => 'item', + '#title' => 'Layout Builder Storage: ' . $form_object->getSectionStorage()->getStorageId(), + ]; + $form['layout_builder_test']['section'] = [ + '#type' => 'item', + '#title' => 'Layout Builder Section: ' . $form_object->getCurrentSection()->getLayoutId(), + ]; + $form['layout_builder_test']['layout'] = [ + '#type' => 'item', + '#title' => 'Layout Builder Layout: ' . $form_object->getCurrentLayout()->getPluginId(), + ]; +} + /** * Implements hook_entity_form_display_alter(). */ @@ -111,6 +132,30 @@ function layout_builder_entity_form_display_alter(EntityFormDisplayInterface $fo } } +/** + * Implements hook_preprocess_HOOK() for one-column layout template. + */ +function layout_builder_test_preprocess_layout__onecol(&$vars) { + if (!empty($vars['content']['#entity'])) { + $vars['content']['content'][\Drupal::service('uuid')->generate()] = [ + '#type' => 'markup', + '#markup' => sprintf('Yes, I can access the %s', $vars['content']['#entity']->label()), + ]; + } +} + +/** + * Implements hook_preprocess_HOOK() for two-column layout template. + */ +function layout_builder_test_preprocess_layout__twocol_section(&$vars) { + if (!empty($vars['content']['#entity'])) { + $vars['content']['first'][\Drupal::service('uuid')->generate()] = [ + '#type' => 'markup', + '#markup' => sprintf('Yes, I can access the entity %s in two column', $vars['content']['#entity']->label()), + ]; + } +} + /** * Implements hook_system_breadcrumb_alter(). */ @@ -131,3 +176,14 @@ function layout_builder_test_module_implements_alter(&$implementations, $hook) { ] + $implementations; } } + +/** + * Implements hook_theme(). + */ +function layout_builder_test_theme() { + return [ + 'block__preview_aware_block' => [ + 'base hook' => 'block', + ], + ]; +} diff --git a/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderAccessTest.php b/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderAccessTest.php index dcf482eb8..24983d439 100644 --- a/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderAccessTest.php +++ b/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderAccessTest.php @@ -18,6 +18,7 @@ class LayoutBuilderAccessTest extends BrowserTestBase { protected static $modules = [ 'layout_builder', 'block_test', + 'field_ui', 'node', 'user', ]; @@ -25,7 +26,7 @@ class LayoutBuilderAccessTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * {@inheritdoc} diff --git a/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderPrepareLayoutTest.php b/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderPrepareLayoutTest.php index e991d909e..903ebfcff 100644 --- a/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderPrepareLayoutTest.php +++ b/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderPrepareLayoutTest.php @@ -16,6 +16,7 @@ class LayoutBuilderPrepareLayoutTest extends BrowserTestBase { * {@inheritdoc} */ protected static $modules = [ + 'field_ui', 'layout_builder', 'node', 'layout_builder_element_test', diff --git a/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderSectionStorageTest.php b/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderSectionStorageTest.php index a008b63f9..a30d65dcf 100644 --- a/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderSectionStorageTest.php +++ b/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderSectionStorageTest.php @@ -16,6 +16,7 @@ class LayoutBuilderSectionStorageTest extends BrowserTestBase { */ protected static $modules = [ 'layout_builder', + 'field_ui', 'node', 'layout_builder_test', ]; diff --git a/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTest.php b/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTest.php index f135ac4cb..1b38a4bb9 100644 --- a/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTest.php +++ b/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTest.php @@ -19,6 +19,7 @@ class LayoutBuilderTest extends BrowserTestBase { * {@inheritdoc} */ protected static $modules = [ + 'field_ui', 'views', 'layout_builder', 'layout_builder_views_test', @@ -33,7 +34,7 @@ class LayoutBuilderTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * {@inheritdoc} @@ -121,6 +122,30 @@ public function testOverridesWithoutDefaultsAccess() { $assert_session->linkNotExists('Edit the template for all Bundle with section field content items instead.'); } + /** + * Tests Layout Builder overrides without Field UI installed. + */ + public function testOverridesWithoutFieldUi() { + $this->container->get('module_installer')->uninstall(['field_ui']); + + $assert_session = $this->assertSession(); + $page = $this->getSession()->getPage(); + + // @todo In https://www.drupal.org/node/540008 switch this to logging in as + // a user with the 'configure any layout' permission. + $this->drupalLogin($this->rootUser); + + LayoutBuilderEntityViewDisplay::load('node.bundle_with_section_field.default') + ->enableLayoutBuilder() + ->setOverridable() + ->save(); + + $this->drupalGet('node/1'); + $page->clickLink('Layout'); + $assert_session->elementTextContains('css', '.layout-builder__message.layout-builder__message--overrides', 'You are editing the layout for this Bundle with section field content item.'); + $assert_session->linkNotExists('Edit the template for all Bundle with section field content items instead.'); + } + /** * Tests functionality of Layout Builder for overrides. */ @@ -326,6 +351,7 @@ public function testLayoutBuilderUi() { $assert_session->pageTextContains('Extra, Extra read all about it.'); $assert_session->pageTextNotContains('Placeholder for the "Extra label" field'); $assert_session->linkNotExists('Layout'); + $assert_session->pageTextContains(sprintf('Yes, I can access the %s', Node::load(1)->label())); // Enable overrides. $this->drupalGet("{$field_ui_prefix}/display/default"); @@ -352,6 +378,7 @@ public function testLayoutBuilderUi() { $assert_session->pageTextNotContains('Powered by Drupal'); $assert_session->pageTextNotContains('Extra, Extra read all about it.'); $assert_session->pageTextNotContains('Placeholder for the "Extra label" field'); + $assert_session->pageTextContains(sprintf('Yes, I can access the entity %s in two column', Node::load(1)->label())); // Assert that overrides cannot be turned off while overrides exist. $this->drupalGet("$field_ui_prefix/display/default"); @@ -376,6 +403,7 @@ public function testLayoutBuilderUi() { $assert_session->pageTextContains('Powered by Drupal'); $assert_session->pageTextContains('Extra, Extra read all about it.'); $assert_session->pageTextNotContains('Placeholder for the "Extra label" field'); + $assert_session->pageTextContains(sprintf('Yes, I can access the %s', Node::load(2)->label())); // The overridden node does not pick up the changes to defaults. $this->drupalGet('node/1'); @@ -406,6 +434,8 @@ public function testLayoutBuilderUi() { $assert_session->pageTextContains('The first node body'); $assert_session->pageTextContains('Powered by Drupal'); $assert_session->pageTextContains('Extra, Extra read all about it.'); + $assert_session->pageTextNotContains(sprintf('Yes, I can access the entity %s in two column', Node::load(1)->label())); + $assert_session->pageTextContains(sprintf('Yes, I can access the %s', Node::load(1)->label())); // Assert that overrides can be turned off now that all overrides are gone. $this->drupalGet("{$field_ui_prefix}/display/default"); @@ -694,15 +724,47 @@ public function testPreviewAwarePlugins() { $page->pressButton('Add block'); $assert_session->elementExists('css', '.go-birds-preview'); + $assert_session->pageTextContains('The block template is being previewed.'); $assert_session->pageTextContains('This block is being rendered in preview mode.'); $page->pressButton('Save layout'); $this->drupalGet('node/1'); $assert_session->elementNotExists('css', '.go-birds-preview'); + $assert_session->pageTextNotContains('The block template is being previewed.'); $assert_session->pageTextContains('This block is being rendered normally.'); } + /** + * Tests preview-aware templates. + */ + public function testPreviewAwareTemplates() { + $assert_session = $this->assertSession(); + $page = $this->getSession()->getPage(); + + $this->drupalLogin($this->drupalCreateUser([ + 'configure any layout', + 'administer node display', + ])); + + $this->drupalGet('admin/structure/types/manage/bundle_with_section_field/display/default'); + $this->submitForm(['layout[enabled]' => TRUE], 'Save'); + $page->clickLink('Manage layout'); + $page->clickLink('Add section'); + $page->clickLink('1 column layout'); + $page->pressButton('Add section'); + $page->clickLink('Add block'); + $page->clickLink('Preview-aware block'); + $page->pressButton('Add block'); + + $assert_session->pageTextContains('This is a preview, indeed'); + + $page->pressButton('Save layout'); + $this->drupalGet('node/1'); + + $assert_session->pageTextNotContains('This is a preview, indeed'); + } + /** * Tests the interaction between full and default view modes. * @@ -1105,6 +1167,14 @@ public function testFormAlter() { $assert_session->pageTextContains('Layout Builder Storage: node.bundle_with_section_field.default'); $assert_session->pageTextContains('Layout Builder Section: layout_onecol'); $assert_session->pageTextContains('Layout Builder Component: system_powered_by_block'); + + $this->drupalGet("$field_ui_prefix/display/default"); + $page->clickLink('Manage layout'); + $page->clickLink('Add section'); + $page->clickLink('One column'); + $assert_session->pageTextContains('Layout Builder Storage: node.bundle_with_section_field.default'); + $assert_session->pageTextContains('Layout Builder Section: layout_onecol'); + $assert_session->pageTextContains('Layout Builder Layout: layout_onecol'); } /** diff --git a/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderThemeSuggestionsTest.php b/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderThemeSuggestionsTest.php index 3c140db94..bf22848f3 100644 --- a/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderThemeSuggestionsTest.php +++ b/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderThemeSuggestionsTest.php @@ -2,6 +2,7 @@ namespace Drupal\Tests\layout_builder\Functional; +use Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay; use Drupal\Tests\BrowserTestBase; /** @@ -23,7 +24,7 @@ class LayoutBuilderThemeSuggestionsTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * {@inheritdoc} @@ -35,6 +36,10 @@ protected function setUp(): void { 'type' => 'bundle_with_section_field', 'name' => 'Bundle with section field', ]); + LayoutBuilderEntityViewDisplay::load('node.bundle_with_section_field.default') + ->enableLayoutBuilder() + ->setOverridable() + ->save(); $this->createNode([ 'type' => 'bundle_with_section_field', 'title' => 'A node title', @@ -47,11 +52,7 @@ protected function setUp(): void { $this->drupalLogin($this->drupalCreateUser([ 'configure any layout', - 'administer node display', ])); - - $this->drupalGet('admin/structure/types/manage/bundle_with_section_field/display/default'); - $this->submitForm(['layout[enabled]' => TRUE], 'Save'); } /** @@ -61,7 +62,7 @@ public function testLayoutListSuggestion() { $page = $this->getSession()->getPage(); $assert_session = $this->assertSession(); - $this->drupalGet('admin/structure/types/manage/bundle_with_section_field/display/default/layout'); + $this->drupalGet('node/1/layout'); $page->clickLink('Add section'); $assert_session->pageTextContains('layout_builder_theme_suggestions_test_preprocess_item_list__layouts'); } diff --git a/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTranslationTest.php b/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTranslationTest.php index a4873d5d7..4b5999d90 100644 --- a/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTranslationTest.php +++ b/web/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTranslationTest.php @@ -122,15 +122,6 @@ public function testLayoutOverrideBeforeTranslation() { $assert_session->pageTextContains('Access denied'); } - /** - * {@inheritdoc} - */ - protected function getAdministratorPermissions() { - $permissions = parent::getAdministratorPermissions(); - $permissions[] = 'administer entity_test_mul display'; - return $permissions; - } - /** * {@inheritdoc} */ @@ -148,13 +139,6 @@ protected function getTranslatorPermissions() { protected function setUpEntities() { $this->drupalLogin($this->administrator); - $field_ui_prefix = 'entity_test_mul/structure/entity_test_mul'; - // Allow overrides for the layout. - $this->drupalGet("{$field_ui_prefix}/display/default"); - $this->submitForm(['layout[enabled]' => TRUE], 'Save'); - $this->drupalGet("{$field_ui_prefix}/display/default"); - $this->submitForm(['layout[allow_custom]' => TRUE], 'Save'); - // @todo The Layout Builder UI relies on local tasks; fix in // https://www.drupal.org/project/drupal/issues/2917777. $this->drupalPlaceBlock('local_tasks_block'); @@ -179,7 +163,11 @@ protected function setUpViewDisplay() { 'bundle' => $this->bundle, 'mode' => 'default', 'status' => TRUE, - ])->setComponent($this->fieldName, ['type' => 'string'])->save(); + ]) + ->setComponent($this->fieldName, ['type' => 'string']) + ->enableLayoutBuilder() + ->setOverridable() + ->save(); } /** diff --git a/web/core/modules/layout_builder/tests/src/Functional/LayoutSectionTest.php b/web/core/modules/layout_builder/tests/src/Functional/LayoutSectionTest.php index c22938cb8..3bbc2410d 100644 --- a/web/core/modules/layout_builder/tests/src/Functional/LayoutSectionTest.php +++ b/web/core/modules/layout_builder/tests/src/Functional/LayoutSectionTest.php @@ -28,7 +28,7 @@ class LayoutSectionTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * {@inheritdoc} diff --git a/web/core/modules/layout_builder/tests/src/Functional/Rest/LayoutRestTestBase.php b/web/core/modules/layout_builder/tests/src/Functional/Rest/LayoutRestTestBase.php index 071dc0506..5b364f21d 100644 --- a/web/core/modules/layout_builder/tests/src/Functional/Rest/LayoutRestTestBase.php +++ b/web/core/modules/layout_builder/tests/src/Functional/Rest/LayoutRestTestBase.php @@ -5,6 +5,7 @@ use Drupal\Component\Utility\NestedArray; use Drupal\Core\Cache\CacheableMetadata; use Drupal\Core\Url; +use Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay; use Drupal\Tests\rest\Functional\BasicAuthResourceTestTrait; use Drupal\Tests\rest\Functional\ResourceTestBase; use GuzzleHttp\RequestOptions; @@ -49,24 +50,18 @@ public function setUp() { $assert_session = $this->assertSession(); $this->createContentType(['type' => 'bundle_with_section_field']); + LayoutBuilderEntityViewDisplay::load('node.bundle_with_section_field.default') + ->enableLayoutBuilder() + ->setOverridable() + ->save(); $this->drupalLogin($this->drupalCreateUser([ 'configure any layout', - 'administer node display', - 'administer display modes', 'bypass node access', 'create bundle_with_section_field content', 'edit any bundle_with_section_field content', ])); $page = $this->getSession()->getPage(); - $field_ui_prefix = 'admin/structure/types/manage/bundle_with_section_field/display'; - - // Enable Layout Builder for the default view modes, and overrides. - $this->drupalGet("$field_ui_prefix/default"); - $page->checkField('layout[enabled]'); - $page->pressButton('Save'); - $page->checkField('layout[allow_custom]'); - $page->pressButton('Save'); // Create a node. $this->node = $this->createNode([ diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/AjaxBlockTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/AjaxBlockTest.php index 9be2b7d25..beb156969 100644 --- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/AjaxBlockTest.php +++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/AjaxBlockTest.php @@ -3,6 +3,7 @@ namespace Drupal\Tests\layout_builder\FunctionalJavascript; use Drupal\FunctionalJavascriptTests\WebDriverTestBase; +use Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay; use Drupal\Tests\system\Traits\OffCanvasTestTrait; /** @@ -30,21 +31,26 @@ class AjaxBlockTest extends WebDriverTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * {@inheritdoc} */ protected function setUp(): void { parent::setUp(); - $user = $this->drupalCreateUser([ + + // @todo The Layout Builder UI relies on local tasks; fix in + // https://www.drupal.org/project/drupal/issues/2917777. + $this->drupalPlaceBlock('local_tasks_block'); + + $this->drupalLogin($this->drupalCreateUser([ 'configure any layout', - 'administer node display', - 'administer node fields', - ]); - $user->save(); - $this->drupalLogin($user); + ])); $this->createContentType(['type' => 'bundle_with_section_field']); + LayoutBuilderEntityViewDisplay::load('node.bundle_with_section_field.default') + ->enableLayoutBuilder() + ->setOverridable() + ->save(); } /** @@ -53,8 +59,9 @@ protected function setUp(): void { public function testAddAjaxBlock() { $assert_session = $this->assertSession(); $page = $this->getSession()->getPage(); + // Start by creating a node. - $node = $this->createNode([ + $this->createNode([ 'type' => 'bundle_with_section_field', 'body' => [ [ @@ -62,18 +69,13 @@ public function testAddAjaxBlock() { ], ], ]); - $node->save(); + $this->drupalGet('node/1'); $assert_session->pageTextContains('The node body'); $assert_session->pageTextNotContains('Every word is like an unnecessary stain on silence and nothingness.'); - $field_ui_prefix = 'admin/structure/types/manage/bundle_with_section_field'; // From the manage display page, go to manage the layout. - $this->drupalGet("{$field_ui_prefix}/display/default"); - $this->submitForm(['layout[enabled]' => TRUE], 'Save'); - $assert_session->linkExists('Manage layout'); - $this->clickLink('Manage layout'); - $assert_session->addressEquals("$field_ui_prefix/display/default/layout"); + $this->clickLink('Layout'); // The body field is present. $assert_session->elementExists('css', '.field--name-body'); diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/BlockFilterTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/BlockFilterTest.php index d4402a796..de4e6910c 100644 --- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/BlockFilterTest.php +++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/BlockFilterTest.php @@ -4,6 +4,7 @@ use Behat\Mink\Element\NodeElement; use Drupal\FunctionalJavascriptTests\WebDriverTestBase; +use Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay; /** * Tests the JavaScript functionality of the block add filter. @@ -33,13 +34,16 @@ class BlockFilterTest extends WebDriverTestBase { */ protected function setUp(): void { parent::setUp(); - $user = $this->drupalCreateUser([ + + $this->drupalLogin($this->drupalCreateUser([ 'configure any layout', - 'administer node display', - 'administer node fields', - ]); - $this->drupalLogin($user); + ])); $this->createContentType(['type' => 'bundle_with_section_field']); + LayoutBuilderEntityViewDisplay::load('node.bundle_with_section_field.default') + ->enableLayoutBuilder() + ->setOverridable() + ->save(); + $this->createNode(['type' => 'bundle_with_section_field']); } /** @@ -50,22 +54,15 @@ public function testBlockFilter() { $session = $this->getSession(); $page = $session->getPage(); - // From the manage display page, go to manage the layout. - $field_ui_prefix = 'admin/structure/types/manage/bundle_with_section_field'; - $this->drupalGet("{$field_ui_prefix}/display/default"); - $this->submitForm(['layout[enabled]' => TRUE], 'Save'); - $assert_session->linkExists('Manage layout'); - $this->clickLink('Manage layout'); - $assert_session->addressEquals("$field_ui_prefix/display/default/layout"); - // Open the block listing. + $this->drupalGet('node/1/layout'); $assert_session->linkExists('Add block'); $this->clickLink('Add block'); $assert_session->assertWaitOnAjaxRequest(); // Get all blocks, for assertions later. $blocks = $page->findAll('css', '.js-layout-builder-block-link'); - $categories = $page->findAll('css', '.js-layout-builder-category'); + $categories = $page->findAll('css', '.js-layout-builder-categories li'); $filter = $assert_session->elementExists('css', '.js-layout-builder-filter'); @@ -92,16 +89,32 @@ public function testBlockFilter() { $fewer_blocks_message = ' blocks are available in the modified list'; $this->assertAnnounceContains($fewer_blocks_message); $visible_rows = $this->filterVisibleElements($blocks); - $this->assertGreaterThan(0, count($blocks)); - $this->assertLessThan(count($blocks), count($visible_rows)); + $this->assertCount(4, $visible_rows); $visible_categories = $this->filterVisibleElements($categories); - $this->assertGreaterThan(0, count($visible_categories)); - $this->assertLessThan(count($categories), count($visible_categories)); + $this->assertCount(4, $visible_categories); // Test Drupal.announce() message when multiple matches are present. $expected_message = count($visible_rows) . $fewer_blocks_message; $this->assertAnnounceContains($expected_message); + // Test 3 letter search. + $filter->setValue('adm'); + $visible_rows = $this->filterVisibleElements($blocks); + $this->assertCount(3, $visible_rows); + $visible_categories = $this->filterVisibleElements($categories); + $this->assertCount(3, $visible_categories); + + // Retest that blocks appear when reducing letters. + $filter->setValue('ad'); + $visible_rows = $this->filterVisibleElements($blocks); + $this->assertCount(4, $visible_rows); + $visible_categories = $this->filterVisibleElements($categories); + $this->assertCount(4, $visible_categories); + + // Test blocks reappear after being filtered by repeating search for "a". + $filter->setValue('a'); + $this->assertAnnounceContains('All available blocks are listed.'); + // Test Drupal.announce() message when only one match is present. $filter->setValue('Powered by'); $this->assertAnnounceContains(' block is available'); diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/BlockFormMessagesTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/BlockFormMessagesTest.php index 166e10893..e6c143585 100644 --- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/BlockFormMessagesTest.php +++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/BlockFormMessagesTest.php @@ -3,6 +3,7 @@ namespace Drupal\Tests\layout_builder\FunctionalJavascript; use Drupal\FunctionalJavascriptTests\WebDriverTestBase; +use Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay; use Drupal\Tests\contextual\FunctionalJavascript\ContextualLinkClickTrait; /** @@ -27,7 +28,7 @@ class BlockFormMessagesTest extends WebDriverTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * {@inheritdoc} @@ -35,6 +36,11 @@ class BlockFormMessagesTest extends WebDriverTestBase { protected function setUp(): void { parent::setUp(); $this->createContentType(['type' => 'bundle_with_section_field']); + LayoutBuilderEntityViewDisplay::load('node.bundle_with_section_field.default') + ->enableLayoutBuilder() + ->setOverridable() + ->save(); + $this->createNode(['type' => 'bundle_with_section_field']); } /** @@ -50,19 +56,11 @@ public function testValidationMessage() { $this->drupalLogin($this->drupalCreateUser([ 'access contextual links', 'configure any layout', - 'administer node display', - 'administer node fields', ])); - $field_ui_prefix = 'admin/structure/types/manage/bundle_with_section_field'; - // Enable layout builder. - $this->drupalGet($field_ui_prefix . '/display/default'); - $this->submitForm(['layout[enabled]' => TRUE], 'Save'); - $page->findLink('Manage layout')->click(); - $assert_session->addressEquals($field_ui_prefix . '/display/default/layout'); + $this->drupalGet('node/1/layout'); $page->findLink('Add block')->click(); $this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-off-canvas .block-categories')); $page->findLink('Powered by Drupal')->click(); - $this->markTestSkipped("Skipped temporarily for random fails."); $this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-off-canvas [name="settings[label]"]')); $page->findField('Title')->setValue(''); $page->findButton('Add block')->click(); @@ -76,10 +74,10 @@ public function testValidationMessage() { $assert_session->assertWaitOnAjaxRequest(); $this->drupalGet($this->getUrl()); $page->findButton('Save layout')->click(); - $this->assertNotEmpty($assert_session->waitForElement('css', 'div:contains("The layout has been saved")')); + $this->assertNotEmpty($assert_session->waitForElement('css', 'div:contains("The layout override has been saved")')); // Ensure that message are displayed when configuring an existing block. - $this->drupalGet($field_ui_prefix . '/display/default/layout'); + $this->drupalGet('node/1/layout'); $assert_session->assertWaitOnAjaxRequest(); $this->clickContextualLink($block_css_locator, 'Configure', TRUE); $this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-off-canvas [name="settings[label]"]')); diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/ContentPreviewToggleTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/ContentPreviewToggleTest.php index c7596b5a4..bd2357a3b 100644 --- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/ContentPreviewToggleTest.php +++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/ContentPreviewToggleTest.php @@ -3,6 +3,7 @@ namespace Drupal\Tests\layout_builder\FunctionalJavascript; use Drupal\FunctionalJavascriptTests\WebDriverTestBase; +use Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay; use Drupal\Tests\contextual\FunctionalJavascript\ContextualLinkClickTrait; use Drupal\Tests\system\Traits\OffCanvasTestTrait; @@ -30,7 +31,7 @@ class ContentPreviewToggleTest extends WebDriverTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * {@inheritdoc} @@ -39,11 +40,13 @@ protected function setUp(): void { parent::setUp(); $this->createContentType(['type' => 'bundle_for_this_particular_test']); + LayoutBuilderEntityViewDisplay::load('node.bundle_for_this_particular_test.default') + ->enableLayoutBuilder() + ->setOverridable() + ->save(); $this->drupalLogin($this->drupalCreateUser([ 'configure any layout', - 'administer node display', - 'administer node fields', 'access contextual links', ])); } @@ -58,12 +61,6 @@ public function testContentPreviewToggle() { $body_field_placeholder_label = '"Body" field'; $content_preview_body_text = 'I should only be visible if content preview is enabled.'; - $this->drupalGet('admin/structure/types/manage/bundle_for_this_particular_test/display/default'); - $this->submitForm([ - 'layout[enabled]' => TRUE, - 'layout[allow_custom]' => TRUE, - ], 'Save'); - $this->createNode([ 'type' => 'bundle_for_this_particular_test', 'body' => [ diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/ContextualLinksTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/ContextualLinksTest.php index 67252e387..be25d1ca6 100644 --- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/ContextualLinksTest.php +++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/ContextualLinksTest.php @@ -3,6 +3,7 @@ namespace Drupal\Tests\layout_builder\FunctionalJavascript; use Drupal\FunctionalJavascriptTests\WebDriverTestBase; +use Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay; use Drupal\Tests\system\Functional\Cache\AssertPageCacheContextsAndTagsTrait; /** @@ -31,7 +32,7 @@ class ContextualLinksTest extends WebDriverTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * {@inheritdoc} @@ -41,8 +42,6 @@ protected function setUp(): void { $user = $this->drupalCreateUser([ 'configure any layout', - 'administer node display', - 'administer node fields', 'access contextual links', 'administer nodes', 'bypass node access', @@ -51,6 +50,10 @@ protected function setUp(): void { $user->save(); $this->drupalLogin($user); $this->createContentType(['type' => 'bundle_with_section_field']); + LayoutBuilderEntityViewDisplay::load('node.bundle_with_section_field.default') + ->enableLayoutBuilder() + ->setOverridable() + ->save(); $this->createNode([ 'type' => 'bundle_with_section_field', @@ -66,17 +69,9 @@ protected function setUp(): void { * Tests that the contextual links inside Layout Builder are removed. */ public function testContextualLinks() { + // Skipped due to frequent random test failures. $page = $this->getSession()->getPage(); - $field_ui_prefix = 'admin/structure/types/manage/bundle_with_section_field'; - - // Enable Layout Builder and overrides. - $this->drupalGet("{$field_ui_prefix}/display/default"); - $this->submitForm([ - 'layout[enabled]' => TRUE, - 'layout[allow_custom]' => TRUE, - ], 'Save'); - $this->drupalGet('node/1/layout'); // Add a block that includes an entity contextual link. @@ -127,7 +122,6 @@ protected function addBlock($block_name) { * @internal */ protected function assertCorrectContextualLinksInUi(): void { - $this->markTestSkipped("Skipped temporarily for random fails."); $assert_session = $this->assertSession(); $page = $this->getSession()->getPage(); $this->assertNotEmpty($assert_session->waitForElementVisible('css', '.block-views-blocktest-block-view-block-2')); diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/FieldBlockTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/FieldBlockTest.php index 002cece56..2350932a9 100644 --- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/FieldBlockTest.php +++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/FieldBlockTest.php @@ -30,7 +30,7 @@ class FieldBlockTest extends WebDriverTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * {@inheritdoc} @@ -81,7 +81,7 @@ public function testUserFieldBlock() { $assert_session->pageTextNotContains('Initial email'); $assert_session->pageTextContains('Date field'); - $block_url = 'admin/structure/block/add/field_block_test%3Auser%3Auser%3Afield_date/classy'; + $block_url = 'admin/structure/block/add/field_block_test%3Auser%3Auser%3Afield_date/starterkit_theme'; $assert_session->linkByHrefExists($block_url); $this->drupalGet($block_url); @@ -152,7 +152,7 @@ public function testStatesFieldBlock() { ]); $timestamp_field->save(); - $this->drupalGet('admin/structure/block/add/field_block_test%3Auser%3Auser%3Afield_timestamp/classy'); + $this->drupalGet('admin/structure/block/add/field_block_test%3Auser%3Auser%3Afield_timestamp/starterkit_theme'); $this->assertFalse($page->findField('settings[formatter][settings][custom_date_format]')->isVisible(), 'Custom date format is not visible'); $page->selectFieldOption('settings[formatter][settings][date_format]', 'custom'); $this->assertTrue($page->findField('settings[formatter][settings][custom_date_format]')->isVisible(), 'Custom date format is visible'); diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/InlineBlockPrivateFilesTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/InlineBlockPrivateFilesTest.php index 36d9712ae..95f213ac9 100644 --- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/InlineBlockPrivateFilesTest.php +++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/InlineBlockPrivateFilesTest.php @@ -4,6 +4,7 @@ use Drupal\file\Entity\File; use Drupal\file\FileInterface; +use Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay; use Drupal\node\Entity\Node; use Drupal\node\Entity\NodeType; use Drupal\Tests\file\Functional\FileFieldCreationTrait; @@ -29,7 +30,7 @@ class InlineBlockPrivateFilesTest extends InlineBlockTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * The file system service. @@ -62,21 +63,10 @@ protected function setUp(): void { */ public function testPrivateFiles() { $assert_session = $this->assertSession(); - $this->drupalLogin($this->drupalCreateUser([ - 'access contextual links', - 'configure any layout', - 'administer node display', - 'administer node fields', - 'create and edit custom blocks', - ])); - - // Enable layout builder and overrides. - $this->drupalGet(static::FIELD_UI_PREFIX . '/display/default'); - $this->submitForm([ - 'layout[enabled]' => TRUE, - 'layout[allow_custom]' => TRUE, - ], 'Save'); - $this->drupalLogout(); + LayoutBuilderEntityViewDisplay::load('node.bundle_with_section_field.default') + ->enableLayoutBuilder() + ->setOverridable() + ->save(); // Log in as user you can only configure layouts and access content. $this->drupalLogin($this->drupalCreateUser([ diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/InlineBlockTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/InlineBlockTest.php index 773ad3a39..c9093a176 100644 --- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/InlineBlockTest.php +++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/InlineBlockTest.php @@ -15,7 +15,14 @@ class InlineBlockTest extends InlineBlockTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; + + /** + * {@inheritdoc} + */ + protected static $modules = [ + 'field_ui', + ]; /** * Tests adding and editing of inline blocks. @@ -662,4 +669,43 @@ public function testEditInlineBlocksPermission() { $assert($permissions, TRUE); } + /** + * Test editing inline blocks when the parent has been reverted. + */ + public function testInlineBlockParentRevert() { + $this->drupalLogin($this->drupalCreateUser([ + 'access contextual links', + 'configure any layout', + 'administer node display', + 'administer node fields', + 'administer nodes', + 'bypass node access', + 'create and edit custom blocks', + ])); + $display = \Drupal::service('entity_display.repository')->getViewDisplay('node', 'bundle_with_section_field'); + $display->enableLayoutBuilder()->setOverridable()->save(); + $test_node = $this->createNode([ + 'title' => 'test node', + 'type' => 'bundle_with_section_field', + ]); + + $this->drupalGet("node/{$test_node->id()}/layout"); + $this->addInlineBlockToLayout('Example block', 'original content'); + $this->assertSaveLayout(); + $original_content_revision_id = Node::load($test_node->id())->getLoadedRevisionId(); + + $this->drupalGet("node/{$test_node->id()}/layout"); + $this->configureInlineBlock('original content', 'updated content'); + $this->assertSaveLayout(); + + $this->drupalGet("node/{$test_node->id()}/revisions/$original_content_revision_id/revert"); + $this->submitForm([], 'Revert'); + $this->drupalGet("node/{$test_node->id()}/layout"); + $this->configureInlineBlock('original content', 'second updated content'); + $this->assertSaveLayout(); + + $this->drupalGet($test_node->toUrl()); + $this->assertSession()->pageTextContains('second updated content'); + } + } diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/ItemLayoutFieldBlockTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/ItemLayoutFieldBlockTest.php index 726cc31a2..eba608cdc 100644 --- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/ItemLayoutFieldBlockTest.php +++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/ItemLayoutFieldBlockTest.php @@ -3,6 +3,7 @@ namespace Drupal\Tests\layout_builder\FunctionalJavascript; use Drupal\FunctionalJavascriptTests\WebDriverTestBase; +use Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay; /** * Field blocks tests for the override layout. @@ -32,12 +33,14 @@ protected function setUp(): void { $this->drupalLogin($this->drupalCreateUser([ 'configure any layout', - 'administer node display', - 'administer node fields', ])); // We need more then one content type for this test. $this->createContentType(['type' => 'bundle_with_layout_overrides']); + LayoutBuilderEntityViewDisplay::load('node.bundle_with_layout_overrides.default') + ->enableLayoutBuilder() + ->setOverridable() + ->save(); $this->createContentType(['type' => 'filler_bundle']); } @@ -48,12 +51,6 @@ public function testAddAjaxBlock() { $assert_session = $this->assertSession(); $page = $this->getSession()->getPage(); - // Allow overrides for the layout. - $this->drupalGet('admin/structure/types/manage/bundle_with_layout_overrides/display/default'); - $page->checkField('layout[enabled]'); - $page->checkField('layout[allow_custom]'); - $page->pressButton('Save'); - // Start by creating a node of type with layout overrides. $node = $this->createNode([ 'type' => 'bundle_with_layout_overrides', diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderDisableInteractionsTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderDisableInteractionsTest.php index 6ce658324..ce71c9f96 100644 --- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderDisableInteractionsTest.php +++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderDisableInteractionsTest.php @@ -27,6 +27,7 @@ class LayoutBuilderDisableInteractionsTest extends WebDriverTestBase { protected static $modules = [ 'block', 'block_content', + 'field_ui', 'filter', 'filter_test', 'layout_builder', @@ -39,7 +40,7 @@ class LayoutBuilderDisableInteractionsTest extends WebDriverTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * {@inheritdoc} @@ -235,7 +236,6 @@ protected function assertContextualLinksClickable(): void { $this->clickContextualLink('.block-field-blocknodebundle-with-section-fieldbody [data-contextual-id^="layout_builder_block"]', 'Configure'); $this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-off-canvas')); $page->pressButton('Close'); - $this->markTestSkipped('Temporarily skipped due to random failures.'); $assert_session->assertNoElementAfterWait('css', '#drupal-off-canvas'); $this->assertContextualLinkRetainsMouseup(); } diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderNestedFormUiTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderNestedFormUiTest.php index a000ac8f5..82efebb9e 100644 --- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderNestedFormUiTest.php +++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderNestedFormUiTest.php @@ -25,6 +25,7 @@ class LayoutBuilderNestedFormUiTest extends WebDriverTestBase { */ protected static $modules = [ 'block', + 'field_ui', 'node', 'layout_builder', 'layout_builder_form_block_test', @@ -65,7 +66,6 @@ protected function setUp(): void { * Tests blocks containing forms can be successfully saved editing defaults. */ public function testAddingFormBlocksToDefaults() { - $this->markTestSkipped(); $this->drupalLogin($this->drupalCreateUser([ 'configure any layout', 'administer node display', @@ -100,7 +100,6 @@ public function testAddingFormBlocksToDefaults() { * Tests blocks containing forms can be successfully saved editing overrides. */ public function testAddingFormBlocksToOverrides() { - $this->markTestSkipped(); $this->drupalLogin($this->drupalCreateUser([ 'configure any layout', 'administer node display', diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderOptInTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderOptInTest.php index c1e8908e5..a80ac8b7f 100644 --- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderOptInTest.php +++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderOptInTest.php @@ -23,7 +23,7 @@ class LayoutBuilderOptInTest extends WebDriverTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * {@inheritdoc} diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderTest.php index fe995ec24..08c18063a 100644 --- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderTest.php +++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderTest.php @@ -35,7 +35,7 @@ class LayoutBuilderTest extends WebDriverTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * The node to customize with Layout Builder. @@ -100,7 +100,6 @@ protected function setUp(): void { * Tests the Layout Builder UI. */ public function testLayoutBuilderUi() { - $this->markTestSkipped(); $layout_url = 'node/1/layout'; $node_url = 'node/1'; diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderToolbarTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderToolbarTest.php index 9cb41a4b4..8021710a2 100644 --- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderToolbarTest.php +++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderToolbarTest.php @@ -17,6 +17,7 @@ class LayoutBuilderToolbarTest extends WebDriverTestBase { protected static $modules = [ 'block', 'node', + 'field_ui', 'layout_builder', 'node', 'toolbar', @@ -25,7 +26,7 @@ class LayoutBuilderToolbarTest extends WebDriverTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * {@inheritdoc} diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderUiTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderUiTest.php index f6dd1eab7..ebe12b42f 100644 --- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderUiTest.php +++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderUiTest.php @@ -22,9 +22,13 @@ class LayoutBuilderUiTest extends WebDriverTestBase { */ const FIELD_UI_PREFIX = 'admin/structure/types/manage/bundle_with_section_field'; + /** + * {@inheritdoc} + */ protected static $modules = [ 'layout_builder', 'block', + 'field_ui', 'node', 'block_content', 'contextual', @@ -34,7 +38,7 @@ class LayoutBuilderUiTest extends WebDriverTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * {@inheritdoc} diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/MoveBlockFormTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/MoveBlockFormTest.php index 79e5179c8..4f7397030 100644 --- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/MoveBlockFormTest.php +++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/MoveBlockFormTest.php @@ -3,6 +3,7 @@ namespace Drupal\Tests\layout_builder\FunctionalJavascript; use Drupal\FunctionalJavascriptTests\WebDriverTestBase; +use Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay; use Drupal\Tests\contextual\FunctionalJavascript\ContextualLinkClickTrait; /** @@ -14,13 +15,6 @@ class MoveBlockFormTest extends WebDriverTestBase { use ContextualLinkClickTrait; - /** - * Path prefix for the field UI for the test bundle. - * - * @var string - */ - const FIELD_UI_PREFIX = 'admin/structure/types/manage/bundle_with_section_field'; - /** * {@inheritdoc} */ @@ -34,7 +28,7 @@ class MoveBlockFormTest extends WebDriverTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * {@inheritdoc} @@ -44,21 +38,25 @@ protected function setUp(): void { $page = $this->getSession()->getPage(); $assert_session = $this->assertSession(); + // @todo The Layout Builder UI relies on local tasks; fix in + // https://www.drupal.org/project/drupal/issues/2917777. + $this->drupalPlaceBlock('local_tasks_block'); + $this->createContentType(['type' => 'bundle_with_section_field']); + LayoutBuilderEntityViewDisplay::load('node.bundle_with_section_field.default') + ->enableLayoutBuilder() + ->setOverridable() + ->save(); + $this->createNode([ + 'type' => 'bundle_with_section_field', + ]); $this->drupalLogin($this->drupalCreateUser([ 'configure any layout', - 'administer node display', - 'administer node fields', 'access contextual links', ])); - // Enable layout builder. - $this->drupalGet(static::FIELD_UI_PREFIX . '/display/default'); - $this->submitForm(['layout[enabled]' => TRUE], 'Save'); - $page->clickLink('Manage layout'); - $assert_session->addressEquals(static::FIELD_UI_PREFIX . '/display/default/layout'); - + $this->drupalGet('node/1/layout'); $expected_block_order = [ '.block-extra-field-blocknodebundle-with-section-fieldlinks', '.block-field-blocknodebundle-with-section-fieldbody', @@ -98,6 +96,7 @@ protected function setUp(): void { */ public function testMoveBlock() { $page = $this->getSession()->getPage(); + $assert_session = $this->assertSession(); // Reorder body field in current region. $this->openBodyMoveForm(1, 'content', ['Links', 'Body (current)']); @@ -109,7 +108,7 @@ public function testMoveBlock() { ]; $this->assertRegionBlocksOrder(1, 'content', $expected_block_order); $page->pressButton('Save layout'); - $page->clickLink('Manage layout'); + $page->clickLink('Layout'); $this->assertRegionBlocksOrder(1, 'content', $expected_block_order); // Move the body block into the first region above existing block. @@ -128,7 +127,7 @@ public function testMoveBlock() { // Ensure the body block is no longer in the content region. $this->assertRegionBlocksOrder(1, 'content', ['.block-extra-field-blocknodebundle-with-section-fieldlinks']); $page->pressButton('Save layout'); - $page->clickLink('Manage layout'); + $page->clickLink('Layout'); $this->assertRegionBlocksOrder(0, 'first', $expected_block_order); // Move into the second region that has no existing blocks. @@ -137,6 +136,47 @@ public function testMoveBlock() { $this->assertBlockTable(['Body (current)']); $page->pressButton('Move'); $this->assertRegionBlocksOrder(0, 'second', ['.block-field-blocknodebundle-with-section-fieldbody']); + + // The weight element uses -10 to 10 by default, which can cause bugs. + // Add 25 'Powered by Drupal' blocks to a new section. + $page->clickLink('Add section'); + $assert_session->waitForElementVisible('css', '#drupal-off-canvas'); + $assert_session->assertWaitOnAjaxRequest(); + $page->clickLink('One column'); + $assert_session->assertWaitOnAjaxRequest(); + $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'input[value="Add section"]')); + $page->pressButton('Add section'); + $assert_session->assertNoElementAfterWait('css', '#drupal-off-canvas'); + $large_block_number = 25; + for ($i = 0; $i < $large_block_number; $i++) { + $assert_session->elementExists('css', '[data-layout-delta="0"].layout--onecol [data-region="content"] .layout-builder__add-block')->click(); + $this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-off-canvas a:contains("Powered by Drupal")')); + $assert_session->assertWaitOnAjaxRequest(); + $page->clickLink('Powered by Drupal'); + $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'input[value="Add block"]')); + $assert_session->assertWaitOnAjaxRequest(); + $page->pressButton('Add block'); + $assert_session->assertNoElementAfterWait('css', '#drupal-off-canvas'); + } + $first_region_block_locator = '[data-layout-delta="0"].layout--onecol [data-region="content"] [data-layout-block-uuid]'; + $assert_session->elementsCount('css', $first_region_block_locator, $large_block_number); + + // Move the Body block to the end of the new section. + $this->openBodyMoveForm(1, 'second', ['Body (current)']); + $page->selectFieldOption('Region', '0:content'); + $expected_block_table = array_fill(0, $large_block_number, 'Powered by Drupal'); + $expected_block_table[] = 'Body (current)'; + $this->assertBlockTable($expected_block_table); + $expected_block_table = array_fill(0, $large_block_number - 1, 'Powered by Drupal'); + $expected_block_table[] = 'Body (current)*'; + $expected_block_table[] = 'Powered by Drupal'; + $this->moveBlockWithKeyboard('up', 'Body', $expected_block_table); + $page->pressButton('Move'); + $assert_session->assertNoElementAfterWait('css', '#drupal-off-canvas'); + // Get all blocks currently in the region. + $blocks = $page->findAll('css', $first_region_block_locator); + // The second to last $block should be the body. + $this->assertTrue($blocks[count($blocks) - 2]->hasClass('block-field-blocknodebundle-with-section-fieldbody')); } /** diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/TestMultiWidthLayoutsTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/TestMultiWidthLayoutsTest.php index 9ec01e7cb..6ada06020 100644 --- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/TestMultiWidthLayoutsTest.php +++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/TestMultiWidthLayoutsTest.php @@ -3,6 +3,7 @@ namespace Drupal\Tests\layout_builder\FunctionalJavascript; use Drupal\FunctionalJavascriptTests\WebDriverTestBase; +use Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay; /** * Test the multi-width layout plugins. @@ -12,12 +13,8 @@ class TestMultiWidthLayoutsTest extends WebDriverTestBase { /** - * Path prefix for the field UI for the test bundle. - * - * @var string + * {@inheritdoc} */ - const FIELD_UI_PREFIX = 'admin/structure/types/manage/bundle_with_section_field'; - protected static $modules = [ 'layout_builder', 'block', @@ -36,11 +33,16 @@ protected function setUp(): void { parent::setUp(); $this->createContentType(['type' => 'bundle_with_section_field']); + LayoutBuilderEntityViewDisplay::load('node.bundle_with_section_field.default') + ->enableLayoutBuilder() + ->setOverridable() + ->save(); + $this->createNode([ + 'type' => 'bundle_with_section_field', + ]); $this->drupalLogin($this->drupalCreateUser([ 'configure any layout', - 'administer node display', - 'administer node fields', ])); } @@ -51,13 +53,7 @@ public function testWidthChange() { $assert_session = $this->assertSession(); $page = $this->getSession()->getPage(); - // Enable layout builder. - $this->drupalGet(static::FIELD_UI_PREFIX . '/display/default'); - $this->submitForm(['layout[enabled]' => TRUE], 'Save'); - - $this->clickLink('Manage layout'); - $assert_session->addressEquals(static::FIELD_UI_PREFIX . '/display/default/layout'); - + $this->drupalGet('node/1/layout'); $width_options = [ [ 'label' => 'Two column', diff --git a/web/core/modules/layout_builder/tests/src/Kernel/LayoutBuilderCompatibilityTestBase.php b/web/core/modules/layout_builder/tests/src/Kernel/LayoutBuilderCompatibilityTestBase.php index 629f530cc..526492f9f 100644 --- a/web/core/modules/layout_builder/tests/src/Kernel/LayoutBuilderCompatibilityTestBase.php +++ b/web/core/modules/layout_builder/tests/src/Kernel/LayoutBuilderCompatibilityTestBase.php @@ -46,8 +46,8 @@ protected function setUp() { // Set up a non-admin user that is allowed to view test entities. \Drupal::currentUser()->setAccount($this->createUser(['uid' => 2], ['view test entity'])); - \Drupal::service('theme_installer')->install(['classy']); - $this->config('system.theme')->set('default', 'classy')->save(); + \Drupal::service('theme_installer')->install(['starterkit_theme']); + $this->config('system.theme')->set('default', 'starterkit_theme')->save(); $field_storage = FieldStorageConfig::create([ 'entity_type' => 'entity_test_base_field_display', diff --git a/web/core/modules/layout_builder/tests/src/Unit/BlockComponentRenderArrayTest.php b/web/core/modules/layout_builder/tests/src/Unit/BlockComponentRenderArrayTest.php index 76281f873..9d797038d 100644 --- a/web/core/modules/layout_builder/tests/src/Unit/BlockComponentRenderArrayTest.php +++ b/web/core/modules/layout_builder/tests/src/Unit/BlockComponentRenderArrayTest.php @@ -120,6 +120,7 @@ public function testOnBuildRender($refinable_dependent_access) { '#base_plugin_id' => 'block_plugin_id', '#derivative_plugin_id' => NULL, 'content' => $block_content, + '#in_preview' => FALSE, ]; $expected_build_with_expected_cache = $expected_build + [ @@ -195,6 +196,7 @@ public function testOnBuildRenderWithoutPreviewFallbackString($refinable_depende '#base_plugin_id' => 'block_plugin_id', '#derivative_plugin_id' => NULL, 'content' => $block_content, + '#in_preview' => FALSE, ]; $expected_cache = $expected_build + [ @@ -324,6 +326,7 @@ public function testOnBuildRenderInPreview($refinable_dependent_access) { '#attributes' => [ 'data-layout-content-preview-placeholder-label' => $placeholder_label, ], + '#in_preview' => TRUE, ]; $expected_cache = $expected_build + [ @@ -332,6 +335,7 @@ public function testOnBuildRenderInPreview($refinable_dependent_access) { 'tags' => ['test'], 'max-age' => 0, ], + '#in_preview' => TRUE, ]; $subscriber->onBuildRender($event); @@ -383,6 +387,7 @@ public function testOnBuildRenderInPreviewEmptyBuild() { '#attributes' => [ 'data-layout-content-preview-placeholder-label' => $placeholder_string, ], + '#in_preview' => TRUE, ]; $expected_build['content']['#markup'] = $placeholder_string; @@ -392,6 +397,7 @@ public function testOnBuildRenderInPreviewEmptyBuild() { 'tags' => ['test'], 'max-age' => 0, ], + '#in_preview' => TRUE, ]; $subscriber->onBuildRender($event); @@ -477,12 +483,12 @@ public function testOnBuildRenderEmptyBuildWithCacheTags() { $expected_build = []; $expected_cache = $expected_build + [ - '#cache' => [ - 'contexts' => [], - 'tags' => ['empty_build_cache_test', 'test'], - 'max-age' => -1, - ], - ]; + '#cache' => [ + 'contexts' => [], + 'tags' => ['empty_build_cache_test', 'test'], + 'max-age' => -1, + ], + ]; $subscriber->onBuildRender($event); $result = $event->getBuild(); diff --git a/web/core/modules/layout_builder/tests/src/Unit/DefaultsSectionStorageTest.php b/web/core/modules/layout_builder/tests/src/Unit/DefaultsSectionStorageTest.php index 11aff3d47..162935d5b 100644 --- a/web/core/modules/layout_builder/tests/src/Unit/DefaultsSectionStorageTest.php +++ b/web/core/modules/layout_builder/tests/src/Unit/DefaultsSectionStorageTest.php @@ -9,6 +9,7 @@ use Drupal\Core\Entity\EntityTypeInterface; use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Entity\FieldableEntityInterface; +use Drupal\Core\Extension\ModuleHandlerInterface; use Drupal\Core\Plugin\Context\ContextDefinition; use Drupal\Core\Plugin\Context\ContextInterface; use Drupal\Core\Plugin\Context\EntityContextDefinition; @@ -220,6 +221,12 @@ public function testExtractEntityFromRouteCreate() { * @covers \Drupal\layout_builder\Routing\LayoutBuilderRoutesTrait::buildLayoutRoutes */ public function testBuildRoutes() { + $module_handler = $this->prophesize(ModuleHandlerInterface::class); + $module_handler->moduleExists('field_ui')->willReturn(TRUE); + $container = new ContainerBuilder(); + $container->set('module_handler', $module_handler->reveal()); + \Drupal::setContainer($container); + $entity_types = []; $not_fieldable = $this->prophesize(EntityTypeInterface::class); @@ -405,4 +412,19 @@ public function testBuildRoutes() { $this->assertSame(array_keys($expected), array_keys($collection->all())); } + /** + * @covers ::buildRoutes + */ + public function testBuildRoutesNoFieldUi() { + $module_handler = $this->prophesize(ModuleHandlerInterface::class); + $module_handler->moduleExists('field_ui')->willReturn(FALSE); + $container = new ContainerBuilder(); + $container->set('module_handler', $module_handler->reveal()); + \Drupal::setContainer($container); + + $collection = new RouteCollection(); + $this->plugin->buildRoutes($collection); + $this->assertEmpty($collection->all()); + } + } diff --git a/web/core/modules/layout_builder/tests/src/Unit/SectionRenderTest.php b/web/core/modules/layout_builder/tests/src/Unit/SectionRenderTest.php index fe9fbdc35..a149ff846 100644 --- a/web/core/modules/layout_builder/tests/src/Unit/SectionRenderTest.php +++ b/web/core/modules/layout_builder/tests/src/Unit/SectionRenderTest.php @@ -115,6 +115,7 @@ public function testToRenderArray() { 'tags' => [], 'max-age' => -1, ], + '#in_preview' => FALSE, ]; $block = $this->prophesize(BlockPluginInterface::class)->willImplement(PreviewFallbackInterface::class); @@ -198,6 +199,7 @@ public function testToRenderArrayPreview() { 'tags' => [], 'max-age' => 0, ], + '#in_preview' => TRUE, ]; $block = $this->prophesize(BlockPluginInterface::class)->willImplement(PreviewFallbackInterface::class); $this->blockManager->createInstance('block_plugin_id', ['id' => 'block_plugin_id'])->willReturn($block->reveal()); @@ -254,6 +256,7 @@ public function testContextAwareBlock() { 'tags' => [], 'max-age' => -1, ], + '#in_preview' => FALSE, ]; $block = $this->prophesize(BlockPluginInterface::class) diff --git a/web/core/modules/layout_discovery/layout_discovery.module b/web/core/modules/layout_discovery/layout_discovery.module index ce08617e0..efc9d3b30 100644 --- a/web/core/modules/layout_discovery/layout_discovery.module +++ b/web/core/modules/layout_discovery/layout_discovery.module @@ -34,11 +34,12 @@ function layout_discovery_theme() { * @param array &$variables * An associative array containing: * - content: An associative array containing the properties of the element. - * Properties used: #settings, #layout. + * Properties used: #settings, #layout, #in_preview. */ function template_preprocess_layout(&$variables) { $variables['settings'] = $variables['content']['#settings'] ?? []; $variables['layout'] = $variables['content']['#layout'] ?? []; + $variables['in_preview'] = $variables['content']['#in_preview'] ?? FALSE; // Create an attributes variable for each region. foreach (Element::children($variables['content']) as $name) { diff --git a/web/core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig b/web/core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig index 3a7f9934d..01d61e009 100644 --- a/web/core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig +++ b/web/core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig @@ -4,6 +4,7 @@ * Default theme implementation to display a one-column layout. * * Available variables: + * - in_preview: Whether the plugin is being rendered in preview mode. * - content: The content for this layout. * - attributes: HTML attributes for the layout
                                              . * diff --git a/web/core/modules/layout_discovery/layouts/threecol_25_50_25/layout--threecol-25-50-25.html.twig b/web/core/modules/layout_discovery/layouts/threecol_25_50_25/layout--threecol-25-50-25.html.twig index e5441d8b6..cd226f020 100644 --- a/web/core/modules/layout_discovery/layouts/threecol_25_50_25/layout--threecol-25-50-25.html.twig +++ b/web/core/modules/layout_discovery/layouts/threecol_25_50_25/layout--threecol-25-50-25.html.twig @@ -7,6 +7,7 @@ * additional areas for the top and the bottom. * * Available variables: + * - in_preview: Whether the plugin is being rendered in preview mode. * - content: The content for this layout. * - attributes: HTML attributes for the layout
                                              . * diff --git a/web/core/modules/layout_discovery/layouts/threecol_33_34_33/layout--threecol-33-34-33.html.twig b/web/core/modules/layout_discovery/layouts/threecol_33_34_33/layout--threecol-33-34-33.html.twig index 6445061c0..762cece8c 100644 --- a/web/core/modules/layout_discovery/layouts/threecol_33_34_33/layout--threecol-33-34-33.html.twig +++ b/web/core/modules/layout_discovery/layouts/threecol_33_34_33/layout--threecol-33-34-33.html.twig @@ -7,6 +7,7 @@ * additional areas for the top and the bottom. * * Available variables: + * - in_preview: Whether the plugin is being rendered in preview mode. * - content: The content for this layout. * - attributes: HTML attributes for the layout
                                              . * diff --git a/web/core/modules/layout_discovery/layouts/twocol/layout--twocol.html.twig b/web/core/modules/layout_discovery/layouts/twocol/layout--twocol.html.twig index 262c657f9..11939907b 100644 --- a/web/core/modules/layout_discovery/layouts/twocol/layout--twocol.html.twig +++ b/web/core/modules/layout_discovery/layouts/twocol/layout--twocol.html.twig @@ -4,6 +4,7 @@ * Default theme implementation to display a two-column layout. * * Available variables: + * - in_preview: Whether the plugin is being rendered in preview mode. * - content: The content for this layout. * - attributes: HTML attributes for the layout
                                              . * diff --git a/web/core/modules/layout_discovery/layouts/twocol_bricks/layout--twocol-bricks.html.twig b/web/core/modules/layout_discovery/layouts/twocol_bricks/layout--twocol-bricks.html.twig index dc29e03e4..f772834f5 100644 --- a/web/core/modules/layout_discovery/layouts/twocol_bricks/layout--twocol-bricks.html.twig +++ b/web/core/modules/layout_discovery/layouts/twocol_bricks/layout--twocol-bricks.html.twig @@ -7,6 +7,7 @@ * the top, bottom and in the middle. * * Available variables: + * - in_preview: Whether the plugin is being rendered in preview mode. * - content: The content for this layout. * - attributes: HTML attributes for the layout
                                              . * diff --git a/web/core/modules/link/src/LinkItemInterface.php b/web/core/modules/link/src/LinkItemInterface.php index 530617044..ed726473a 100644 --- a/web/core/modules/link/src/LinkItemInterface.php +++ b/web/core/modules/link/src/LinkItemInterface.php @@ -37,6 +37,9 @@ public function isExternal(); * * @return \Drupal\Core\Url * Returns a Url object. + * + * @throws \InvalidArgumentException + * Thrown when there is a problem with field data. */ public function getUrl(); diff --git a/web/core/modules/link/src/Plugin/Field/FieldFormatter/LinkFormatter.php b/web/core/modules/link/src/Plugin/Field/FieldFormatter/LinkFormatter.php index 83f1a2f27..2cce67779 100644 --- a/web/core/modules/link/src/Plugin/Field/FieldFormatter/LinkFormatter.php +++ b/web/core/modules/link/src/Plugin/Field/FieldFormatter/LinkFormatter.php @@ -94,21 +94,21 @@ public function settingsForm(array $form, FormStateInterface $form_state) { $elements['trim_length'] = [ '#type' => 'number', - '#title' => t('Trim link text length'), - '#field_suffix' => t('characters'), + '#title' => $this->t('Trim link text length'), + '#field_suffix' => $this->t('characters'), '#default_value' => $this->getSetting('trim_length'), '#min' => 1, - '#description' => t('Leave blank to allow unlimited link text lengths.'), + '#description' => $this->t('Leave blank to allow unlimited link text lengths.'), ]; $elements['url_only'] = [ '#type' => 'checkbox', - '#title' => t('URL only'), + '#title' => $this->t('URL only'), '#default_value' => $this->getSetting('url_only'), '#access' => $this->getPluginId() == 'link', ]; $elements['url_plain'] = [ '#type' => 'checkbox', - '#title' => t('Show URL as plain text'), + '#title' => $this->t('Show URL as plain text'), '#default_value' => $this->getSetting('url_plain'), '#access' => $this->getPluginId() == 'link', '#states' => [ @@ -119,13 +119,13 @@ public function settingsForm(array $form, FormStateInterface $form_state) { ]; $elements['rel'] = [ '#type' => 'checkbox', - '#title' => t('Add rel="nofollow" to links'), + '#title' => $this->t('Add rel="nofollow" to links'), '#return_value' => 'nofollow', '#default_value' => $this->getSetting('rel'), ]; $elements['target'] = [ '#type' => 'checkbox', - '#title' => t('Open link in new window'), + '#title' => $this->t('Open link in new window'), '#return_value' => '_blank', '#default_value' => $this->getSetting('target'), ]; @@ -142,24 +142,24 @@ public function settingsSummary() { $settings = $this->getSettings(); if (!empty($settings['trim_length'])) { - $summary[] = t('Link text trimmed to @limit characters', ['@limit' => $settings['trim_length']]); + $summary[] = $this->t('Link text trimmed to @limit characters', ['@limit' => $settings['trim_length']]); } else { - $summary[] = t('Link text not trimmed'); + $summary[] = $this->t('Link text not trimmed'); } if ($this->getPluginId() == 'link' && !empty($settings['url_only'])) { if (!empty($settings['url_plain'])) { - $summary[] = t('Show URL only as plain-text'); + $summary[] = $this->t('Show URL only as plain-text'); } else { - $summary[] = t('Show URL only'); + $summary[] = $this->t('Show URL only'); } } if (!empty($settings['rel'])) { - $summary[] = t('Add rel="@rel"', ['@rel' => $settings['rel']]); + $summary[] = $this->t('Add rel="@rel"', ['@rel' => $settings['rel']]); } if (!empty($settings['target'])) { - $summary[] = t('Open link in new window'); + $summary[] = $this->t('Open link in new window'); } return $summary; @@ -237,7 +237,13 @@ public function viewElements(FieldItemListInterface $items, $langcode) { * A Url object. */ protected function buildUrl(LinkItemInterface $item) { - $url = $item->getUrl() ?: Url::fromRoute(''); + try { + $url = $item->getUrl(); + } + catch (\InvalidArgumentException $e) { + // @todo Add logging here in https://www.drupal.org/project/drupal/issues/3348020 + $url = Url::fromRoute(''); + } $settings = $this->getSettings(); $options = $item->options; diff --git a/web/core/modules/link/src/Plugin/Field/FieldType/LinkItem.php b/web/core/modules/link/src/Plugin/Field/FieldType/LinkItem.php index 84556f8be..9154eee1c 100644 --- a/web/core/modules/link/src/Plugin/Field/FieldType/LinkItem.php +++ b/web/core/modules/link/src/Plugin/Field/FieldType/LinkItem.php @@ -10,6 +10,7 @@ use Drupal\Core\TypedData\DataDefinition; use Drupal\Core\TypedData\MapDataDefinition; use Drupal\Core\Url; +use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\link\LinkItemInterface; /** @@ -41,13 +42,13 @@ public static function defaultFieldSettings() { */ public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) { $properties['uri'] = DataDefinition::create('uri') - ->setLabel(t('URI')); + ->setLabel(new TranslatableMarkup('URI')); $properties['title'] = DataDefinition::create('string') - ->setLabel(t('Link text')); + ->setLabel(new TranslatableMarkup('Link text')); $properties['options'] = MapDataDefinition::create() - ->setLabel(t('Options')); + ->setLabel(new TranslatableMarkup('Options')); return $properties; } @@ -89,23 +90,23 @@ public function fieldSettingsForm(array $form, FormStateInterface $form_state) { $element['link_type'] = [ '#type' => 'radios', - '#title' => t('Allowed link type'), + '#title' => $this->t('Allowed link type'), '#default_value' => $this->getSetting('link_type'), '#options' => [ - static::LINK_INTERNAL => t('Internal links only'), - static::LINK_EXTERNAL => t('External links only'), - static::LINK_GENERIC => t('Both internal and external links'), + static::LINK_INTERNAL => $this->t('Internal links only'), + static::LINK_EXTERNAL => $this->t('External links only'), + static::LINK_GENERIC => $this->t('Both internal and external links'), ], ]; $element['title'] = [ '#type' => 'radios', - '#title' => t('Allow link text'), + '#title' => $this->t('Allow link text'), '#default_value' => $this->getSetting('title'), '#options' => [ - DRUPAL_DISABLED => t('Disabled'), - DRUPAL_OPTIONAL => t('Optional'), - DRUPAL_REQUIRED => t('Required'), + DRUPAL_DISABLED => $this->t('Disabled'), + DRUPAL_OPTIONAL => $this->t('Optional'), + DRUPAL_REQUIRED => $this->t('Required'), ], ]; diff --git a/web/core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php b/web/core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php index 3d6d80f62..ebc3ee61e 100644 --- a/web/core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php +++ b/web/core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php @@ -2,6 +2,7 @@ namespace Drupal\link\Plugin\Field\FieldWidget; +use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\Core\Url; use Drupal\Core\Entity\Element\EntityAutocomplete; use Drupal\Core\Field\FieldItemListInterface; @@ -147,7 +148,7 @@ public static function validateUriElement($element, FormStateInterface $form_sta // @todo '' is valid input for BC reasons, may be removed by // https://www.drupal.org/node/2421941 if (parse_url($uri, PHP_URL_SCHEME) === 'internal' && !in_array($element['#value'][0], ['/', '?', '#'], TRUE) && substr($element['#value'], 0, 7) !== '') { - $form_state->setError($element, t('Manually entered paths should start with one of the following characters: / ? #')); + $form_state->setError($element, new TranslatableMarkup('Manually entered paths should start with one of the following characters: / ? #')); return; } } @@ -159,9 +160,9 @@ public static function validateUriElement($element, FormStateInterface $form_sta */ public static function validateTitleElement(&$element, FormStateInterface $form_state, $form) { if ($element['uri']['#value'] !== '' && $element['title']['#value'] === '') { - // We expect the field name placeholder value to be wrapped in t() here, + // We expect the field name placeholder value to be wrapped in $this->t() here, // so it won't be escaped again as it's already marked safe. - $form_state->setError($element['title'], t('@title field is required if there is @uri input.', ['@title' => $element['title']['#title'], '@uri' => $element['uri']['#title']])); + $form_state->setError($element['title'], new TranslatableMarkup('@title field is required if there is @uri input.', ['@title' => $element['title']['#title'], '@uri' => $element['uri']['#title']])); } } @@ -172,7 +173,7 @@ public static function validateTitleElement(&$element, FormStateInterface $form_ */ public static function validateTitleNoLink(&$element, FormStateInterface $form_state, $form) { if ($element['uri']['#value'] === '' && $element['title']['#value'] !== '') { - $form_state->setError($element['uri'], t('The @uri field is required when the @title field is specified.', ['@title' => $element['title']['#title'], '@uri' => $element['uri']['#title']])); + $form_state->setError($element['uri'], new TranslatableMarkup('The @uri field is required when the @title field is specified.', ['@title' => $element['title']['#title'], '@uri' => $element['uri']['#title']])); } } diff --git a/web/core/modules/link/tests/src/Functional/LinkFieldTest.php b/web/core/modules/link/tests/src/Functional/LinkFieldTest.php index be98be91f..9f1255bce 100644 --- a/web/core/modules/link/tests/src/Functional/LinkFieldTest.php +++ b/web/core/modules/link/tests/src/Functional/LinkFieldTest.php @@ -55,6 +55,9 @@ class LinkFieldTest extends BrowserTestBase { */ protected $field; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -65,10 +68,24 @@ protected function setUp(): void { ])); } + /** + * Tests the functionality and rendering of the link field. + * + * This is being as one to avoid multiple Drupal install. + */ + public function testLinkField() { + $this->doTestURLValidation(); + $this->doTestLinkTitle(); + $this->doTestLinkFormatter(); + $this->doTestLinkSeparateFormatter(); + $this->doTestEditNonNodeEntityLink(); + $this->doTestLinkTypeOnLinkWidget(); + } + /** * Tests link field URL validation. */ - public function testURLValidation() { + protected function doTestURLValidation() { $field_name = mb_strtolower($this->randomMachineName()); // Create a field with settings to validate. $this->fieldStorage = FieldStorageConfig::create([ @@ -252,7 +269,7 @@ protected function assertInvalidEntries(string $field_name, array $invalid_entri /** * Tests the link title settings of a link field. */ - public function testLinkTitle() { + protected function doTestLinkTitle() { $field_name = mb_strtolower($this->randomMachineName()); // Create a field with settings to validate. $this->fieldStorage = FieldStorageConfig::create([ @@ -377,7 +394,7 @@ public function testLinkTitle() { /** * Tests the default 'link' formatter. */ - public function testLinkFormatter() { + protected function doTestLinkFormatter() { $field_name = mb_strtolower($this->randomMachineName()); // Create a field with settings to validate. $this->fieldStorage = FieldStorageConfig::create([ @@ -534,7 +551,7 @@ public function testLinkFormatter() { * This test is mostly the same as testLinkFormatter(), but they cannot be * merged, since they involve different configuration and output. */ - public function testLinkSeparateFormatter() { + protected function doTestLinkSeparateFormatter() { $field_name = mb_strtolower($this->randomMachineName()); // Create a field with settings to validate. $this->fieldStorage = FieldStorageConfig::create([ @@ -661,7 +678,7 @@ public function testLinkSeparateFormatter() { * a link and also which LinkItemInterface::LINK_* is (EXTERNAL, GENERIC, * INTERNAL). */ - public function testLinkTypeOnLinkWidget() { + protected function doTestLinkTypeOnLinkWidget() { $link_type = LinkItemInterface::LINK_EXTERNAL; $field_name = mb_strtolower($this->randomMachineName()); @@ -699,7 +716,7 @@ public function testLinkTypeOnLinkWidget() { /** * Tests editing a link to a non-node entity. */ - public function testEditNonNodeEntityLink() { + protected function doTestEditNonNodeEntityLink() { $entity_type_manager = \Drupal::entityTypeManager(); $entity_test_storage = $entity_type_manager->getStorage('entity_test'); diff --git a/web/core/modules/link/tests/src/Kernel/LinkItemTest.php b/web/core/modules/link/tests/src/Kernel/LinkItemTest.php index ce608f00b..5f4d0819b 100644 --- a/web/core/modules/link/tests/src/Kernel/LinkItemTest.php +++ b/web/core/modules/link/tests/src/Kernel/LinkItemTest.php @@ -26,6 +26,9 @@ class LinkItemTest extends FieldKernelTestBase { */ protected static $modules = ['link']; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/link/tests/src/Unit/Plugin/Validation/Constraint/LinkAccessConstraintValidatorTest.php b/web/core/modules/link/tests/src/Unit/Plugin/Validation/Constraint/LinkAccessConstraintValidatorTest.php index e7aa0e0d8..5e2d911d2 100644 --- a/web/core/modules/link/tests/src/Unit/Plugin/Validation/Constraint/LinkAccessConstraintValidatorTest.php +++ b/web/core/modules/link/tests/src/Unit/Plugin/Validation/Constraint/LinkAccessConstraintValidatorTest.php @@ -16,8 +16,7 @@ class LinkAccessConstraintValidatorTest extends UnitTestCase { /** - * Tests the \Drupal\link\Plugin\Validation\Constraint\LinkAccessConstraintValidator::validate() - * method. + * Tests the access validation constraint for links. * * @param \Drupal\link\LinkItemInterface $value * The link item. diff --git a/web/core/modules/locale/locale.admin.js b/web/core/modules/locale/locale.admin.js index b01f9a8d8..49c6c8b73 100644 --- a/web/core/modules/locale/locale.admin.js +++ b/web/core/modules/locale/locale.admin.js @@ -4,12 +4,10 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal) { Drupal.behaviors.localeTranslateDirty = { attach: function attach() { var form = once('localetranslatedirty', '#locale-translate-edit-form'); - if (form.length) { var $form = $(form); $form.one('formUpdated.localeTranslateDirty', 'table', function () { @@ -22,7 +20,6 @@ var rowToMark = once('localemark', $row); var marker = Drupal.theme('localeTranslateChangedMarker'); $row.addClass('changed'); - if (rowToMark.length) { $(rowToMark).find('td:first-child .js-form-item').append(marker); } @@ -32,7 +29,6 @@ detach: function detach(context, settings, trigger) { if (trigger === 'unload') { var form = once.remove('localetranslatedirty', '#locale-translate-edit-form'); - if (form.length) { $(form).off('formUpdated.localeTranslateDirty'); } @@ -42,7 +38,6 @@ Drupal.behaviors.hideUpdateInformation = { attach: function attach(context, settings) { var table = once('expand-updates', '#locale-translation-status-form'); - if (table.length) { var $table = $(table); var $tbodies = $table.find('tbody'); @@ -50,12 +45,10 @@ if (e.keyCode && e.keyCode !== 13 && e.keyCode !== 32) { return; } - e.preventDefault(); var $tr = $(this).closest('tr'); $tr.toggleClass('expanded'); var $localePrefix = $tr.find('.locale-translation-update__prefix'); - if ($localePrefix.length) { $localePrefix[0].textContent = $tr.hasClass('expanded') ? Drupal.t('Hide description') : Drupal.t('Show description'); } diff --git a/web/core/modules/locale/locale.batch.inc b/web/core/modules/locale/locale.batch.inc index 106bc62b7..2b956e873 100644 --- a/web/core/modules/locale/locale.batch.inc +++ b/web/core/modules/locale/locale.batch.inc @@ -119,7 +119,7 @@ function locale_translation_batch_status_finished($success, $results) { if (!isset($results['failed_files']) && !isset($results['files'])) { \Drupal::messenger()->addStatus(t('Nothing to check.')); } - \Drupal::state()->set('locale.translation_last_checked', REQUEST_TIME); + \Drupal::state()->set('locale.translation_last_checked', \Drupal::time()->getRequestTime()); } else { \Drupal::messenger()->addError(t('An error occurred trying to check available interface translation updates.')); @@ -219,7 +219,7 @@ function locale_translation_batch_fetch_import($project, $langcode, $options, &$ function locale_translation_batch_fetch_finished($success, $results) { \Drupal::moduleHandler()->loadInclude('locale', 'inc', 'locale.bulk'); if ($success) { - \Drupal::state()->set('locale.translation_last_checked', REQUEST_TIME); + \Drupal::state()->set('locale.translation_last_checked', \Drupal::time()->getRequestTime()); } return locale_translate_batch_finished($success, $results); } diff --git a/web/core/modules/locale/locale.bulk.inc b/web/core/modules/locale/locale.bulk.inc index 611d44b85..a2672c3e9 100644 --- a/web/core/modules/locale/locale.bulk.inc +++ b/web/core/modules/locale/locale.bulk.inc @@ -275,6 +275,7 @@ function locale_translate_batch_import($file, array $options, &$context) { */ function locale_translate_batch_import_save($context) { if (isset($context['results']['files'])) { + $request_time = \Drupal::time()->getRequestTime(); foreach ($context['results']['files'] as $file) { // Update the file history if both project and version are known. This // table is used by the automated translation update function which tracks @@ -282,7 +283,7 @@ function locale_translate_batch_import_save($context) { // translation files are not tracked and are therefore not stored in this // table. if ($file->project && $file->version) { - $file->last_checked = REQUEST_TIME; + $file->last_checked = $request_time; locale_translation_update_file_history($file); } } @@ -537,14 +538,19 @@ function locale_translate_delete_translation_files(array $projects = [], array $ * @param array $components * (optional) Array of component lists indexed by type. If not present or it * is an empty array, it will update all components. + * @param bool $update_default_config_langcodes + * Determines whether default configuration langcodes should be updated. This + * Should only happen during site and extension install. * * @return array * The batch definition. */ -function locale_config_batch_update_components(array $options, array $langcodes = [], array $components = []) { +function locale_config_batch_update_components(array $options, array $langcodes = [], array $components = [], bool $update_default_config_langcodes = FALSE) { $langcodes = $langcodes ? $langcodes : array_keys(\Drupal::languageManager()->getLanguages()); if ($langcodes && $names = Locale::config()->getComponentNames($components)) { - return locale_config_batch_build($names, $langcodes, $options); + // If the component list is empty we need to ensure that all configuration + // in the default collection is using the site's default langcode. + return locale_config_batch_build($names, $langcodes, $options, $update_default_config_langcodes); } } @@ -559,19 +565,27 @@ function locale_config_batch_update_components(array $options, array $langcodes * (optional) An array with options that can have the following elements: * - 'finish_feedback': Whether or not to give feedback to the user when the * batch is finished. Defaults to TRUE. + * @param bool $update_default_config_langcodes + * Determines whether default configuration langcodes should be updated. This + * Should only happen during site and extension install. * * @return array * The batch definition. * * @see locale_config_batch_refresh_name() */ -function locale_config_batch_build(array $names, array $langcodes, array $options = []) { +function locale_config_batch_build(array $names, array $langcodes, array $options = [], bool $update_default_config_langcodes = FALSE) { $options += ['finish_feedback' => TRUE]; $batch_builder = (new BatchBuilder()) ->setFile(\Drupal::service('extension.list.module')->getPath('locale') . '/locale.bulk.inc') ->setTitle(t('Updating configuration translations')) ->setInitMessage(t('Starting configuration update')) ->setErrorMessage(t('Error updating configuration translations')); + + if ($update_default_config_langcodes && \Drupal::languageManager()->getDefaultLanguage()->getId() !== 'en') { + $batch_builder->addOperation('locale_config_batch_set_config_langcodes'); + } + $i = 0; $batch_names = []; foreach ($names as $name) { @@ -595,6 +609,20 @@ function locale_config_batch_build(array $names, array $langcodes, array $option return $batch_builder->toArray(); } +/** + * Implements callback_batch_operation(). + * + * Updates default configuration when new modules or themes are installed. + * + * @param array|\ArrayAccess $context + * The batch context. + */ +function locale_config_batch_set_config_langcodes(&$context) { + Locale::config()->updateDefaultConfigLangcodes(); + $context['finished'] = 1; + $context['message'] = t('Updated default configuration to %langcode', ['%langcode' => \Drupal::languageManager()->getDefaultLanguage()->getId()]); +} + /** * Implements callback_batch_operation(). * diff --git a/web/core/modules/locale/locale.bulk.js b/web/core/modules/locale/locale.bulk.js index 80c284109..da2e27151 100644 --- a/web/core/modules/locale/locale.bulk.js +++ b/web/core/modules/locale/locale.bulk.js @@ -4,18 +4,15 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal) { Drupal.behaviors.importLanguageCodeSelector = { attach: function attach(context, settings) { var form = once('autodetect-lang', '#locale-translate-import-form'); - if (form.length) { var $form = $(form); var $langcode = $form.find('.langcode-input'); $form.find('.file-import-input').on('change', function () { var matches = this.value.match(/([^.][.]*)([\w-]+)\.po$/); - if (matches && $langcode.find("option[value=\"".concat(matches[2], "\"]")).length) { $langcode[0].value = matches[2]; } diff --git a/web/core/modules/locale/locale.compare.inc b/web/core/modules/locale/locale.compare.inc index 9b0209fd5..1fb10f513 100644 --- a/web/core/modules/locale/locale.compare.inc +++ b/web/core/modules/locale/locale.compare.inc @@ -191,7 +191,7 @@ function locale_translation_check_projects($projects = [], $langcodes = []) { else { // Retrieve and save the status of local translations only. locale_translation_check_projects_local($projects, $langcodes); - \Drupal::state()->set('locale.translation_last_checked', REQUEST_TIME); + \Drupal::state()->set('locale.translation_last_checked', \Drupal::time()->getRequestTime()); } } @@ -253,8 +253,7 @@ function locale_translation_batch_status_build($projects = [], $langcodes = []) } /** - * Helper function to construct batch operations checking remote translation - * status. + * Constructs batch operations for checking remote translation status. * * @param array $projects * Array of project names to be processed. diff --git a/web/core/modules/locale/locale.module b/web/core/modules/locale/locale.module index 1bf5ba134..063132691 100644 --- a/web/core/modules/locale/locale.module +++ b/web/core/modules/locale/locale.module @@ -117,14 +117,16 @@ const LOCALE_TRANSLATION_STATUS_TTL = 600; const LOCALE_TRANSLATION_OVERWRITE_ALL = 'all'; /** - * UI option for override of existing translations. Only override non-customized - * translations. + * UI option for override of existing translations. + * + * Only override non-customized translations. */ const LOCALE_TRANSLATION_OVERWRITE_NON_CUSTOMIZED = 'non_customized'; /** - * UI option for override of existing translations. Don't override existing - * translations. + * UI option for override of existing translations. + * + * Don't override existing translations. */ const LOCALE_TRANSLATION_OVERWRITE_NONE = 'none'; @@ -317,8 +319,6 @@ function locale_get_plural($count, $langcode = NULL) { * Implements hook_modules_installed(). */ function locale_modules_installed($modules) { - locale_system_set_config_langcodes(); - $components['module'] = $modules; locale_system_update($components); } @@ -335,8 +335,6 @@ function locale_module_preuninstall($module) { * Implements hook_themes_installed(). */ function locale_themes_installed($themes) { - locale_system_set_config_langcodes(); - $components['theme'] = $themes; locale_system_update($components); } @@ -368,28 +366,7 @@ function locale_cron() { * Updates default configuration when new modules or themes are installed. */ function locale_system_set_config_langcodes() { - // Need to rewrite some default configuration language codes if the default - // site language is not English. - $default_langcode = \Drupal::languageManager()->getDefaultLanguage()->getId(); - if ($default_langcode != 'en') { - // Update active configuration copies of all prior shipped configuration if - // they are still English. It is not enough to change configuration shipped - // with the components just installed, because installing a component such - // as views or tour module may bring in default configuration from prior - // components. - $names = Locale::config()->getComponentNames(); - foreach ($names as $name) { - $config = \Drupal::configFactory()->reset($name)->getEditable($name); - // Should only update if still exists in active configuration. If locale - // module is enabled later, then some configuration may not exist anymore. - if (!$config->isNew()) { - $langcode = $config->get('langcode'); - if (empty($langcode) || $langcode == 'en') { - $config->set('langcode', $default_langcode)->save(); - } - } - } - } + Locale::config()->updateDefaultConfigLangcodes(); } /** @@ -433,7 +410,7 @@ function locale_system_update(array $components) { // components. Do this even if import is not enabled because parsing new // configuration may expose new source strings. $module_handler->loadInclude('locale', 'inc', 'locale.bulk'); - if ($batch = locale_config_batch_update_components([])) { + if ($batch = locale_config_batch_update_components([], [], [], TRUE)) { batch_set($batch); } } @@ -491,7 +468,6 @@ function locale_cache_flush() { * Implements hook_js_alter(). */ function locale_js_alter(&$javascript, AttachedAssetsInterface $assets) { - // @todo Remove this in https://www.drupal.org/node/2421323. $files = []; foreach ($javascript as $item) { if (isset($item['type']) && $item['type'] == 'file') { @@ -912,6 +888,7 @@ function locale_translation_status_save($project, $langcode, $type, $data) { // Merge the new status data with the existing status. if (isset($status[$project][$langcode])) { + $request_time = \Drupal::time()->getRequestTime(); switch ($type) { case LOCALE_TRANSLATION_REMOTE: case LOCALE_TRANSLATION_LOCAL: @@ -923,14 +900,14 @@ function locale_translation_status_save($project, $langcode, $type, $data) { if (isset($data->timestamp) && $data->timestamp) { if ($data->timestamp > $status[$project][$langcode]->timestamp) { $status[$project][$langcode]->timestamp = $data->timestamp; - $status[$project][$langcode]->last_checked = REQUEST_TIME; + $status[$project][$langcode]->last_checked = $request_time; $status[$project][$langcode]->type = $type; } } break; case LOCALE_TRANSLATION_CURRENT: - $data->last_checked = REQUEST_TIME; + $data->last_checked = $request_time; $status[$project][$langcode]->timestamp = $data->timestamp; $status[$project][$langcode]->last_checked = $data->last_checked; $status[$project][$langcode]->type = $type; @@ -939,7 +916,7 @@ function locale_translation_status_save($project, $langcode, $type, $data) { } \Drupal::keyValue('locale.translation_status')->set($project, $status[$project]); - \Drupal::state()->set('locale.translation_last_checked', REQUEST_TIME); + \Drupal::state()->set('locale.translation_last_checked', $request_time); } } @@ -1053,7 +1030,7 @@ function _locale_refresh_translations($langcodes, $lids = []) { if (!empty($langcodes)) { // Update javascript translations if any of the strings has a javascript // location, or if no string ids were provided, update all languages. - if (empty($lids) || ($strings = \Drupal::service('locale.storage')->getStrings(['lid' => $lids, 'type' => 'javascript']))) { + if (empty($lids) || !empty(\Drupal::service('locale.storage')->getStrings(['lid' => $lids, 'type' => 'javascript']))) { array_map('_locale_invalidate_js', $langcodes); } } @@ -1090,8 +1067,9 @@ function _locale_strip_quotes($string) { } /** - * Parses a JavaScript file, extracts strings wrapped in Drupal.t() and - * Drupal.formatPlural() and inserts them into the database. + * Parses a JavaScript file, extracts translatable strings, and saves them. + * + * Strings are extracted from both Drupal.t() and Drupal.formatPlural(). * * @param string $filepath * File name to parse. diff --git a/web/core/modules/locale/locale.translation.inc b/web/core/modules/locale/locale.translation.inc index efd1aad13..c87913965 100644 --- a/web/core/modules/locale/locale.translation.inc +++ b/web/core/modules/locale/locale.translation.inc @@ -331,7 +331,8 @@ function locale_cron_fill_queue() { $config = \Drupal::config('locale.settings'); // Determine which project+language should be updated. - $last = REQUEST_TIME - $config->get('translation.update_interval_days') * 3600 * 24; + $request_time = \Drupal::time()->getRequestTime(); + $last = $request_time - $config->get('translation.update_interval_days') * 3600 * 24; $projects = \Drupal::service('locale.project')->getAll(); $projects = array_filter($projects, function ($project) { return $project['status'] == 1; @@ -348,7 +349,7 @@ function locale_cron_fill_queue() { // Update the last_checked timestamp of the project+language that will // be checked for updates. $connection->update('locale_file') - ->fields(['last_checked' => REQUEST_TIME]) + ->fields(['last_checked' => $request_time]) ->condition('project', $file->project) ->condition('langcode', $file->langcode) ->execute(); diff --git a/web/core/modules/locale/src/LocaleConfigManager.php b/web/core/modules/locale/src/LocaleConfigManager.php index 2ebdd735c..bb265cbc8 100644 --- a/web/core/modules/locale/src/LocaleConfigManager.php +++ b/web/core/modules/locale/src/LocaleConfigManager.php @@ -649,4 +649,34 @@ protected function filterOverride(array $override_data, array $translatable) { return $filtered_data; } + /** + * Updates default configuration when new modules or themes are installed. + */ + public function updateDefaultConfigLangcodes() { + $this->isUpdatingFromLocale = TRUE; + // Need to rewrite some default configuration language codes if the default + // site language is not English. + $default_langcode = $this->languageManager->getDefaultLanguage()->getId(); + if ($default_langcode != 'en') { + // Update active configuration copies of all prior shipped configuration if + // they are still English. It is not enough to change configuration shipped + // with the components just installed, because installing a component such + // as views or tour module may bring in default configuration from prior + // components. + $names = $this->getComponentNames(); + foreach ($names as $name) { + $config = $this->configFactory->reset($name)->getEditable($name); + // Should only update if still exists in active configuration. If locale + // module is enabled later, then some configuration may not exist anymore. + if (!$config->isNew()) { + $langcode = $config->get('langcode'); + if (empty($langcode) || $langcode == 'en') { + $config->set('langcode', $default_langcode)->save(); + } + } + } + } + $this->isUpdatingFromLocale = FALSE; + } + } diff --git a/web/core/modules/locale/src/LocaleEvent.php b/web/core/modules/locale/src/LocaleEvent.php index 8851dddc4..5fa780efe 100644 --- a/web/core/modules/locale/src/LocaleEvent.php +++ b/web/core/modules/locale/src/LocaleEvent.php @@ -21,7 +21,7 @@ class LocaleEvent extends Event { * * @var string[] */ - protected $original; + protected $lids; /** * Constructs a new LocaleEvent. diff --git a/web/core/modules/locale/src/LocaleTranslation.php b/web/core/modules/locale/src/LocaleTranslation.php index e9b693894..a9ccc9362 100644 --- a/web/core/modules/locale/src/LocaleTranslation.php +++ b/web/core/modules/locale/src/LocaleTranslation.php @@ -119,6 +119,11 @@ public function getStringTranslation($langcode, $string, $context) { $this->translations[$langcode][$context] = new LocaleLookup($langcode, $context, $this->storage, $this->cache, $this->lock, $this->configFactory, $this->languageManager, $this->requestStack); } $translation = $this->translations[$langcode][$context]->get($string); + // If the translation is TRUE, no translation exists, but that string needs + // to be stored in the persistent cache for performance reasons (so for + // example, we don't have hundreds of queries to locale tables on each + // request). That cache is persisted when the request ends, and the lookup + // service is destroyed. return $translation === TRUE ? FALSE : $translation; } diff --git a/web/core/modules/locale/src/PoDatabaseReader.php b/web/core/modules/locale/src/PoDatabaseReader.php index 55c2b690a..4ed766346 100644 --- a/web/core/modules/locale/src/PoDatabaseReader.php +++ b/web/core/modules/locale/src/PoDatabaseReader.php @@ -91,7 +91,7 @@ public function getHeader() { /** * Implements Drupal\Component\Gettext\PoMetadataInterface::setHeader(). * - * @throws Exception + * @throws \Exception * Always, because you cannot set the PO header of a reader. */ public function setHeader(PoHeader $header) { diff --git a/web/core/modules/locale/src/PoDatabaseWriter.php b/web/core/modules/locale/src/PoDatabaseWriter.php index 6763a79e6..7e7340cf1 100644 --- a/web/core/modules/locale/src/PoDatabaseWriter.php +++ b/web/core/modules/locale/src/PoDatabaseWriter.php @@ -154,7 +154,7 @@ public function getHeader() { * @param \Drupal\Component\Gettext\PoHeader $header * Header metadata. * - * @throws Exception + * @throws \Exception */ public function setHeader(PoHeader $header) { $this->header = $header; diff --git a/web/core/modules/locale/tests/locale_test.js b/web/core/modules/locale/tests/locale_test.js index 8c5ca7258..9462fd574 100644 --- a/web/core/modules/locale/tests/locale_test.js +++ b/web/core/modules/locale/tests/locale_test.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - Drupal.t("Standard Call t"); Drupal.t("Whitespace Call t"); Drupal.t('Single Quote t'); diff --git a/web/core/modules/locale/tests/modules/locale_test_development_release/locale_test_development_release.info.yml b/web/core/modules/locale/tests/modules/locale_test_development_release/locale_test_development_release.info.yml index 6ecdeabe9..d8dcb1f9b 100644 --- a/web/core/modules/locale/tests/modules/locale_test_development_release/locale_test_development_release.info.yml +++ b/web/core/modules/locale/tests/modules/locale_test_development_release/locale_test_development_release.info.yml @@ -1,6 +1,6 @@ name: 'Locale Test Development Release' type: module -description: 'Helper module to test the behavior when the core verison is a development release.' +description: 'Helper module to test the behavior when the core version is a development release.' package: Testing version: VERSION hidden: true diff --git a/web/core/modules/locale/tests/modules/locale_test_translate/config/schema/locale_test_translate.schema.yml b/web/core/modules/locale/tests/modules/locale_test_translate/config/schema/locale_test_translate.schema.yml index 93e57c698..df9fd824a 100644 --- a/web/core/modules/locale/tests/modules/locale_test_translate/config/schema/locale_test_translate.schema.yml +++ b/web/core/modules/locale/tests/modules/locale_test_translate/config/schema/locale_test_translate.schema.yml @@ -8,3 +8,5 @@ locale_test_translate.settings: type: label translatable_default_with_no_translation: type: label + key_set_during_install: + type: boolean diff --git a/web/core/modules/locale/tests/modules/locale_test_translate/locale_test_translate.module b/web/core/modules/locale/tests/modules/locale_test_translate/locale_test_translate.module index e55d4dc48..ed7911df9 100644 --- a/web/core/modules/locale/tests/modules/locale_test_translate/locale_test_translate.module +++ b/web/core/modules/locale/tests/modules/locale_test_translate/locale_test_translate.module @@ -20,3 +20,15 @@ function locale_test_translate_system_info_alter(&$info, Extension $file, $type) $info['hidden'] = FALSE; } } + +/** + * Implements hook_modules_installed(). + * + * @see \Drupal\Tests\locale\Functional\LocaleConfigTranslationImportTest::testConfigTranslationWithForeignLanguageDefault + */ +function locale_test_translate_modules_installed($modules, $is_syncing) { + // Ensure that writing to configuration during install does not cause + // \Drupal\locale\LocaleConfigSubscriber to create incorrect translations due + // the configuration langcode and data being out-of-sync. + \Drupal::configFactory()->getEditable('locale_test_translate.settings')->set('key_set_during_install', TRUE)->save(); +} diff --git a/web/core/modules/locale/tests/src/Functional/LocaleConfigTranslationImportTest.php b/web/core/modules/locale/tests/src/Functional/LocaleConfigTranslationImportTest.php index 72db6ef1b..de506587d 100644 --- a/web/core/modules/locale/tests/src/Functional/LocaleConfigTranslationImportTest.php +++ b/web/core/modules/locale/tests/src/Functional/LocaleConfigTranslationImportTest.php @@ -305,4 +305,66 @@ public function testLocaleRemovalAndConfigOverridePreserve() { $this->assertEquals($expected, $override->get()); } + /** + * Tests setting a non-English language as default and importing configuration. + */ + public function testConfigTranslationWithNonEnglishLanguageDefault() { + /** @var \Drupal\Core\Extension\ModuleInstallerInterface $module_installer */ + $module_installer = $this->container->get('module_installer'); + ConfigurableLanguage::createFromLangcode('af')->save(); + + $module_installer->install(['locale']); + $this->resetAll(); + /** @var \Drupal\locale\StringStorageInterface $local_storage */ + $local_storage = $this->container->get('locale.storage'); + + $source_string = 'Locale can translate'; + $translation_string = 'Locale can translate Afrikaans'; + + // Create a translation for the "Locale can translate" string, this string + // can be found in the "locale_test_translate" module's install config. + $source = $local_storage->createString([ + 'source' => $source_string, + ])->save(); + $local_storage->createTranslation([ + 'lid' => $source->getId(), + 'language' => 'af', + 'translation' => $translation_string, + ])->save(); + + // Verify that we can find the newly added string translation, it is not a + // customized translation. + $translation = $local_storage->findTranslation([ + 'source' => $source_string, + 'language' => 'af', + ]); + $this->assertEquals($translation_string, $translation->getString()); + $this->assertFalse((bool) $translation->customized); + + // Uninstall the "locale_test_translate" module, verify that we can still + // find the string translation. + $module_installer->uninstall(['locale_test_translate']); + $this->resetAll(); + $translation = $local_storage->findTranslation([ + 'source' => $source_string, + 'language' => 'af', + ]); + $this->assertEquals($translation_string, $translation->getString()); + + // Set the default language to "Afrikaans" and re-enable the + // "locale_test_translate" module. + $this->config('system.site')->set('default_langcode', 'af')->save(); + $module_installer->install(['locale_test_translate']); + $this->resetAll(); + + // Verify that enabling the "locale_test_translate" module didn't cause + // the string translation to be overwritten. + $translation = $local_storage->findTranslation([ + 'source' => $source_string, + 'language' => 'af', + ]); + $this->assertEquals($translation_string, $translation->getString()); + $this->assertFalse((bool) $translation->customized); + } + } diff --git a/web/core/modules/locale/tests/src/Functional/LocaleContentTest.php b/web/core/modules/locale/tests/src/Functional/LocaleContentTest.php index ce06b9d2a..2a0608004 100644 --- a/web/core/modules/locale/tests/src/Functional/LocaleContentTest.php +++ b/web/core/modules/locale/tests/src/Functional/LocaleContentTest.php @@ -7,8 +7,7 @@ use Drupal\node\NodeInterface; /** - * Tests you can enable multilingual support on content types and configure a - * language for a node. + * Tests multilingual support for content types and individual nodes. * * @group locale */ diff --git a/web/core/modules/locale/tests/src/Functional/LocaleExportTest.php b/web/core/modules/locale/tests/src/Functional/LocaleExportTest.php index 6eadb9321..64687fb69 100644 --- a/web/core/modules/locale/tests/src/Functional/LocaleExportTest.php +++ b/web/core/modules/locale/tests/src/Functional/LocaleExportTest.php @@ -157,8 +157,7 @@ public function getPoFile() { } /** - * Helper function that returns a .po file which strings will be marked - * as customized. + * Returns a .po file that will be marked as customized. */ public function getCustomPoFile() { return <<< EOF diff --git a/web/core/modules/locale/tests/src/Functional/LocaleImportFunctionalTest.php b/web/core/modules/locale/tests/src/Functional/LocaleImportFunctionalTest.php index fcb107e4b..d0e6bf355 100644 --- a/web/core/modules/locale/tests/src/Functional/LocaleImportFunctionalTest.php +++ b/web/core/modules/locale/tests/src/Functional/LocaleImportFunctionalTest.php @@ -35,8 +35,7 @@ class LocaleImportFunctionalTest extends BrowserTestBase { protected $adminUser; /** - * A user able to create languages, import translations and access site - * reports. + * A user able to create languages, import translations, access site reports. * * @var \Drupal\user\Entity\User */ @@ -506,8 +505,7 @@ public function getOverwritePoFile() { } /** - * Helper function that returns a .po file which strings will be marked - * as customized. + * Returns a .po file that will be marked as customized. */ public function getCustomPoFile() { return <<< EOF diff --git a/web/core/modules/locale/tests/src/Functional/LocalePluralFormatTest.php b/web/core/modules/locale/tests/src/Functional/LocalePluralFormatTest.php index d77e626ab..0daf20edf 100644 --- a/web/core/modules/locale/tests/src/Functional/LocalePluralFormatTest.php +++ b/web/core/modules/locale/tests/src/Functional/LocalePluralFormatTest.php @@ -48,8 +48,7 @@ protected function setUp(): void { } /** - * Tests locale_get_plural() and \Drupal::translation()->formatPlural() - * functionality. + * Tests locale_get_plural() and \Drupal::translation()->formatPlural(). */ public function testGetPluralFormat() { // Import some .po files with formulas to set up the environment. diff --git a/web/core/modules/locale/tests/src/Functional/LocaleTranslatedSchemaDefinitionTest.php b/web/core/modules/locale/tests/src/Functional/LocaleTranslatedSchemaDefinitionTest.php index 85148eebb..445ea672d 100644 --- a/web/core/modules/locale/tests/src/Functional/LocaleTranslatedSchemaDefinitionTest.php +++ b/web/core/modules/locale/tests/src/Functional/LocaleTranslatedSchemaDefinitionTest.php @@ -2,6 +2,7 @@ namespace Drupal\Tests\locale\Functional; +use Drupal\Core\Url; use Drupal\language\Entity\ConfigurableLanguage; use Drupal\Tests\BrowserTestBase; use Drupal\Tests\RequirementsPageTrait; @@ -71,7 +72,7 @@ public function testTranslatedUpdate() { // Visit the update page to collect any strings that may be translatable. $user = $this->drupalCreateUser(['administer software updates']); $this->drupalLogin($user); - $update_url = $GLOBALS['base_url'] . '/update.php'; + $update_url = Url::fromRoute('system.db_update')->setAbsolute()->toString(); // Collect strings from the PHP warning page, if applicable, as well as the // main update page. diff --git a/web/core/modules/locale/tests/src/Functional/LocaleTranslationUiTest.php b/web/core/modules/locale/tests/src/Functional/LocaleTranslationUiTest.php index cdedb12cd..6e93d3680 100644 --- a/web/core/modules/locale/tests/src/Functional/LocaleTranslationUiTest.php +++ b/web/core/modules/locale/tests/src/Functional/LocaleTranslationUiTest.php @@ -9,8 +9,7 @@ use Drupal\Core\Language\LanguageInterface; /** - * Adds a new locale and translates its name. Checks the validation of - * translation strings and search results. + * Tests the validation of translation strings and search results. * * @group locale */ @@ -245,8 +244,7 @@ public function testStringTranslation() { } /** - * Adds a language and checks that the JavaScript translation files are - * properly created and rebuilt on deletion. + * Tests the rebuilding of JavaScript translation files on deletion. */ public function testJavaScriptTranslation() { $user = $this->drupalCreateUser([ diff --git a/web/core/modules/locale/tests/src/Functional/LocaleUpdateBase.php b/web/core/modules/locale/tests/src/Functional/LocaleUpdateBase.php index e6ddd71ee..17893063d 100644 --- a/web/core/modules/locale/tests/src/Functional/LocaleUpdateBase.php +++ b/web/core/modules/locale/tests/src/Functional/LocaleUpdateBase.php @@ -209,8 +209,7 @@ protected function setTranslationFiles() { } /** - * Setup existing translations in the database and set up the status of - * existing translations. + * Sets up existing translations and their statuses in the database. */ protected function setCurrentTranslations() { // Add non customized translations to the database. diff --git a/web/core/modules/locale/tests/src/Functional/LocaleUpdateDevelopmentReleaseTest.php b/web/core/modules/locale/tests/src/Functional/LocaleUpdateDevelopmentReleaseTest.php index 0d443d40d..d2838f5cf 100644 --- a/web/core/modules/locale/tests/src/Functional/LocaleUpdateDevelopmentReleaseTest.php +++ b/web/core/modules/locale/tests/src/Functional/LocaleUpdateDevelopmentReleaseTest.php @@ -18,6 +18,9 @@ class LocaleUpdateDevelopmentReleaseTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); \Drupal::moduleHandler()->loadInclude('locale', 'inc', 'locale.compare'); diff --git a/web/core/modules/locale/tests/src/Kernel/LocaleStringTest.php b/web/core/modules/locale/tests/src/Kernel/LocaleStringTest.php index 85cfd2bfd..391ad49cf 100644 --- a/web/core/modules/locale/tests/src/Kernel/LocaleStringTest.php +++ b/web/core/modules/locale/tests/src/Kernel/LocaleStringTest.php @@ -19,7 +19,7 @@ class LocaleStringTest extends KernelTestBase { protected static $modules = [ 'language', 'locale', - ]; + ]; /** * The locale storage. diff --git a/web/core/modules/locale/tests/src/Unit/LocaleLookupTest.php b/web/core/modules/locale/tests/src/Unit/LocaleLookupTest.php index de1409d52..3421de836 100644 --- a/web/core/modules/locale/tests/src/Unit/LocaleLookupTest.php +++ b/web/core/modules/locale/tests/src/Unit/LocaleLookupTest.php @@ -77,7 +77,7 @@ protected function setUp(): void { $this->user = $this->createMock('Drupal\Core\Session\AccountInterface'); $this->user->expects($this->any()) ->method('getRoles') - ->will($this->returnValue(['anonymous'])); + ->willReturn(['anonymous']); $this->configFactory = $this->getConfigFactoryStub(['locale.settings' => ['cache_strings' => FALSE]]); @@ -112,7 +112,7 @@ public function testResolveCacheMissWithoutFallback() { $this->storage->expects($this->once()) ->method('findTranslation') ->with($this->equalTo($args)) - ->will($this->returnValue($result)); + ->willReturn($result); $locale_lookup = $this->getMockBuilder('Drupal\locale\LocaleLookup') ->setConstructorArgs(['en', 'irrelevant', $this->storage, $this->cache, $this->lock, $this->configFactory, $this->languageManager, $this->requestStack]) @@ -229,7 +229,7 @@ public function testResolveCacheMissWithPersist() { $this->storage->expects($this->once()) ->method('findTranslation') ->with($this->equalTo($args)) - ->will($this->returnValue($result)); + ->willReturn($result); $this->configFactory = $this->getConfigFactoryStub(['locale.settings' => ['cache_strings' => TRUE]]); $locale_lookup = $this->getMockBuilder('Drupal\locale\LocaleLookup') @@ -254,10 +254,10 @@ public function testResolveCacheMissNoTranslation() { ->will($this->returnSelf()); $this->storage->expects($this->once()) ->method('findTranslation') - ->will($this->returnValue(NULL)); + ->willReturn(NULL); $this->storage->expects($this->once()) ->method('createString') - ->will($this->returnValue($string)); + ->willReturn($string); $request = Request::create('/test'); $this->requestStack->push($request); @@ -349,7 +349,7 @@ public function testGetCid(array $roles, $expected) { $this->user = $this->createMock('Drupal\Core\Session\AccountInterface'); $this->user->expects($this->any()) ->method('getRoles') - ->will($this->returnValue($roles)); + ->willReturn($roles); $container = new ContainerBuilder(); $container->set('current_user', $this->user); diff --git a/web/core/modules/media/css/plugins/drupalmedia/ckeditor.drupalmedia.css b/web/core/modules/media/css/plugins/drupalmedia/ckeditor.drupalmedia.css deleted file mode 100644 index 82923ff63..000000000 --- a/web/core/modules/media/css/plugins/drupalmedia/ckeditor.drupalmedia.css +++ /dev/null @@ -1,41 +0,0 @@ -/** - * @file - * Media embed: overrides to make focus styles and alignment work in CKEditor. - */ - -/** - * Allow the drupal-media element's width to collapse to the size of its - * contents so that the outline has no extra white space (margin). This - * emulates the image2 plugin's styles inherited by the drupallink CKEditor - * plugin. - */ -drupal-media { - display: inline-block; -} - -/** - * For center alignment, take advantage of drupal-media's inline-block - * display and center it as if it were text. - */ -.cke_widget_drupalmedia.align-center { - text-align: center; -} - -/** - * Fix positioning without delete button. Can be removed with this issue: - * @see https://www.drupal.org/project/drupal/issues/3074859 - */ -drupal-media .media-library-item__edit { - right: 10px; -} - -/** - * Allow alignment to display in CKEditor. - */ -drupal-media[data-align=left], -drupal-media[data-align=right] { - display: inline; -} -drupal-media[data-align=center] { - display: flex; -} diff --git a/web/core/modules/media/js/form.js b/web/core/modules/media/js/form.js index 52f7bdc11..e56b2f8bd 100644 --- a/web/core/modules/media/js/form.js +++ b/web/core/modules/media/js/form.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal) { Drupal.behaviors.mediaFormSummaries = { attach: function attach(context) { @@ -13,20 +12,17 @@ var name = nameInput && nameInput.value; var dateInput = context.querySelector('.field--name-created input'); var date = dateInput && dateInput.value; - if (name && date) { return Drupal.t('By @name on @date', { '@name': name, '@date': date }); } - if (name) { return Drupal.t('By @name', { '@name': name }); } - if (date) { return Drupal.t('Authored on @date', { '@date': date diff --git a/web/core/modules/media/js/media_embed_ckeditor.theme.es6.js b/web/core/modules/media/js/media_embed_ckeditor.theme.es6.js index 52ef82aa7..bb2bd6dcd 100644 --- a/web/core/modules/media/js/media_embed_ckeditor.theme.es6.js +++ b/web/core/modules/media/js/media_embed_ckeditor.theme.es6.js @@ -1,6 +1,6 @@ /** * @file - * Theme elements for the Media Embed CKEditor plugin. + * Theme elements for the Media Embed text editor plugins. */ ((Drupal) => { @@ -16,15 +16,4 @@ `
                                              ${Drupal.t( 'An error occurred while trying to preview the media. Please save your work and reload this page.', )}
                                              `; - - /** - * Themes the edit button for a media embed. - * - * @return {string} - * An HTML string to insert in the CKEditor. - */ - Drupal.theme.mediaEmbedEditButton = () => - ``; })(Drupal); diff --git a/web/core/modules/media/js/media_embed_ckeditor.theme.js b/web/core/modules/media/js/media_embed_ckeditor.theme.js index bddc1ea47..6d463d1ff 100644 --- a/web/core/modules/media/js/media_embed_ckeditor.theme.js +++ b/web/core/modules/media/js/media_embed_ckeditor.theme.js @@ -4,13 +4,8 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function (Drupal) { Drupal.theme.mediaEmbedPreviewError = function () { return "
                                              ".concat(Drupal.t('An error occurred while trying to preview the media. Please save your work and reload this page.'), "
                                              "); }; - - Drupal.theme.mediaEmbedEditButton = function () { - return ""); - }; })(Drupal); \ No newline at end of file diff --git a/web/core/modules/media/js/plugins/drupalmedia/plugin.es6.js b/web/core/modules/media/js/plugins/drupalmedia/plugin.es6.js deleted file mode 100644 index 7a0c5a421..000000000 --- a/web/core/modules/media/js/plugins/drupalmedia/plugin.es6.js +++ /dev/null @@ -1,499 +0,0 @@ -/** - * @file - * Drupal Media embed plugin. - */ - -(function (jQuery, Drupal, CKEDITOR) { - /** - * Gets the focused widget, if of the type specific for this plugin. - * - * @param {CKEDITOR.editor} editor - * A CKEditor instance. - * - * @return {?CKEDITOR.plugins.widget} - * The focused drupalmedia widget instance, or null. - */ - function getFocusedWidget(editor) { - const widget = editor.widgets.focused; - - if (widget && widget.name === 'drupalmedia') { - return widget; - } - return null; - } - - /** - * Makes embedded items linkable by integrating with the drupallink plugin. - * - * @param {CKEDITOR.editor} editor - * A CKEditor instance. - */ - function linkCommandIntegrator(editor) { - if (!editor.plugins.drupallink) { - return; - } - - CKEDITOR.plugins.drupallink.registerLinkableWidget('drupalmedia'); - - editor.getCommand('drupalunlink').on('exec', function (evt) { - const widget = getFocusedWidget(editor); - - if (!widget) { - return; - } - - widget.setData('link', null); - - this.refresh(editor, editor.elementPath()); - - evt.cancel(); - }); - - editor.getCommand('drupalunlink').on('refresh', function (evt) { - const widget = getFocusedWidget(editor); - - if (!widget) { - return; - } - - this.setState( - widget.data.link ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED, - ); - - evt.cancel(); - }); - - // Register context menu items for editing link. - if (editor.contextMenu) { - editor.contextMenu.addListener(() => { - const widget = getFocusedWidget(editor); - - if (!widget) { - return; - } - - if (widget.data.link) { - return { - link: CKEDITOR.TRISTATE_OFF, - unlink: CKEDITOR.TRISTATE_OFF, - }; - } - return {}; - }); - } - } - - CKEDITOR.plugins.add('drupalmedia', { - requires: 'widget', - - beforeInit(editor) { - // Configure CKEditor DTD for custom drupal-media element. - // @see https://www.drupal.org/node/2448449#comment-9717735 - const { dtd } = CKEDITOR; - // Allow text within the drupal-media tag. - dtd['drupal-media'] = { '#': 1 }; - // Register drupal-media element as an allowed child in each tag that can - // contain a div element and as an allowed child of the a tag. - Object.keys(dtd).forEach((tagName) => { - if (dtd[tagName].div) { - dtd[tagName]['drupal-media'] = 1; - } - }); - dtd.a['drupal-media'] = 1; - - editor.widgets.add('drupalmedia', { - allowedContent: { - 'drupal-media': { - attributes: { - '!data-entity-type': true, - '!data-entity-uuid': true, - 'data-align': true, - 'data-caption': true, - alt: true, - title: true, - }, - classes: {}, - }, - }, - // Minimum HTML which is required by this widget to work. - // This does not use the object format used above, but a - // CKEDITOR.style instance, because requiredContent does not support - // the object format. - // @see https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_filter_contentRule.html - requiredContent: new CKEDITOR.style({ - element: 'drupal-media', - attributes: { - 'data-entity-type': '', - 'data-entity-uuid': '', - }, - }), - - pathName: Drupal.t('Embedded media'), - - editables: { - caption: { - selector: 'figcaption', - allowedContent: 'a[!href]; em strong cite code br', - pathName: Drupal.t('Caption'), - }, - }, - - getLabel() { - if (this.data.label) { - return this.data.label; - } - return Drupal.t('Embedded media'); - }, - - upcast(element, data) { - const { attributes } = element; - // This matches the behavior of the corresponding server-side text filter plugin. - if ( - element.name !== 'drupal-media' || - attributes['data-entity-type'] !== 'media' || - attributes['data-entity-uuid'] === undefined - ) { - return; - } - data.attributes = CKEDITOR.tools.copy(attributes); - data.hasCaption = data.attributes.hasOwnProperty('data-caption'); - // Add space to the empty caption to allow the server-side text - // filter to render a caption, allowing the placeholder-rendering - // CSS to work. - if (data.hasCaption && data.attributes['data-caption'] === '') { - data.attributes['data-caption'] = ' '; - } - data.label = null; - data.link = null; - if (element.parent.name === 'a') { - data.link = CKEDITOR.tools.copy(element.parent.attributes); - // Omit CKEditor-internal attributes. - Object.keys(element.parent.attributes).forEach((attrName) => { - if (attrName.indexOf('data-cke-') !== -1) { - delete data.link[attrName]; - } - }); - } - // @see media_field_widget_single_element_form_alter() - const hostEntityLangcode = document - .getElementById(editor.name) - .getAttribute('data-media-embed-host-entity-langcode'); - if (hostEntityLangcode) { - data.hostEntityLangcode = hostEntityLangcode; - } - return element; - }, - - destroy() { - this._tearDownDynamicEditables(); - }, - - data(event) { - // Only run during changes. - if (this.oldData) { - // The server-side text filter plugin treats both an empty - // `data-caption` attribute and a non-existing one the same: it - // does not render a caption. But in the CKEditor Widget, we need - // to be able to show an empty caption with placeholder text using - // CSS even when technically there is no `data-caption` attribute - // value yet. That's why this CKEditor Widget has an independent - // `hasCaption` boolean (which is not an attribute) to know when - // to generate a non-empty `data-caption` attribute when the - // content creator has enabled caption: this makes the server-side - // text filter render a caption, allowing the placeholder-rendering - // CSS to work. - // @see core/modules/filter/css/filter.caption.css - // @see ckeditor_ckeditor_css_alter() - if (!this.data.hasCaption && this.oldData.hasCaption) { - delete this.data.attributes['data-caption']; - } else if ( - this.data.hasCaption && - !this.data.attributes['data-caption'] - ) { - this.data.attributes['data-caption'] = ' '; - } - } - - if (this._previewNeedsServerSideUpdate()) { - editor.fire('lockSnapshot'); - this._tearDownDynamicEditables(); - - this._loadPreview((widget) => { - widget._setUpDynamicEditables(); - widget._setUpEditButton(); - editor.fire('unlockSnapshot'); - }); - } - - // Remove old attributes from drupal-media element within the widget. - if (this.oldData) { - Object.keys(this.oldData.attributes).forEach((attrName) => { - this.element.removeAttribute(attrName); - }); - } - // Add attributes to drupal-media element within the widget. - this.element.setAttributes(this.data.attributes); - - // Track the previous state to allow checking if preview needs - // server side update. - this.oldData = CKEDITOR.tools.clone(this.data); - }, - - downcast() { - const downcastElement = new CKEDITOR.htmlParser.element( - 'drupal-media', - this.data.attributes, - ); - if (this.data.link) { - const link = new CKEDITOR.htmlParser.element('a', this.data.link); - link.add(downcastElement); - return link; - } - return downcastElement; - }, - - _setUpDynamicEditables() { - // Now that the caption is available in the DOM, make it editable. - if (this.initEditable('caption', this.definition.editables.caption)) { - const captionEditable = this.editables.caption; - // @see core/modules/filter/css/filter.caption.css - // @see ckeditor_ckeditor_css_alter() - captionEditable.setAttribute( - 'data-placeholder', - Drupal.t('Enter caption here'), - ); - // Ensure that any changes made to the caption are persisted in the - // widget's data-caption attribute. - this.captionObserver = new MutationObserver(() => { - const mediaAttributes = CKEDITOR.tools.clone( - this.data.attributes, - ); - mediaAttributes['data-caption'] = captionEditable.getData(); - this.setData('attributes', mediaAttributes); - }); - this.captionObserver.observe(captionEditable.$, { - characterData: true, - attributes: true, - childList: true, - subtree: true, - }); - // Some browsers will add a
                                              tag to a newly created DOM element - // with no content. Remove this
                                              if it is the only thing in the - // caption. Our placeholder support requires the element to be - // entirely empty. - // @see core/modules/filter/css/filter.caption.css - // @see core/modules/ckeditor/js/plugins/drupalimagecaption/plugin.es6.js - if ( - captionEditable.$.childNodes.length === 1 && - captionEditable.$.childNodes.item(0).nodeName === 'BR' - ) { - captionEditable.$.removeChild( - captionEditable.$.childNodes.item(0), - ); - } - } - }, - - /** - * Injects HTML for edit button into the preview that was just loaded. - */ - _setUpEditButton() { - // No buttons for missing media. - if (this.element.findOne('.media-embed-error')) { - return; - } - - /** - * Determines if a node is an element node. - * - * @param {CKEDITOR.dom.node} n - * A DOM node to evaluate. - * - * @return {bool} - * Returns true if node is an element node and not a non-element - * node (such as NODE_TEXT, NODE_COMMENT, NODE_DOCUMENT or - * NODE_DOCUMENT_FRAGMENT). - * - * @see https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.html#property-NODE_ELEMENT - */ - const isElementNode = function (n) { - return n.type === CKEDITOR.NODE_ELEMENT; - }; - - // Find the actual embedded media in the DOM. - const embeddedMediaContainer = this.data.hasCaption - ? this.element.findOne('figure') - : this.element; - let embeddedMedia = embeddedMediaContainer.getFirst(isElementNode); - // If there is a link, the top-level element is the `a` tag, and the - // embedded media will be within the `a` tag. - if (this.data.link) { - embeddedMedia = embeddedMedia.getFirst(isElementNode); - } - // To allow the edit button to be absolutely positioned, the parent - // element must be positioned relative. - embeddedMedia.setStyle('position', 'relative'); - - const editButton = CKEDITOR.dom.element.createFromHtml( - Drupal.theme('mediaEmbedEditButton'), - ); - embeddedMedia.getFirst().insertBeforeMe(editButton); - - // Make the edit button do things. - const widget = this; - this.element - .findOne('.media-library-item__edit') - .on('click', (event) => { - const saveCallback = function (values) { - event.cancel(); - editor.fire('saveSnapshot'); - if (values.hasOwnProperty('attributes')) { - // Combine the dialog attributes with the widget attributes. - // This copies the properties from widget.data.attributes to - // values.attributes. (Properties already present - // in values.attributes are not overwritten.) - CKEDITOR.tools.extend( - values.attributes, - widget.data.attributes, - ); - // Allow the dialog to delete attributes by setting them - // to `false` or `none`. For example: `alt`. - Object.keys(values.attributes).forEach((prop) => { - if ( - values.attributes[prop] === false || - (prop === 'data-align' && - values.attributes[prop] === 'none') - ) { - delete values.attributes[prop]; - } - }); - } - widget.setData({ - attributes: values.attributes, - hasCaption: !!values.hasCaption, - }); - editor.fire('saveSnapshot'); - }; - - Drupal.ckeditor.openDialog( - editor, - Drupal.url( - `editor/dialog/media/${editor.config.drupal.format}`, - ), - widget.data, - saveCallback, - {}, - ); - }); - - // Allow opening the dialog with the return key or the space bar - // by triggering a click event when a keydown event occurs on - // the edit button. - this.element - .findOne('.media-library-item__edit') - .on('keydown', (event) => { - // The character code for the return key. - const returnKey = 13; - // The character code for the space bar. - const spaceBar = 32; - if (typeof event.data !== 'undefined') { - const keypress = event.data.getKey(); - if (keypress === returnKey || keypress === spaceBar) { - // Clicks the edit button that triggered the 'keydown' - // event. - event.sender.$.click(); - } - // Stop propagation to keep the return key from - // adding a line break. - event.data.$.stopPropagation(); - event.data.$.stopImmediatePropagation(); - } - }); - }, - - _tearDownDynamicEditables() { - // If we are watching for changes to the caption, stop doing that. - if (this.captionObserver) { - this.captionObserver.disconnect(); - } - }, - - /** - * Determines if the preview needs to be re-rendered by the server. - * - * @return {boolean} - * Returns true if the data hashes differ. - */ - _previewNeedsServerSideUpdate() { - // When the widget is first loading, it of course needs to still get a preview! - if (!this.ready) { - return true; - } - - return this._hashData(this.oldData) !== this._hashData(this.data); - }, - - /** - * Computes a hash of the data that can only be previewed by the server. - * - * @return {string} - */ - _hashData(data) { - const dataToHash = CKEDITOR.tools.clone(data); - // The caption does not need rendering. - delete dataToHash.attributes['data-caption']; - // The media entity's label is server-side data and cannot be - // modified by the content author. - delete dataToHash.label; - // Changed link destinations do not affect the visual preview. - if (dataToHash.link) { - delete dataToHash.link.href; - } - return JSON.stringify(dataToHash); - }, - - /** - * Loads an media embed preview and runs a callback after insertion. - * - * Note the absence of caching, that's because this uses a GET request (which is cacheable) and the server takes - * special care to make the responses privately cacheable (i.e. per session) in the browser. - * - * @see \Drupal\media\Controller\MediaFilterController::preview() - * - * @param {function} callback - * A callback function that will be called after the preview has - * loaded. Receives the widget instance. - */ - _loadPreview(callback) { - jQuery.get({ - url: Drupal.url(`media/${editor.config.drupal.format}/preview`), - data: { - text: this.downcast().getOuterHtml(), - uuid: this.data.attributes['data-entity-uuid'], - }, - dataType: 'html', - headers: { - 'X-Drupal-MediaPreview-CSRF-Token': - editor.config.drupalMedia_previewCsrfToken, - }, - success: (previewHtml, textStatus, jqXhr) => { - this.element.setHtml(previewHtml); - this.setData( - 'label', - jqXhr.getResponseHeader('Drupal-Media-Label'), - ); - callback(this); - }, - error: () => { - this.element.setHtml(Drupal.theme('mediaEmbedPreviewError')); - }, - }); - }, - }); - }, - - afterInit(editor) { - linkCommandIntegrator(editor); - }, - }); -})(jQuery, Drupal, CKEDITOR); diff --git a/web/core/modules/media/js/plugins/drupalmedia/plugin.js b/web/core/modules/media/js/plugins/drupalmedia/plugin.js deleted file mode 100644 index 626931693..000000000 --- a/web/core/modules/media/js/plugins/drupalmedia/plugin.js +++ /dev/null @@ -1,335 +0,0 @@ -/** -* DO NOT EDIT THIS FILE. -* See the following change record for more information, -* https://www.drupal.org/node/2815083 -* @preserve -**/ - -(function (jQuery, Drupal, CKEDITOR) { - function getFocusedWidget(editor) { - var widget = editor.widgets.focused; - - if (widget && widget.name === 'drupalmedia') { - return widget; - } - - return null; - } - - function linkCommandIntegrator(editor) { - if (!editor.plugins.drupallink) { - return; - } - - CKEDITOR.plugins.drupallink.registerLinkableWidget('drupalmedia'); - editor.getCommand('drupalunlink').on('exec', function (evt) { - var widget = getFocusedWidget(editor); - - if (!widget) { - return; - } - - widget.setData('link', null); - this.refresh(editor, editor.elementPath()); - evt.cancel(); - }); - editor.getCommand('drupalunlink').on('refresh', function (evt) { - var widget = getFocusedWidget(editor); - - if (!widget) { - return; - } - - this.setState(widget.data.link ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED); - evt.cancel(); - }); - - if (editor.contextMenu) { - editor.contextMenu.addListener(function () { - var widget = getFocusedWidget(editor); - - if (!widget) { - return; - } - - if (widget.data.link) { - return { - link: CKEDITOR.TRISTATE_OFF, - unlink: CKEDITOR.TRISTATE_OFF - }; - } - - return {}; - }); - } - } - - CKEDITOR.plugins.add('drupalmedia', { - requires: 'widget', - beforeInit: function beforeInit(editor) { - var dtd = CKEDITOR.dtd; - dtd['drupal-media'] = { - '#': 1 - }; - Object.keys(dtd).forEach(function (tagName) { - if (dtd[tagName].div) { - dtd[tagName]['drupal-media'] = 1; - } - }); - dtd.a['drupal-media'] = 1; - editor.widgets.add('drupalmedia', { - allowedContent: { - 'drupal-media': { - attributes: { - '!data-entity-type': true, - '!data-entity-uuid': true, - 'data-align': true, - 'data-caption': true, - alt: true, - title: true - }, - classes: {} - } - }, - requiredContent: new CKEDITOR.style({ - element: 'drupal-media', - attributes: { - 'data-entity-type': '', - 'data-entity-uuid': '' - } - }), - pathName: Drupal.t('Embedded media'), - editables: { - caption: { - selector: 'figcaption', - allowedContent: 'a[!href]; em strong cite code br', - pathName: Drupal.t('Caption') - } - }, - getLabel: function getLabel() { - if (this.data.label) { - return this.data.label; - } - - return Drupal.t('Embedded media'); - }, - upcast: function upcast(element, data) { - var attributes = element.attributes; - - if (element.name !== 'drupal-media' || attributes['data-entity-type'] !== 'media' || attributes['data-entity-uuid'] === undefined) { - return; - } - - data.attributes = CKEDITOR.tools.copy(attributes); - data.hasCaption = data.attributes.hasOwnProperty('data-caption'); - - if (data.hasCaption && data.attributes['data-caption'] === '') { - data.attributes['data-caption'] = ' '; - } - - data.label = null; - data.link = null; - - if (element.parent.name === 'a') { - data.link = CKEDITOR.tools.copy(element.parent.attributes); - Object.keys(element.parent.attributes).forEach(function (attrName) { - if (attrName.indexOf('data-cke-') !== -1) { - delete data.link[attrName]; - } - }); - } - - var hostEntityLangcode = document.getElementById(editor.name).getAttribute('data-media-embed-host-entity-langcode'); - - if (hostEntityLangcode) { - data.hostEntityLangcode = hostEntityLangcode; - } - - return element; - }, - destroy: function destroy() { - this._tearDownDynamicEditables(); - }, - data: function data(event) { - var _this = this; - - if (this.oldData) { - if (!this.data.hasCaption && this.oldData.hasCaption) { - delete this.data.attributes['data-caption']; - } else if (this.data.hasCaption && !this.data.attributes['data-caption']) { - this.data.attributes['data-caption'] = ' '; - } - } - - if (this._previewNeedsServerSideUpdate()) { - editor.fire('lockSnapshot'); - - this._tearDownDynamicEditables(); - - this._loadPreview(function (widget) { - widget._setUpDynamicEditables(); - - widget._setUpEditButton(); - - editor.fire('unlockSnapshot'); - }); - } - - if (this.oldData) { - Object.keys(this.oldData.attributes).forEach(function (attrName) { - _this.element.removeAttribute(attrName); - }); - } - - this.element.setAttributes(this.data.attributes); - this.oldData = CKEDITOR.tools.clone(this.data); - }, - downcast: function downcast() { - var downcastElement = new CKEDITOR.htmlParser.element('drupal-media', this.data.attributes); - - if (this.data.link) { - var link = new CKEDITOR.htmlParser.element('a', this.data.link); - link.add(downcastElement); - return link; - } - - return downcastElement; - }, - _setUpDynamicEditables: function _setUpDynamicEditables() { - var _this2 = this; - - if (this.initEditable('caption', this.definition.editables.caption)) { - var captionEditable = this.editables.caption; - captionEditable.setAttribute('data-placeholder', Drupal.t('Enter caption here')); - this.captionObserver = new MutationObserver(function () { - var mediaAttributes = CKEDITOR.tools.clone(_this2.data.attributes); - mediaAttributes['data-caption'] = captionEditable.getData(); - - _this2.setData('attributes', mediaAttributes); - }); - this.captionObserver.observe(captionEditable.$, { - characterData: true, - attributes: true, - childList: true, - subtree: true - }); - - if (captionEditable.$.childNodes.length === 1 && captionEditable.$.childNodes.item(0).nodeName === 'BR') { - captionEditable.$.removeChild(captionEditable.$.childNodes.item(0)); - } - } - }, - _setUpEditButton: function _setUpEditButton() { - if (this.element.findOne('.media-embed-error')) { - return; - } - - var isElementNode = function isElementNode(n) { - return n.type === CKEDITOR.NODE_ELEMENT; - }; - - var embeddedMediaContainer = this.data.hasCaption ? this.element.findOne('figure') : this.element; - var embeddedMedia = embeddedMediaContainer.getFirst(isElementNode); - - if (this.data.link) { - embeddedMedia = embeddedMedia.getFirst(isElementNode); - } - - embeddedMedia.setStyle('position', 'relative'); - var editButton = CKEDITOR.dom.element.createFromHtml(Drupal.theme('mediaEmbedEditButton')); - embeddedMedia.getFirst().insertBeforeMe(editButton); - var widget = this; - this.element.findOne('.media-library-item__edit').on('click', function (event) { - var saveCallback = function saveCallback(values) { - event.cancel(); - editor.fire('saveSnapshot'); - - if (values.hasOwnProperty('attributes')) { - CKEDITOR.tools.extend(values.attributes, widget.data.attributes); - Object.keys(values.attributes).forEach(function (prop) { - if (values.attributes[prop] === false || prop === 'data-align' && values.attributes[prop] === 'none') { - delete values.attributes[prop]; - } - }); - } - - widget.setData({ - attributes: values.attributes, - hasCaption: !!values.hasCaption - }); - editor.fire('saveSnapshot'); - }; - - Drupal.ckeditor.openDialog(editor, Drupal.url("editor/dialog/media/".concat(editor.config.drupal.format)), widget.data, saveCallback, {}); - }); - this.element.findOne('.media-library-item__edit').on('keydown', function (event) { - var returnKey = 13; - var spaceBar = 32; - - if (typeof event.data !== 'undefined') { - var keypress = event.data.getKey(); - - if (keypress === returnKey || keypress === spaceBar) { - event.sender.$.click(); - } - - event.data.$.stopPropagation(); - event.data.$.stopImmediatePropagation(); - } - }); - }, - _tearDownDynamicEditables: function _tearDownDynamicEditables() { - if (this.captionObserver) { - this.captionObserver.disconnect(); - } - }, - _previewNeedsServerSideUpdate: function _previewNeedsServerSideUpdate() { - if (!this.ready) { - return true; - } - - return this._hashData(this.oldData) !== this._hashData(this.data); - }, - _hashData: function _hashData(data) { - var dataToHash = CKEDITOR.tools.clone(data); - delete dataToHash.attributes['data-caption']; - delete dataToHash.label; - - if (dataToHash.link) { - delete dataToHash.link.href; - } - - return JSON.stringify(dataToHash); - }, - _loadPreview: function _loadPreview(callback) { - var _this3 = this; - - jQuery.get({ - url: Drupal.url("media/".concat(editor.config.drupal.format, "/preview")), - data: { - text: this.downcast().getOuterHtml(), - uuid: this.data.attributes['data-entity-uuid'] - }, - dataType: 'html', - headers: { - 'X-Drupal-MediaPreview-CSRF-Token': editor.config.drupalMedia_previewCsrfToken - }, - success: function success(previewHtml, textStatus, jqXhr) { - _this3.element.setHtml(previewHtml); - - _this3.setData('label', jqXhr.getResponseHeader('Drupal-Media-Label')); - - callback(_this3); - }, - error: function error() { - _this3.element.setHtml(Drupal.theme('mediaEmbedPreviewError')); - } - }); - } - }); - }, - afterInit: function afterInit(editor) { - linkCommandIntegrator(editor); - } - }); -})(jQuery, Drupal, CKEDITOR); \ No newline at end of file diff --git a/web/core/modules/media/js/type_form.es6.js b/web/core/modules/media/js/type_form.es6.js index f24d52b52..ebfe844aa 100644 --- a/web/core/modules/media/js/type_form.es6.js +++ b/web/core/modules/media/js/type_form.es6.js @@ -17,24 +17,26 @@ const $context = $(context); // Provide the vertical tab summaries. $context.find('#edit-workflow').drupalSetSummary((context) => { - const vals = []; + const values = []; $(context) .find('input[name^="options"]:checked') .parent() .each(function () { - vals.push(Drupal.checkPlain($(this).find('label')[0].textContent)); + values.push( + Drupal.checkPlain($(this).find('label')[0].textContent), + ); }); if (!$(context).find('#edit-options-status').is(':checked')) { - vals.unshift(Drupal.t('Not published')); + values.unshift(Drupal.t('Not published')); } - return vals.join(', '); + return values.join(', '); }); $(context) .find('#edit-language') .drupalSetSummary((context) => { - const vals = []; + const values = []; - vals.push( + values.push( $(context).find( '.js-form-item-language-configuration-langcode select option:selected', )[0].textContent, @@ -44,10 +46,10 @@ .find('input:checked') .next('label') .each(function () { - vals.push(Drupal.checkPlain(this.textContent)); + values.push(Drupal.checkPlain(this.textContent)); }); - return vals.join(', '); + return values.join(', '); }); }, }; diff --git a/web/core/modules/media/js/type_form.js b/web/core/modules/media/js/type_form.js index 4bfe34493..04c484f77 100644 --- a/web/core/modules/media/js/type_form.js +++ b/web/core/modules/media/js/type_form.js @@ -4,30 +4,27 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal) { Drupal.behaviors.mediaTypeFormSummaries = { attach: function attach(context) { var $context = $(context); $context.find('#edit-workflow').drupalSetSummary(function (context) { - var vals = []; + var values = []; $(context).find('input[name^="options"]:checked').parent().each(function () { - vals.push(Drupal.checkPlain($(this).find('label')[0].textContent)); + values.push(Drupal.checkPlain($(this).find('label')[0].textContent)); }); - if (!$(context).find('#edit-options-status').is(':checked')) { - vals.unshift(Drupal.t('Not published')); + values.unshift(Drupal.t('Not published')); } - - return vals.join(', '); + return values.join(', '); }); $(context).find('#edit-language').drupalSetSummary(function (context) { - var vals = []; - vals.push($(context).find('.js-form-item-language-configuration-langcode select option:selected')[0].textContent); + var values = []; + values.push($(context).find('.js-form-item-language-configuration-langcode select option:selected')[0].textContent); $(context).find('input:checked').next('label').each(function () { - vals.push(Drupal.checkPlain(this.textContent)); + values.push(Drupal.checkPlain(this.textContent)); }); - return vals.join(', '); + return values.join(', '); }); } }; diff --git a/web/core/modules/media/media.libraries.yml b/web/core/modules/media/media.libraries.yml index efc9dd1ad..f8febc4df 100644 --- a/web/core/modules/media/media.libraries.yml +++ b/web/core/modules/media/media.libraries.yml @@ -32,6 +32,8 @@ filter.caption: dependencies: - filter/caption +# Despite the name, this is actually not specific to CKEditor 4, and can be +# used by all text editor plugins. media_embed_ckeditor_theme: version: VERSION js: diff --git a/web/core/modules/media/media.module b/web/core/modules/media/media.module index b4d3112e9..30b219e57 100644 --- a/web/core/modules/media/media.module +++ b/web/core/modules/media/media.module @@ -510,9 +510,9 @@ function media_filter_format_edit_form_validate($form, FormStateInterface $form_ * Implements hook_field_widget_single_element_form_alter(). */ function media_field_widget_single_element_form_alter(&$element, FormStateInterface $form_state, $context) { - // Add an attribute so that "drupalmedia" CKEditor plugin can pass the host - // entity's language to EditorMediaDialog, allowing it to present entities - // in the same language. + // Add an attribute so that text editors plugins can pass the host entity's + // language to EditorMediaDialog, allowing it to present entities in the same + // language. if (!empty($element['#type']) && $element['#type'] == 'text_format') { $element['#attributes']['data-media-embed-host-entity-langcode'] = $context['items']->getLangcode(); } diff --git a/web/core/modules/media/src/Annotation/MediaSource.php b/web/core/modules/media/src/Annotation/MediaSource.php index 1286601b2..12d940922 100644 --- a/web/core/modules/media/src/Annotation/MediaSource.php +++ b/web/core/modules/media/src/Annotation/MediaSource.php @@ -89,6 +89,20 @@ class MediaSource extends Plugin { */ public $thumbnail_uri_metadata_attribute = 'thumbnail_uri'; + /** + * The metadata attribute name to provide the thumbnail width. + * + * @var string + */ + public $thumbnail_width_metadata_attribute = 'thumbnail_width'; + + /** + * The metadata attribute name to provide the thumbnail height. + * + * @var string + */ + public $thumbnail_height_metadata_attribute = 'thumbnail_height'; + /** * (optional) The metadata attribute name to provide the thumbnail alt. * diff --git a/web/core/modules/media/src/Controller/OEmbedIframeController.php b/web/core/modules/media/src/Controller/OEmbedIframeController.php index 9da8f9050..3c5079f62 100644 --- a/web/core/modules/media/src/Controller/OEmbedIframeController.php +++ b/web/core/modules/media/src/Controller/OEmbedIframeController.php @@ -18,7 +18,7 @@ use Psr\Log\LoggerInterface; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException; +use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; /** * Controller which renders an oEmbed resource in a bare page (without blocks). @@ -115,7 +115,7 @@ public static function create(ContainerInterface $container) { * @return \Symfony\Component\HttpFoundation\Response * The response object. * - * @throws \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException + * @throws \Symfony\Component\HttpKernel\Exception\BadRequestHttpException * Will be thrown if either * - the 'hash' parameter does not match the expected hash of the 'url' * parameter; @@ -129,7 +129,7 @@ public function render(Request $request) { $allowed_host = parse_url($allowed_domain, PHP_URL_HOST); $host = parse_url($request->getSchemeAndHttpHost(), PHP_URL_HOST); if ($allowed_host !== $host) { - throw new AccessDeniedHttpException('This resource is not available'); + throw new BadRequestHttpException('This resource is not available'); } } @@ -141,7 +141,7 @@ public function render(Request $request) { // parameter passed in the query string. $hash = $this->iFrameUrlHelper->getHash($url, $max_width, $max_height); if (!hash_equals($hash, $request->query->get('hash', ''))) { - throw new AccessDeniedHttpException('This resource is not available'); + throw new BadRequestHttpException('This resource is not available'); } // Return a response instead of a render array so that the frame content diff --git a/web/core/modules/media/src/Entity/Media.php b/web/core/modules/media/src/Entity/Media.php index e4e0cab06..967e93306 100644 --- a/web/core/modules/media/src/Entity/Media.php +++ b/web/core/modules/media/src/Entity/Media.php @@ -154,6 +154,8 @@ public function getSource() { */ protected function updateThumbnail($from_queue = FALSE) { $this->thumbnail->target_id = $this->loadThumbnail($this->getThumbnailUri($from_queue))->id(); + $this->thumbnail->width = $this->getThumbnailWidth($from_queue); + $this->thumbnail->height = $this->getThumbnailHeight($from_queue); // Set the thumbnail alt. $media_source = $this->getSource(); @@ -258,6 +260,56 @@ protected function getThumbnailUri($from_queue) { return $source->getMetadata($this, $source->getPluginDefinition()['thumbnail_uri_metadata_attribute']); } + /** + * Gets the width of the thumbnail of a media item. + * + * @param bool $from_queue + * Specifies whether the thumbnail is being fetched from the queue. + * + * @return int|null + * The width of the thumbnail of the media item or NULL if the media is new + * and the thumbnails are set to be downloaded in a queue. + * + * @internal + */ + protected function getThumbnailWidth(bool $from_queue): ?int { + $thumbnails_queued = $this->bundle->entity->thumbnailDownloadsAreQueued(); + if ($thumbnails_queued && $this->isNew()) { + return NULL; + } + elseif ($thumbnails_queued && !$from_queue) { + return $this->get('thumbnail')->width; + } + + $source = $this->getSource(); + return $source->getMetadata($this, $source->getPluginDefinition()['thumbnail_width_metadata_attribute']); + } + + /** + * Gets the height of the thumbnail of a media item. + * + * @param bool $from_queue + * Specifies whether the thumbnail is being fetched from the queue. + * + * @return int|null + * The height of the thumbnail of the media item or NULL if the media is new + * and the thumbnails are set to be downloaded in a queue. + * + * @internal + */ + protected function getThumbnailHeight(bool $from_queue): ?int { + $thumbnails_queued = $this->bundle->entity->thumbnailDownloadsAreQueued(); + if ($thumbnails_queued && $this->isNew()) { + return NULL; + } + elseif ($thumbnails_queued && !$from_queue) { + return $this->get('thumbnail')->height; + } + + $source = $this->getSource(); + return $source->getMetadata($this, $source->getPluginDefinition()['thumbnail_height_metadata_attribute']); + } + /** * Determines if the source field value has changed. * diff --git a/web/core/modules/media/src/Form/EditorMediaDialog.php b/web/core/modules/media/src/Form/EditorMediaDialog.php index 65f2d5986..8a961df6d 100644 --- a/web/core/modules/media/src/Form/EditorMediaDialog.php +++ b/web/core/modules/media/src/Form/EditorMediaDialog.php @@ -96,7 +96,6 @@ public function buildForm(array $form, FormStateInterface $form_state, EditorInt $editor_object = $form_state->getUserInput()['editor_object']; // The data that the text editor sends to any dialog is in // the 'editor_object' key. - // @see core/modules/ckeditor/js/ckeditor.es6.js $media_embed_element = $editor_object['attributes']; $form_state->set('media_embed_element', $media_embed_element); $has_caption = $editor_object['hasCaption']; diff --git a/web/core/modules/media/src/Plugin/CKEditorPlugin/DrupalMedia.php b/web/core/modules/media/src/Plugin/CKEditorPlugin/DrupalMedia.php deleted file mode 100644 index d475f1ab9..000000000 --- a/web/core/modules/media/src/Plugin/CKEditorPlugin/DrupalMedia.php +++ /dev/null @@ -1,132 +0,0 @@ -moduleExtensionList = $extension_list_module; - } - - /** - * {@inheritdoc} - */ - public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { - return new static( - $configuration, - $plugin_id, - $plugin_definition, - $container->get('extension.list.module') - ); - } - - /** - * {@inheritdoc} - */ - public function isInternal() { - return FALSE; - } - - /** - * {@inheritdoc} - */ - public function getDependencies(Editor $editor) { - return []; - } - - /** - * {@inheritdoc} - */ - public function getLibraries(Editor $editor) { - return [ - 'core/jquery', - 'core/drupal', - 'core/drupal.ajax', - 'media/media_embed_ckeditor_theme', - ]; - } - - /** - * {@inheritdoc} - */ - public function getFile() { - return $this->moduleExtensionList->getPath('media') . '/js/plugins/drupalmedia/plugin.js'; - } - - /** - * {@inheritdoc} - */ - public function getConfig(Editor $editor) { - return [ - 'drupalMedia_previewCsrfToken' => \Drupal::csrfToken()->get('X-Drupal-MediaPreview-CSRF-Token'), - ]; - } - - /** - * {@inheritdoc} - */ - public function isEnabled(Editor $editor) { - if (!$editor->hasAssociatedFilterFormat()) { - return FALSE; - } - - // Automatically enable this plugin if the text format associated with this - // text editor uses the media_embed filter. - $filters = $editor->getFilterFormat()->filters(); - return $filters->has('media_embed') && $filters->get('media_embed')->status; - } - - /** - * {@inheritdoc} - * - * @todo Improve this in https://www.drupal.org/project/drupal/issues/3072063 - */ - public function getCssFiles(Editor $editor) { - return [ - $this->moduleExtensionList->getPath('media') . '/css/plugins/drupalmedia/ckeditor.drupalmedia.css', - $this->moduleExtensionList->getPath('system') . '/css/components/hidden.module.css', - ]; - } - -} diff --git a/web/core/modules/media/src/Plugin/Field/FieldFormatter/MediaThumbnailFormatter.php b/web/core/modules/media/src/Plugin/Field/FieldFormatter/MediaThumbnailFormatter.php index e25a386f1..5d178b977 100644 --- a/web/core/modules/media/src/Plugin/Field/FieldFormatter/MediaThumbnailFormatter.php +++ b/web/core/modules/media/src/Plugin/Field/FieldFormatter/MediaThumbnailFormatter.php @@ -4,6 +4,7 @@ use Drupal\Core\Entity\EntityInterface; use Drupal\Core\Field\FieldItemListInterface; +use Drupal\Core\File\FileUrlGeneratorInterface; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Session\AccountInterface; use Drupal\image\ImageStyleStorageInterface; @@ -55,11 +56,21 @@ class MediaThumbnailFormatter extends ImageFormatter { * The current user. * @param \Drupal\image\ImageStyleStorageInterface $image_style_storage * The image style entity storage handler. - * @param \Drupal\Core\Render\RendererInterface $renderer + * @param \Drupal\Core\File\FileUrlGeneratorInterface|null $file_url_generator + * The file URL generator. + * @param \Drupal\Core\Render\RendererInterface|null $renderer * The renderer service. */ - public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, AccountInterface $current_user, ImageStyleStorageInterface $image_style_storage, RendererInterface $renderer) { - parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings, $current_user, $image_style_storage); + public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, AccountInterface $current_user, ImageStyleStorageInterface $image_style_storage, $file_url_generator = NULL, $renderer = NULL) { + if (!$file_url_generator instanceof FileUrlGeneratorInterface) { + $file_url_generator = \Drupal::service('file_url_generator'); + @trigger_error('Calling ' . __METHOD__ . '() without the $file_url_generator argument is deprecated in drupal:9.5.0 and $file_url_generator argument will be required in drupal:10.0.0. See https://www.drupal.org/node/3255887', E_USER_DEPRECATED); + } + if (!$renderer instanceof RendererInterface) { + $renderer = \Drupal::service('renderer'); + @trigger_error('Calling ' . __METHOD__ . '() without the $renderer argument is deprecated in drupal:9.5.0 and $renderer argument will be required in drupal:10.0.0. See https://www.drupal.org/node/3255887', E_USER_DEPRECATED); + } + parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings, $current_user, $image_style_storage, $file_url_generator); $this->renderer = $renderer; } @@ -77,6 +88,7 @@ public static function create(ContainerInterface $container, array $configuratio $configuration['third_party_settings'], $container->get('current_user'), $container->get('entity_type.manager')->getStorage('image_style'), + $container->get('file_url_generator'), $container->get('renderer') ); } @@ -113,14 +125,11 @@ public function settingsForm(array $form, FormStateInterface $form_state) { public function settingsSummary() { $summary = parent::settingsSummary(); - $link_types = [ - 'content' => $this->t('Linked to content'), - 'media' => $this->t('Linked to media item'), - ]; - // Display this setting only if image is linked. - $image_link_setting = $this->getSetting('image_link'); - if (isset($link_types[$image_link_setting])) { - $summary[] = $link_types[$image_link_setting]; + // The parent class adds summary text if the image_link setting is + // 'content'. Here we only have to add summary text if the setting + // is 'media'. + if ($this->getSetting('image_link') === 'media') { + $summary[] = $this->t('Linked to media item'); } return $summary; @@ -145,7 +154,9 @@ public function viewElements(FieldItemListInterface $items, $langcode) { $elements[$delta] = [ '#theme' => 'image_formatter', '#item' => $media->get('thumbnail')->first(), - '#item_attributes' => [], + '#item_attributes' => [ + 'loading' => $this->getSetting('image_loading')['attribute'], + ], '#image_style' => $this->getSetting('image_style'), '#url' => $this->getMediaThumbnailUrl($media, $items->getEntity()), ]; diff --git a/web/core/modules/media/src/Plugin/media/Source/OEmbed.php b/web/core/modules/media/src/Plugin/media/Source/OEmbed.php index 758a63f69..87e53f3da 100644 --- a/web/core/modules/media/src/Plugin/media/Source/OEmbed.php +++ b/web/core/modules/media/src/Plugin/media/Source/OEmbed.php @@ -50,8 +50,8 @@ * function example_media_source_info_alter(array &$sources) { * $sources['artwork'] = [ * 'id' => 'artwork', - * 'label' => t('Artwork'), - * 'description' => t('Use artwork from Flickr and DeviantArt.'), + * 'label' => $this->t('Artwork'), + * 'description' => $this->t('Use artwork from Flickr and DeviantArt.'), * 'allowed_field_types' => ['string'], * 'default_thumbnail_filename' => 'no-thumbnail.png', * 'providers' => ['Deviantart.com', 'Flickr'], diff --git a/web/core/modules/media/src/Plugin/media/Source/OEmbedDeriver.php b/web/core/modules/media/src/Plugin/media/Source/OEmbedDeriver.php index 8da3265f5..bdbc53556 100644 --- a/web/core/modules/media/src/Plugin/media/Source/OEmbedDeriver.php +++ b/web/core/modules/media/src/Plugin/media/Source/OEmbedDeriver.php @@ -3,6 +3,7 @@ namespace Drupal\media\Plugin\media\Source; use Drupal\Component\Plugin\Derivative\DeriverBase; +use Drupal\Core\StringTranslation\StringTranslationTrait; /** * Derives media source plugin definitions for supported oEmbed providers. @@ -13,6 +14,8 @@ */ class OEmbedDeriver extends DeriverBase { + use StringTranslationTrait; + /** * {@inheritdoc} */ @@ -20,8 +23,8 @@ public function getDerivativeDefinitions($base_plugin_definition) { $this->derivatives = [ 'video' => [ 'id' => 'video', - 'label' => t('Remote video'), - 'description' => t('Use remote video URL for reusable media.'), + 'label' => $this->t('Remote video'), + 'description' => $this->t('Use remote video URL for reusable media.'), 'providers' => ['YouTube', 'Vimeo'], 'default_thumbnail_filename' => 'video.png', ] + $base_plugin_definition, diff --git a/web/core/modules/media/tests/modules/media_test_embed/media_test_embed.info.yml b/web/core/modules/media/tests/modules/media_test_embed/media_test_embed.info.yml index a06c93a92..eb7ca8827 100644 --- a/web/core/modules/media/tests/modules/media_test_embed/media_test_embed.info.yml +++ b/web/core/modules/media/tests/modules/media_test_embed/media_test_embed.info.yml @@ -1,5 +1,5 @@ -name: Media Embed plugin test -description: 'Provides functionality to test embedding media items in CKEditor.' +name: Media Embed text editor plugin test +description: 'Provides functionality to test embedding media items in text editors.' type: module package: Testing version: VERSION diff --git a/web/core/modules/media/tests/modules/media_test_embed/media_test_embed.module b/web/core/modules/media/tests/modules/media_test_embed/media_test_embed.module index 2b8071ccf..35add70f0 100644 --- a/web/core/modules/media/tests/modules/media_test_embed/media_test_embed.module +++ b/web/core/modules/media/tests/modules/media_test_embed/media_test_embed.module @@ -2,7 +2,7 @@ /** * @file - * Helper module for the Media Embed CKEditor plugin tests. + * Helper module for the Media Embed text editor plugin tests. */ use Drupal\Core\Access\AccessResult; @@ -14,7 +14,6 @@ use Drupal\Core\Session\AccountInterface; * Implements hook_entity_view_alter(). */ function media_test_embed_entity_view_alter(&$build, EntityInterface $entity, EntityViewDisplayInterface $display) { - // @see \Drupal\Tests\media\FunctionalJavascript\CKEditorIntegrationTest::testPreviewUsesDefaultThemeAndIsClientCacheable() $build['#attributes']['data-media-embed-test-active-theme'] = \Drupal::theme()->getActiveTheme()->getName(); $build['#attributes']['data-media-embed-test-view-mode'] = $display->getMode(); } diff --git a/web/core/modules/media/tests/modules/media_test_embed/src/Controller/TestMediaFilterController.php b/web/core/modules/media/tests/modules/media_test_embed/src/Controller/TestMediaFilterController.php index f1173450d..09b926dba 100644 --- a/web/core/modules/media/tests/modules/media_test_embed/src/Controller/TestMediaFilterController.php +++ b/web/core/modules/media/tests/modules/media_test_embed/src/Controller/TestMediaFilterController.php @@ -8,7 +8,7 @@ use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; /** - * Controller to allow testing of error handling in drupalmedia plugin.js. + * Controller to allow testing of error handling of Media Embed in text editors. */ class TestMediaFilterController extends MediaFilterController { diff --git a/web/core/modules/media/tests/src/Functional/MediaAccessTest.php b/web/core/modules/media/tests/src/Functional/MediaAccessTest.php index 8bbfd14f3..a3c8cab2c 100644 --- a/web/core/modules/media/tests/src/Functional/MediaAccessTest.php +++ b/web/core/modules/media/tests/src/Functional/MediaAccessTest.php @@ -29,7 +29,7 @@ class MediaAccessTest extends MediaFunctionalTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'stark'; /** * {@inheritdoc} @@ -185,11 +185,13 @@ public function testMediaAccess() { $this->clickLink('Media'); $this->assertCacheContext('user'); $assert_session->statusCodeEquals(200); - $assert_session->elementExists('css', '.view-media'); - $assert_session->pageTextContains($this->loggedInUser->getDisplayName()); - $assert_session->pageTextContains($this->nonAdminUser->getDisplayName()); - $assert_session->linkByHrefExists('/media/' . $media->id()); - $assert_session->linkByHrefExists('/media/' . $user_media->id()); + $assert_session->elementExists('css', '.views-element-container'); + // First row of the View contains media created by admin user. + $assert_session->elementTextEquals('xpath', '//div[@class="views-element-container"]//tbody/tr[1]/td[contains(@class, "views-field-uid")]/a', $this->adminUser->getDisplayName()); + $assert_session->elementTextEquals('xpath', "//div[@class='views-element-container']//tbody/tr[1]/td[contains(@class, 'views-field-name')]/a[contains(@href, '/media/{$media->id()}')]", 'Unnamed'); + // Second row of the View contains media created by non-admin user. + $assert_session->elementTextEquals('xpath', '//div[@class="views-element-container"]//tbody/tr[2]/td[contains(@class, "views-field-uid")]/a', $this->nonAdminUser->getDisplayName()); + $assert_session->elementTextEquals('xpath', "//div[@class='views-element-container']//tbody/tr[2]/td[contains(@class, 'views-field-name')]/a[contains(@href, '/media/{$user_media->id()}')]", 'Unnamed'); } /** diff --git a/web/core/modules/media/tests/src/Functional/MediaOverviewPageTest.php b/web/core/modules/media/tests/src/Functional/MediaOverviewPageTest.php index ce6146cde..1f272ee23 100644 --- a/web/core/modules/media/tests/src/Functional/MediaOverviewPageTest.php +++ b/web/core/modules/media/tests/src/Functional/MediaOverviewPageTest.php @@ -16,7 +16,7 @@ class MediaOverviewPageTest extends MediaFunctionalTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'stark'; /** * {@inheritdoc} @@ -133,11 +133,9 @@ public function testMediaOverviewPage() { $this->assertSame($expected, $changed_element1->getText()); // Operations. - $edit_link1 = $assert_session->elementExists('css', 'td.views-field-operations li.edit a', $row1); - $this->assertSame('Edit', $edit_link1->getText()); + $assert_session->elementExists('css', 'td.views-field-operations li a:contains("Edit")', $row1); $assert_session->linkByHrefExists('/media/' . $media1->id() . '/edit'); - $delete_link1 = $assert_session->elementExists('css', 'td.views-field-operations li.delete a', $row1); - $this->assertSame('Delete', $delete_link1->getText()); + $assert_session->elementExists('css', 'td.views-field-operations li a:contains("Delete")', $row1); $assert_session->linkByHrefExists('/media/' . $media1->id() . '/delete'); // Make the user the owner of the unpublished media item and assert the diff --git a/web/core/modules/media/tests/src/Functional/Rest/MediaResourceTestBase.php b/web/core/modules/media/tests/src/Functional/Rest/MediaResourceTestBase.php index e3889ca80..618a64cb7 100644 --- a/web/core/modules/media/tests/src/Functional/Rest/MediaResourceTestBase.php +++ b/web/core/modules/media/tests/src/Functional/Rest/MediaResourceTestBase.php @@ -328,8 +328,12 @@ public function testPost() { } /** - * This duplicates some of the 'file_upload' REST resource plugin test - * coverage, to be able to test it on a concrete use case. + * Tests the 'file_upload' REST resource plugin. + * + * This test duplicates some of the 'file_upload' REST resource plugin test + * coverage. + * + * @see \Drupal\Tests\rest\Functional\FileUploadResourceTestBase */ protected function uploadFile() { // Enable the 'file_upload' REST resource for the current format + auth. diff --git a/web/core/modules/media/tests/src/Functional/UrlResolverTest.php b/web/core/modules/media/tests/src/Functional/UrlResolverTest.php index 7668d6935..b2e1672b9 100644 --- a/web/core/modules/media/tests/src/Functional/UrlResolverTest.php +++ b/web/core/modules/media/tests/src/Functional/UrlResolverTest.php @@ -58,8 +58,7 @@ public function providerEndpointMatching() { } /** - * Tests resource URL resolution when the asset URL can be matched to a - * provider endpoint. + * Tests resource URL resolution with a matched provider endpoint. * * @covers ::getProviderByUrl * @covers ::getResourceUrl @@ -118,8 +117,7 @@ public function providerUrlDiscovery() { } /** - * Tests URL resolution when the resource URL must be actively discovered by - * scanning the asset. + * Tests URL resolution when the URL is discovered by scanning the asset. * * @param string $url * The asset URL to resolve. diff --git a/web/core/modules/media/tests/src/FunctionalJavascript/CKEditorIntegrationTest.php b/web/core/modules/media/tests/src/FunctionalJavascript/CKEditorIntegrationTest.php deleted file mode 100644 index 53427a310..000000000 --- a/web/core/modules/media/tests/src/FunctionalJavascript/CKEditorIntegrationTest.php +++ /dev/null @@ -1,1603 +0,0 @@ - 'test_format', - 'name' => 'Test format', - 'filters' => [ - 'filter_align' => ['status' => TRUE], - 'filter_caption' => ['status' => TRUE], - 'media_embed' => ['status' => TRUE], - ], - ])->save(); - Editor::create([ - 'editor' => 'ckeditor', - 'format' => 'test_format', - 'settings' => [ - 'toolbar' => [ - 'rows' => [ - [ - [ - 'name' => 'All the things', - 'items' => [ - 'Source', - 'Bold', - 'Italic', - 'DrupalLink', - 'DrupalUnlink', - 'DrupalImage', - ], - ], - ], - ], - ], - ], - ])->save(); - - // Note that media_install() grants 'view media' to all users by default. - $this->adminUser = $this->drupalCreateUser([ - 'use text format test_format', - 'bypass node access', - ]); - - // Create a sample media entity to be embedded. - $this->createMediaType('image', ['id' => 'image']); - File::create([ - 'uri' => $this->getTestFiles('image')[0]->uri, - ])->save(); - $this->media = Media::create([ - 'bundle' => 'image', - 'name' => 'Screaming hairy armadillo', - 'field_media_image' => [ - [ - 'target_id' => 1, - 'alt' => 'default alt', - 'title' => 'default title', - ], - ], - ]); - $this->media->save(); - - // Create a sample host entity to embed media in. - $this->drupalCreateContentType(['type' => 'blog']); - $this->host = $this->createNode([ - 'type' => 'blog', - 'title' => 'Animals with strange names', - 'body' => [ - 'value' => '', - 'format' => 'test_format', - ], - ]); - $this->host->save(); - - $this->drupalLogin($this->adminUser); - } - - /** - * Tests that only tags are processed. - * - * @see \Drupal\Tests\media\Kernel\MediaEmbedFilterTest::testOnlyDrupalMediaTagProcessed() - */ - public function testOnlyDrupalMediaTagProcessed() { - $original_value = $this->host->body->value; - $this->host->body->value = str_replace('drupal-media', 'p', $original_value); - $this->host->save(); - - // Assert that `

                                              ` is not upcast into a CKEditor Widget. - $this->drupalGet($this->host->toUrl('edit-form')); - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - $assert_session = $this->assertSession(); - $this->assertEmpty($assert_session->waitForElementVisible('css', 'img[src*="image-test.png"]', 1000)); - $assert_session->elementNotExists('css', 'figure'); - - $this->host->body->value = $original_value; - $this->host->save(); - - // Assert that `` is upcast into a CKEditor Widget. - $this->getSession()->reload(); - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'img[src*="image-test.png"]')); - $assert_session->elementExists('css', 'figure'); - } - - /** - * Tests that failed media embed preview requests inform the end user. - */ - public function testErrorMessages() { - // This test currently frequently causes the SQLite database to lock, so - // skip the test on SQLite until the issue can be resolved. - // @todo https://www.drupal.org/project/drupal/issues/3273626 - if (Database::getConnection()->driver() === 'sqlite') { - $this->markTestSkipped('Test frequently causes a locked database on SQLite'); - } - - // Assert that a request to the `media.filter.preview` route that does not - // result in a 200 response (due to server error or network error) is - // handled in the JavaScript by displaying the expected error message. - // @see core/modules/media/js/media_embed_ckeditor.theme.js - // @see core/modules/media/js/plugins/drupalmedia/plugin.js - $this->container->get('state')->set('test_media_filter_controller_throw_error', TRUE); - $this->drupalGet($this->host->toUrl('edit-form')); - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - $assert_session = $this->assertSession(); - $this->assertEmpty($assert_session->waitForElementVisible('css', 'img[src*="image-test.png"]', 1000)); - $assert_session->elementNotExists('css', 'figure'); - $this->assertNotEmpty($assert_session->waitForText('An error occurred while trying to preview the media. Please save your work and reload this page.')); - // Now assert that the error doesn't appear when the override to force an - // error is removed. - $this->container->get('state')->set('test_media_filter_controller_throw_error', FALSE); - $this->getSession()->reload(); - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'img[src*="image-test.png"]')); - - // There's a second kind of error message that comes from the back end - // that happens when the media uuid can't be converted to a media preview. - // In this case, the error will appear in a the themeable - // media-embed-error.html template. We have a hook altering the css - // classes to test the twi template is working properly and picking up our - // extra class. - // @see \Drupal\media\Plugin\Filter\MediaEmbed::renderMissingMediaIndicator() - // @see core/modules/media/templates/media-embed-error.html.twig - // @see media_test_embed_preprocess_media_embed_error() - $original_value = $this->host->body->value; - $this->host->body->value = str_replace($this->media->uuid(), 'invalid_uuid', $original_value); - $this->host->save(); - $this->drupalGet($this->host->toUrl('edit-form')); - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - $this->assertNotEmpty($assert_session->waitForElement('css', 'drupal-media figure.caption-drupal-media .this-error-message-is-themeable')); - - // Test when using the classy theme, an additional class is added in - // classy/templates/content/media-embed-error.html.twig. - $this->assertTrue($this->container->get('theme_installer')->install(['classy'])); - $this->config('system.theme') - ->set('default', 'classy') - ->save(); - $this->drupalGet($this->host->toUrl('edit-form')); - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - $this->assertNotEmpty($assert_session->waitForElement('css', 'drupal-media figure.caption-drupal-media .this-error-message-is-themeable.media-embed-error--missing-source')); - $assert_session->responseContains('classy/css/components/media-embed-error.css'); - - // Test that restoring a valid UUID results in the media embed preview - // displaying. - $this->host->body->value = $original_value; - $this->host->save(); - $this->drupalGet($this->host->toUrl('edit-form')); - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'img[src*="image-test.png"]')); - $assert_session->elementNotExists('css', 'drupal-media figure.caption-drupal-media .this-error-message-is-themeable'); - } - - /** - * The CKEditor Widget must load a preview generated using the default theme. - */ - public function testPreviewUsesDefaultThemeAndIsClientCacheable() { - // Make the node edit form use the admin theme, like on most Drupal sites. - $this->config('node.settings') - ->set('use_admin_theme', TRUE) - ->save(); - - // Allow the test user to view the admin theme. - $this->adminUser->addRole($this->drupalCreateRole(['view the administration theme'])); - $this->adminUser->save(); - - // Configure a different default and admin theme, like on most Drupal sites. - $this->config('system.theme') - ->set('default', 'stable') - ->set('admin', 'classy') - ->save(); - - // Assert that when looking at an embedded entity in the CKEditor Widget, - // the preview is generated using the default theme, not the admin theme. - // @see media_test_embed_entity_view_alter() - $this->drupalGet($this->host->toUrl('edit-form')); - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - $assert_session = $this->assertSession(); - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'img[src*="image-test.png"]')); - $element = $assert_session->elementExists('css', '[data-media-embed-test-active-theme]'); - $this->assertSame('stable', $element->getAttribute('data-media-embed-test-active-theme')); - // Assert that the first preview request transferred >500 B over the wire. - // Then toggle source mode on and off. This causes the CKEditor widget to be - // destroyed and then reconstructed. Assert that during this reconstruction, - // a second request is sent. This second request should have transferred 0 - // bytes: the browser should have cached the response, thus resulting in a - // much better user experience. - $this->assertGreaterThan(500, $this->getLastPreviewRequestTransferSize()); - $this->pressEditorButton('source'); - $this->assertNotEmpty($assert_session->waitForElement('css', 'textarea.cke_source')); - $this->pressEditorButton('source'); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'img[src*="image-test.png"]')); - $this->assertSame(0, $this->getLastPreviewRequestTransferSize()); - } - - /** - * Tests caption editing in the CKEditor widget. - */ - public function testEditableCaption() { - $page = $this->getSession()->getPage(); - $assert_session = $this->assertSession(); - // Test that setting caption to blank string doesn't break 'Edit media' - // button. - $original_value = $this->host->body->value; - $this->host->body->value = str_replace('data-caption="baz"', 'data-caption=""', $original_value); - $this->host->save(); - $this->drupalGet($this->host->toUrl('edit-form')); - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - $this->assertNotEmpty($assert_session->waitForButton('Edit media')); - // Test `aria-label` attribute appears on the widget wrapper. - $assert_session->elementExists('css', '.cke_widget_drupalmedia[aria-label="Screaming hairy armadillo"]'); - $assert_session->elementContains('css', 'figcaption', ''); - $assert_session->elementAttributeContains('css', 'figcaption', 'data-placeholder', 'Enter caption here'); - // Test if you leave the caption blank, but change another attribute, - // such as the alt text, the editable caption is still there and the edit - // button still exists. - $this->fillFieldInMetadataDialogAndSubmit('attributes[alt]', 'Mama, life had just begun'); - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'drupal-media img[alt*="Mama, life had just begun"]')); - $assert_session->buttonExists('Edit media'); - $assert_session->elementContains('css', 'figcaption', ''); - $assert_session->elementAttributeContains('css', 'figcaption', 'data-placeholder', 'Enter caption here'); - - // Restore caption in saved body value. - $original_value = $this->host->body->value; - $this->host->body->value = str_replace('data-caption=""', 'data-caption="baz"', $original_value); - $this->host->save(); - - $this->drupalGet($this->host->toUrl('edit-form')); - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - // Assert that figcaption element exists within the drupal-media element. - $this->assertNotEmpty($figcaption = $assert_session->waitForElement('css', 'drupal-media figcaption')); - $this->assertSame('baz', $figcaption->getHtml()); - - // Test that disabling the caption in the metadata dialog removes it - // from the drupal-media element. - $this->openMetadataDialogWithKeyPress(static::SPACE_BAR); - $page->uncheckField('hasCaption'); - $this->submitDialog(); - $this->getSession()->switchToIFrame('ckeditor'); - $this->assertNotEmpty($drupal_media = $assert_session->waitForElementVisible('css', 'drupal-media')); - - // Wait for element to update without figcaption. - $result = $page->waitFor(10, function () use ($drupal_media) { - return empty($drupal_media->find('css', 'figcaption')); - }); - // Will be true if no figcaption exists within the drupal-media element. - $this->assertTrue($result); - - // Test that enabling the caption in the metadata dialog adds an editable - // caption to the embedded media. - $this->openMetadataDialogWithKeyPress(static::SPACE_BAR); - $page->checkField('hasCaption'); - $this->submitDialog(); - $this->getSession()->switchToIFrame('ckeditor'); - $this->assertNotEmpty($drupal_media = $assert_session->waitForElementVisible('css', 'drupal-media figcaption')); - - // Type into the widget's caption element. - $this->assertNotEmpty($assert_session->waitForElement('css', 'figcaption')); - $this->setCaption('Caught in a landslide! No escape from reality!'); - $this->getSession()->switchToIFrame('ckeditor'); - $assert_session->elementExists('css', 'figcaption > em'); - $assert_session->elementExists('css', 'figcaption > strong')->click(); - - // Select the element and unbold it. - $this->clickPathLinkByTitleAttribute("strong element"); - $this->pressEditorButton('bold'); - $this->getSession()->switchToIFrame('ckeditor'); - $assert_session->elementExists('css', 'figcaption > em'); - $assert_session->elementNotExists('css', 'figcaption > strong'); - - // Select the element and unitalicize it. - $assert_session->elementExists('css', 'figcaption > em')->click(); - $this->clickPathLinkByTitleAttribute("em element"); - $this->pressEditorButton('italic'); - - // The "source" button should reveal the HTML source in a state matching - // what is shown in the CKEditor widget. - $this->pressEditorButton('source'); - $source = $assert_session->elementExists('css', 'textarea.cke_source'); - $value = $source->getValue(); - $dom = Html::load($value); - $xpath = new \DOMXPath($dom); - $drupal_media = $xpath->query('//drupal-media')[0]; - $this->assertSame('Caught in a landslide! No escape from reality!', $drupal_media->getAttribute('data-caption')); - - // Change the caption by modifying the HTML source directly. When exiting - // "source" mode, this should be respected. - $poor_boy_text = "I'm just a poor boy, I need no sympathy!"; - $drupal_media->setAttribute("data-caption", $poor_boy_text); - $source->setValue(Html::serialize($dom)); - $this->pressEditorButton('source'); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - $figcaption = $assert_session->waitForElement('css', 'figcaption'); - $this->assertNotEmpty($figcaption); - $this->assertSame($poor_boy_text, $figcaption->getHtml()); - - // Select the element that we just set in "source" mode. This - // proves that it was indeed rendered by the CKEditor widget. - $strong = $figcaption->find('css', 'strong'); - $this->assertNotEmpty($strong); - $strong->click(); - $this->pressEditorButton('bold'); - - // Insert a link into the caption. - $this->clickPathLinkByTitleAttribute("Caption element"); - $this->pressEditorButton('drupallink'); - $field = $assert_session->waitForElementVisible('xpath', '//input[@name="attributes[href]"]'); - $this->assertNotEmpty($field); - $field->setValue('https://www.drupal.org'); - $assert_session->elementExists('css', 'button.form-submit')->press(); - - // Wait for the live preview in the CKEditor widget to finish loading, then - // edit the link; no `data-cke-saved-href` attribute should exist on it. - $this->getSession()->switchToIFrame('ckeditor'); - $figcaption = $assert_session->waitForElement('css', 'figcaption'); - $page = $this->getSession()->getPage(); - // Wait for AJAX refresh. - $page->waitFor(10, function () use ($figcaption) { - return $figcaption->find('xpath', '//a[@href="https://www.drupal.org"]'); - }); - $assert_session->elementExists('css', 'a', $figcaption)->click(); - $this->clickPathLinkByTitleAttribute("a element"); - $this->pressEditorButton('drupallink'); - $field = $assert_session->waitForElementVisible('xpath', '//input[@name="attributes[href]"]'); - $this->assertNotEmpty($field); - $field->setValue('https://www.drupal.org/project/drupal'); - $assert_session->elementExists('css', 'button.form-submit')->press(); - $this->getSession()->switchToIFrame('ckeditor'); - $figcaption = $assert_session->waitForElement('css', 'figcaption'); - $page = $this->getSession()->getPage(); - // Wait for AJAX refresh. - $page->waitFor(10, function () use ($figcaption) { - return $figcaption->find('xpath', '//a[@href="https://www.drupal.org/project/drupal"]'); - }); - $this->pressEditorButton('source'); - $source = $assert_session->elementExists('css', "textarea.cke_source"); - $value = $source->getValue(); - $this->assertStringContainsString('https://www.drupal.org/project/drupal', $value); - $this->assertStringNotContainsString('data-cke-saved-href', $value); - - // Save the entity. - $assert_session->buttonExists('Save')->press(); - - // Verify the saved entity when viewed also contains the captioned media. - $link = $assert_session->elementExists('css', 'figcaption > a'); - $this->assertSame('https://www.drupal.org/project/drupal', $link->getAttribute('href')); - $this->assertSame("I'm just a poor boy, I need no sympathy!", $link->getText()); - - // Edit it again, type a different caption in the widget. - $this->drupalGet($this->host->toUrl('edit-form')); - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'figcaption')); - $this->setCaption('Scaramouch, Scaramouch, will you do the Fandango?'); - - // Erase the caption in the CKEditor Widget, verify the

                                              still - // exists and contains placeholder text, then type something else. - $this->setCaption(''); - $this->getSession()->switchToIFrame('ckeditor'); - $assert_session->elementContains('css', 'figcaption', ''); - $assert_session->elementAttributeContains('css', 'figcaption', 'data-placeholder', 'Enter caption here'); - $this->setCaption('Fin.'); - $this->getSession()->switchToIFrame('ckeditor'); - $assert_session->elementContains('css', 'figcaption', 'Fin.'); - } - - /** - * Tests the EditorMediaDialog's form elements' #access logic. - */ - public function testDialogAccess() { - $page = $this->getSession()->getPage(); - $assert_session = $this->assertSession(); - $this->drupalGet($this->host->toUrl('edit-form')); - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - - // Enable `filter_html` without "alt", "data-align" or "data-caption" - // attributes added to the drupal-media tag. - $allowed_html = "
                                                1. "; - $filter_format = FilterFormat::load('test_format'); - $filter_format->setFilterConfig('filter_html', [ - 'status' => TRUE, - 'settings' => [ - 'allowed_html' => $allowed_html, - ], - ])->save(); - - // Test the validation of attributes in the dialog. If the alt, - // data-caption, and data-align attributes are not set on the drupal-media - // tag, the respective fields shouldn't display in the dialog. - $this->drupalGet($this->host->toUrl('edit-form')); - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'drupal-media', 2000)); - // Test `aria-label` attribute appears on the widget wrapper. - $assert_session->elementExists('css', '.cke_widget_drupalmedia[aria-label="Screaming hairy armadillo"]'); - $page->pressButton('Edit media'); - $this->waitForMetadataDialog(); - $assert_session->fieldNotExists('attributes[alt]'); - $assert_session->fieldNotExists('attributes[align]'); - $assert_session->fieldNotExists('hasCaption'); - $assert_session->pageTextContains('There is nothing to configure for this media.'); - // The edit link for the format shouldn't appear unless the user has - // permission to edit the text format. - $assert_session->pageTextNotContains('Edit the text format Test format to modify the attributes that can be overridden.'); - $page->pressButton('Close'); - $this->getSession()->switchToIFrame('ckeditor'); - - // Now test the same thing with a user who has access to edit text formats. - // An extra message containing a link to edit the text format should - // appear. - Role::load(RoleInterface::AUTHENTICATED_ID) - ->grantPermission('administer filters') - ->save(); - $this->drupalGet($this->host->toUrl('edit-form')); - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'drupal-media', 2000)); - $page->pressButton('Edit media'); - $this->waitForMetadataDialog(); - $assert_session->fieldNotExists('attributes[alt]'); - $assert_session->fieldNotExists('attributes[align]'); - $assert_session->fieldNotExists('hasCaption'); - $assert_session->pageTextContains('There is nothing to configure for this media. Edit the text format Test format to modify the attributes that can be overridden.'); - $assert_session->linkExists('Edit the text format Test format'); - $page->pressButton('Close'); - $this->getSession()->switchToIFrame('ckeditor'); - - // Now test that adding the attributes to the allowed HTML will allow - // the fields to display in the dialog. - $allowed_html = str_replace('', '', $allowed_html); - $filter_format->setFilterConfig('filter_html', [ - 'status' => TRUE, - 'settings' => [ - 'allowed_html' => $allowed_html, - ], - ])->save(); - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'drupal-media', 2000)); - $page->pressButton('Edit media'); - $this->waitForMetadataDialog(); - $assert_session->fieldExists('attributes[alt]'); - $assert_session->fieldExists('attributes[data-align]'); - $assert_session->fieldExists('hasCaption'); - $page->pressButton('Close'); - $this->getSession()->switchToIFrame('ckeditor'); - - // Test that setting the media image field to not display alt field also - // disables it in the dialog. - FieldConfig::loadByName('media', 'image', 'field_media_image') - ->setSetting('alt_field', FALSE) - ->save(); - // @todo This manual cache clearing should not be necessary, fix in - // https://www.drupal.org/project/drupal/issues/3076544 - $this->container - ->get('cache.discovery') - ->delete('entity_bundle_field_definitions:media:image:en'); - // Wait for preview. - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'drupal-media', 2000)); - $page->pressButton('Edit media'); - $this->waitForMetadataDialog(); - $assert_session->fieldNotExists('attributes[alt]'); - $assert_session->fieldExists('attributes[data-align]'); - $assert_session->fieldExists('hasCaption'); - $page->pressButton('Close'); - $this->getSession()->switchToIFrame('ckeditor'); - - // Test that enabling the alt field on the media image field restores - // the field in the dialog. - FieldConfig::loadByName('media', 'image', 'field_media_image') - ->setSetting('alt_field', TRUE) - ->save(); - // @todo This manual cache clearing should not be necessary, fix in - // https://www.drupal.org/project/drupal/issues/3076544 - $this->container - ->get('cache.discovery') - ->delete('entity_bundle_field_definitions:media:image:en'); - // Wait for preview. - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'drupal-media', 2000)); - $page->pressButton('Edit media'); - $this->waitForMetadataDialog(); - $assert_session->fieldExists('attributes[alt]'); - $assert_session->fieldExists('attributes[data-align]'); - $assert_session->fieldExists('hasCaption'); - $page->pressButton('Close'); - $this->getSession()->switchToIFrame('ckeditor'); - - // Test that disabling `filter_caption` and `filter_align` disables the - // respective fields in the dialog. - $filter_format - ->setFilterConfig('filter_caption', [ - 'status' => FALSE, - ])->setFilterConfig('filter_align', [ - 'status' => FALSE, - ])->save(); - // Wait for preview. - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'drupal-media', 2000)); - $page->pressButton('Edit media'); - $this->waitForMetadataDialog(); - $assert_session->fieldNotExists('attributes[data-align]'); - $assert_session->fieldNotExists('hasCaption'); - // The alt field should be unaffected. - $assert_session->fieldExists('attributes[alt]'); - $page->pressButton('Close'); - $this->getSession()->switchToIFrame('ckeditor'); - - // Test that enabling the two filters restores the fields in the dialog. - $filter_format - ->setFilterConfig('filter_caption', [ - 'status' => TRUE, - ])->setFilterConfig('filter_align', [ - 'status' => TRUE, - ])->save(); - // Wait for preview. - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'drupal-media', 2000)); - $page->pressButton('Edit media'); - $this->waitForMetadataDialog(); - $assert_session->fieldExists('attributes[data-align]'); - $assert_session->fieldExists('hasCaption'); - $assert_session->pageTextNotContains('There is nothing to configure for this media. Edit the text format Test format to modify the attributes that can be overridden.'); - // The alt field should be unaffected. - $assert_session->fieldExists('attributes[alt]'); - } - - /** - * Tests the EditorMediaDialog can set the alt attribute. - */ - public function testAlt() { - $page = $this->getSession()->getPage(); - $assert_session = $this->assertSession(); - $this->drupalGet($this->host->toUrl('edit-form')); - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - // Wait for the media preview to load. - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'drupal-media img')); - // Test that by default no alt attribute is present on the drupal-media - // element. - $this->pressEditorButton('source'); - $this->assertSourceAttributeSame('alt', NULL); - $this->leaveSourceMode(); - // Test that the preview shows the alt value from the media field's - // alt text. - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'drupal-media img[alt*="default alt"]')); - $this->openMetadataDialogWithKeyPress(static::RETURN_KEY); - // Assert that the placeholder is set to the value of the media field's - // alt text. - $assert_session->elementAttributeContains('named', ['field', 'attributes[alt]'], 'placeholder', 'default alt'); - - // Fill in the alt field, submit and return to CKEditor. - // cSpell:disable-next-line - $who_is_zartan = 'Zartan is the leader of the Dreadnoks.'; - $page->fillField('attributes[alt]', $who_is_zartan); - $this->submitDialog(); - $this->getSession()->switchToIFrame('ckeditor'); - - // Assert that the img within the media embed within the CKEditor contains - // the overridden alt text set in the dialog. - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'drupal-media img[alt*="' . $who_is_zartan . '"]')); - // Test `aria-label` attribute appears on the widget wrapper. - $assert_session->elementExists('css', '.cke_widget_drupalmedia[aria-label="Screaming hairy armadillo"]'); - - // Test that the downcast drupal-media element now has the alt attribute - // entered in the dialog. - $this->pressEditorButton('source'); - $this->assertSourceAttributeSame('alt', $who_is_zartan); - - // The alt field should now display the override instead of the default. - $this->leaveSourceMode(); - $this->openMetadataDialog(); - $assert_session->fieldValueEquals('attributes[alt]', $who_is_zartan); - - // Test the process again with a different alt text to make sure it works - // the second time around. - $cobra_commander_bio = 'The supreme leader of the terrorist organization Cobra'; - // Set the alt field to the new alt text. - $page->fillField('attributes[alt]', $cobra_commander_bio); - $this->submitDialog(); - $this->getSession()->switchToIFrame('ckeditor'); - // Assert that the img within the media embed preview - // within the CKEditor contains the overridden alt text set in the dialog. - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'drupal-media img[alt*="' . $cobra_commander_bio . '"]')); - - // Test that the downcast drupal-media element now has the alt attribute - // entered in the dialog. - $this->pressEditorButton('source'); - $this->assertSourceAttributeSame('alt', $cobra_commander_bio); - - // The default value of the alt field should now display the override - // instead of the value on the media image field. - $this->leaveSourceMode(); - $this->openMetadataDialogWithKeyPress(static::RETURN_KEY); - $assert_session->fieldValueEquals('attributes[alt]', $cobra_commander_bio); - - // Test that setting alt value to two double quotes will signal to the - // MediaEmbed filter to unset the attribute on the media image field. We - // intentionally add a space after the two double quotes to test the string - // is trimmed to two quotes. - $page->fillField('attributes[alt]', '"" '); - $this->submitDialog(); - $this->getSession()->switchToIFrame('ckeditor'); - // Verify that the two double quote empty alt indicator ('""') set in - // the dialog has successfully resulted in a media image field with the - // alt attribute present but without a value. - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'drupal-media img[alt=""]')); - - // Test that the downcast drupal-media element's alt attribute now has the - // empty string indicator. - $this->pressEditorButton('source'); - $this->assertSourceAttributeSame('alt', '""'); - - // Test that setting alt to back to an empty string within the dialog will - // restore the default alt value saved in to the media image field of the - // media item. - $this->leaveSourceMode(); - $this->openMetadataDialog(); - $page->fillField('attributes[alt]', ''); - $this->submitDialog(); - $this->getSession()->switchToIFrame('ckeditor'); - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'drupal-media img[alt*="default alt"]')); - - // Test that the downcast drupal-media element no longer has an alt - // attribute. - $this->pressEditorButton('source'); - $this->assertSourceAttributeSame('alt', NULL); - } - - /** - * Tests that dialog loads appropriate translation's alt text. - */ - public function testTranslationAlt() { - \Drupal::service('module_installer')->install(['language', 'content_translation']); - $this->resetAll(); - ConfigurableLanguage::create(['id' => 'fr'])->save(); - ContentLanguageSettings::loadByEntityTypeBundle('media', 'image') - ->setDefaultLangcode('en') - ->setLanguageAlterable(TRUE) - ->save(); - $media = Media::create([ - 'bundle' => 'image', - 'name' => 'Screaming hairy armadillo', - 'field_media_image' => [ - [ - 'target_id' => 1, - 'alt' => 'default alt', - 'title' => 'default title', - ], - ], - ]); - $media->save(); - $media_fr = $media->addTranslation('fr'); - $media_fr->name = "Tatou poilu hurlant"; - $media_fr->field_media_image->setValue([ - [ - 'target_id' => '1', - 'alt' => "texte alternatif par défaut", - 'title' => "titre alternatif par défaut", - ], - ]); - $media_fr->save(); - - ContentLanguageSettings::loadByEntityTypeBundle('node', 'blog') - ->setDefaultLangcode('en') - ->setLanguageAlterable(TRUE) - ->save(); - - $host = $this->createNode([ - 'type' => 'blog', - 'title' => 'Animals with strange names', - 'body' => [ - 'value' => '', - 'format' => 'test_format', - ], - ]); - $host->save(); - - $translation = $host->addTranslation('fr'); - // cSpell:disable-next-line - $translation->title = 'Animaux avec des noms étranges'; - $translation->body->value = $host->body->value; - $translation->body->format = $host->body->format; - $translation->save(); - - Role::load(RoleInterface::AUTHENTICATED_ID) - ->grantPermission('translate any entity') - ->save(); - - $page = $this->getSession()->getPage(); - $assert_session = $this->assertSession(); - $this->drupalGet('/fr/node/' . $host->id() . '/edit'); - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - - // Test that the default alt attribute displays without an override. - // cSpell:disable-next-line - $this->assertNotEmpty($assert_session->waitForElementVisible('xpath', '//img[contains(@alt, "texte alternatif par défaut")]')); - // Test `aria-label` attribute appears on the widget wrapper. - // cSpell:disable-next-line - $assert_session->elementExists('css', '.cke_widget_drupalmedia[aria-label="Tatou poilu hurlant"]'); - $page->pressButton('Edit media'); - $this->waitForMetadataDialog(); - // Assert that the placeholder is set to the value of the media field's - // alt text. - // cSpell:disable-next-line - $assert_session->elementAttributeContains('named', ['field', 'attributes[alt]'], 'placeholder', 'texte alternatif par défaut'); - - // Fill in the alt field in the dialog. - // cSpell:disable-next-line - $qui_est_zartan = 'Zartan est le chef des Dreadnoks.'; - $page->fillField('attributes[alt]', $qui_est_zartan); - $this->submitDialog(); - $this->getSession()->switchToIFrame('ckeditor'); - - // Assert that the img within the media embed within CKEditor contains - // the overridden alt text set in the dialog. - $this->assertNotEmpty($assert_session->waitForElementVisible('xpath', '//img[contains(@alt, "' . $qui_est_zartan . '")]')); - $this->getSession()->switchToIFrame(); - $page->pressButton('Save'); - $assert_session->elementExists('xpath', '//img[contains(@alt, "' . $qui_est_zartan . '")]'); - } - - /** - * Tests linkability of the CKEditor widget. - * - * @dataProvider linkabilityProvider - */ - public function testLinkability($drupalimage_is_enabled) { - if (!$drupalimage_is_enabled) { - // Remove the `drupalimage` plugin's `DrupalImage` button. - $editor = Editor::load('test_format'); - $settings = $editor->getSettings(); - $rows = $settings['toolbar']['rows']; - foreach ($rows as $row_key => $row) { - foreach ($row as $group_key => $group) { - foreach ($group['items'] as $item_key => $item) { - if ($item === 'DrupalImage') { - unset($settings['toolbar']['rows'][$row_key][$group_key]['items'][$item_key]); - } - } - } - } - $editor->setSettings($settings); - $editor->save(); - } - - $this->host->body->value .= '

                                                  The pirate is irate.

                                                  '; - if ($drupalimage_is_enabled) { - // Add an image with a link wrapped around it. - $uri = $this->media->field_media_image->entity->getFileUri(); - /** @var \Drupal\Core\File\FileUrlGeneratorInterface $file_url_generator */ - $file_url_generator = \Drupal::service('file_url_generator'); - $src = $file_url_generator->generateString($uri); - $this->host->body->value .= 'drupalimage test image

                                                  '; - } - $this->host->save(); - - $this->drupalGet($this->host->toUrl('edit-form')); - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - $assert_session = $this->assertSession(); - - // Select the CKEditor Widget. - $drupalmedia = $assert_session->waitForElementVisible('css', 'drupal-media'); - $this->assertNotEmpty($drupalmedia); - $drupalmedia->click(); - - // While the CKEditor Widget is selected, assert the context menu does not - // contain link-related context menu items. - $this->openContextMenu(); - $this->assignNameToCkeditorPanelIframe(); - $this->getSession()->switchToIFrame('panel'); - $this->assertContextMenuItemNotExists('Edit Link'); - $this->assertContextMenuItemNotExists('Unlink'); - $this->closeContextMenu(); - - // While the CKEditor Widget is selected, click the "link" button. - $this->pressEditorButton('drupallink'); - $assert_session->waitForId('drupal-modal'); - - // Enter a link in the link dialog and save. - $field = $assert_session->waitForElementVisible('xpath', '//input[@name="attributes[href]"]'); - $this->assertNotEmpty($field); - $field->setValue('https://www.drupal.org'); - $assert_session->elementExists('css', 'button.form-submit')->press(); - $this->getSession()->switchToIFrame('ckeditor'); - $link = $assert_session->waitForElementVisible('css', 'a[href="https://www.drupal.org"]'); - $this->assertNotEmpty($link); - - // Select the CKEditor Widget again and assert the context menu now does - // contain link-related context menu items. - $drupalmedia = $assert_session->waitForElementVisible('css', 'drupal-media'); - $this->assertNotEmpty($drupalmedia); - $drupalmedia->click(); - $this->openContextMenu(); - $this->getSession()->switchToIFrame('panel'); - $this->assertContextMenuItemExists('Edit Link'); - $this->assertContextMenuItemExists('Unlink'); - $this->closeContextMenu(); - - // Save the entity. - $this->getSession()->switchToIFrame(); - $assert_session->buttonExists('Save')->press(); - - // Verify the saved entity when viewed also contains the linked media. - $assert_session->elementExists('css', 'figure > a[href="https://www.drupal.org"] > .media--type-image > .field--type-image > img[src*="image-test.png"]'); - - // Test that `drupallink` also still works independently: inserting a link - // is possible. - $this->drupalGet($this->host->toUrl('edit-form')); - $this->waitForEditor(); - $this->pressEditorButton('drupallink'); - $assert_session->waitForId('drupal-modal'); - $field = $assert_session->waitForElementVisible('xpath', '//input[@name="attributes[href]"]'); - $this->assertNotEmpty($field); - $field->setValue('https://wikipedia.org'); - $assert_session->elementExists('css', 'button.form-submit')->press(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - $link = $assert_session->waitForElementVisible('css', 'body > a[href="https://wikipedia.org"]'); - $this->assertNotEmpty($link); - $assert_session->elementExists('css', 'body > .cke_widget_drupalmedia > drupal-media > figure > a[href="https://www.drupal.org"]'); - - // Select the CKEditor Widget again and assert the `drupalunlink` button is - // enabled. Also assert the context menu again contains link-related context - // menu items. - $drupalmedia = $assert_session->waitForElementVisible('css', 'drupal-media'); - $this->assertNotEmpty($drupalmedia); - $drupalmedia->click(); - $this->openContextMenu(); - $this->getSession()->switchToIFrame(); - $this->assertEditorButtonEnabled('drupalunlink'); - $this->assignNameToCkeditorPanelIframe(); - $this->getSession()->switchToIFrame('panel'); - $this->assertContextMenuItemExists('Edit Link'); - $this->assertContextMenuItemExists('Unlink'); - - // Test that moving focus to another element causes the `drupalunlink` - // button to become disabled and causes link-related context menu items to - // disappear. - $this->getSession()->switchToIFrame(); - $this->getSession()->switchToIFrame('ckeditor'); - $p = $assert_session->waitForElementVisible('xpath', "//p[contains(text(), 'The pirate is irate')]"); - $this->assertNotEmpty($p); - $p->click(); - $this->assertEditorButtonDisabled('drupalunlink'); - $this->getSession()->switchToIFrame('panel'); - $this->assertContextMenuItemExists('Edit Link'); - $this->assertContextMenuItemExists('Unlink'); - - // To switch from the context menu iframe ("panel") back to the CKEditor - // iframe, we first have to reset to top frame. - $this->getSession()->switchToIFrame(); - $this->getSession()->switchToIFrame('ckeditor'); - - // Test that moving focus to the `drupalimage` CKEditor Widget enables the - // `drupalunlink` button again, because it is a linked image. - if ($drupalimage_is_enabled) { - $drupalimage = $assert_session->waitForElementVisible('xpath', '//img[@alt="drupalimage test image"]'); - $this->assertNotEmpty($drupalimage); - $drupalimage->click(); - $this->assertEditorButtonEnabled('drupalunlink'); - $this->getSession()->switchToIFrame('panel'); - $this->assertContextMenuItemExists('Edit Link'); - $this->assertContextMenuItemExists('Unlink'); - $this->getSession()->switchToIFrame(); - $this->getSession()->switchToIFrame('ckeditor'); - } - - // Tests the `drupalunlink` button for the `drupalmedia` CKEditor Widget. - $drupalmedia->click(); - $this->assertEditorButtonEnabled('drupalunlink'); - $this->getSession()->switchToIFrame('panel'); - $this->assertContextMenuItemExists('Edit Link'); - $this->assertContextMenuItemExists('Unlink'); - $this->pressEditorButton('drupalunlink'); - $this->assertEditorButtonDisabled('drupalunlink'); - $this->getSession()->switchToIFrame('ckeditor'); - $assert_session->elementNotExists('css', 'figure > a[href="https://www.drupal.org"] > .media--type-image > .field--type-image > img[src*="image-test.png"]'); - $assert_session->elementExists('css', 'figure .media--type-image > .field--type-image > img[src*="image-test.png"]'); - if ($drupalimage_is_enabled) { - // Tests the `drupalunlink` button for the `drupalimage` CKEditor Widget. - $drupalimage->click(); - $this->assertEditorButtonEnabled('drupalunlink'); - $this->pressEditorButton('drupalunlink'); - $this->assertEditorButtonDisabled('drupalunlink'); - $this->getSession()->switchToIFrame('ckeditor'); - $assert_session->elementNotExists('css', 'p > a[href="https://www.drupal.org/association"] > img[src*="image-test.png"]'); - $assert_session->elementExists('css', 'p > img[src*="image-test.png"]'); - } - } - - /** - * Data Provider for ::testLinkability. - */ - public function linkabilityProvider() { - return [ - 'linkability when `drupalimage` is enabled' => [ - TRUE, - ], - 'linkability when `drupalimage` is disabled' => [ - FALSE, - ], - ]; - } - - /** - * Tests preview route access. - * - * @param bool $media_embed_enabled - * Whether to test with media_embed filter enabled on the text format. - * @param bool $can_use_format - * Whether the logged in user is allowed to use the text format. - * - * @dataProvider previewAccessProvider - */ - public function testEmbedPreviewAccess($media_embed_enabled, $can_use_format) { - // Reconfigure the host entity's text format to suit our needs. - /** @var \Drupal\filter\FilterFormatInterface $format */ - $format = FilterFormat::load($this->host->body->format); - $format->set('filters', [ - 'filter_align' => ['status' => TRUE], - 'filter_caption' => ['status' => TRUE], - 'media_embed' => ['status' => $media_embed_enabled], - ]); - $format->save(); - - $permissions = [ - 'bypass node access', - ]; - if ($can_use_format) { - $permissions[] = $format->getPermissionName(); - } - $this->drupalLogin($this->drupalCreateUser($permissions)); - $this->drupalGet($this->host->toUrl('edit-form')); - - $assert_session = $this->assertSession(); - if ($can_use_format) { - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - if ($media_embed_enabled) { - // The preview rendering, which in this test will use Classy's - // media.html.twig template, will fail without the CSRF token/header. - // @see ::testEmbeddedMediaPreviewWithCsrfToken() - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'article.media')); - } - else { - // If the filter isn't enabled, there won't be an error, but the - // preview shouldn't be rendered. - $assert_session->assertWaitOnAjaxRequest(); - $assert_session->elementNotExists('css', 'article.media'); - } - } - else { - $assert_session->pageTextContains('This field has been disabled because you do not have sufficient permissions to edit it.'); - } - } - - /** - * Data provider for ::testEmbedPreviewAccess. - */ - public function previewAccessProvider() { - return [ - 'media_embed filter enabled' => [ - TRUE, - TRUE, - ], - 'media_embed filter disabled' => [ - FALSE, - TRUE, - ], - 'media_embed filter enabled, user not allowed to use text format' => [ - TRUE, - FALSE, - ], - ]; - } - - /** - * Tests alignment integration. - * - * Tests that alignment is reflected onto the CKEditor Widget wrapper, that - * the EditorMediaDialog allows altering the alignment and that the changes - * are reflected on the widget and downcast drupal-media tag. - */ - public function testAlignment() { - $assert_session = $this->assertSession(); - - $this->drupalGet($this->host->toUrl('edit-form')); - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - // Wait for preview to load. - $this->assertNotEmpty($assert_session->waitForElement('css', 'drupal-media img')); - // Assert the drupal-media element starts without a data-align attribute. - $drupal_media = $assert_session->elementExists('css', 'drupal-media'); - $this->assertFalse($drupal_media->hasAttribute('data-align')); - - // Assert that setting the data-align property in the dialog adds the - // `align-right', `align-left` or `align-center' class on the widget, - // caption figure and drupal-media element. - $alignments = [ - 'right', - 'left', - 'center', - ]; - foreach ($alignments as $alignment) { - $this->fillFieldInMetadataDialogAndSubmit('attributes[data-align]', $alignment); - // Wait for preview to load. - $this->assertNotEmpty($assert_session->waitForElement('css', 'drupal-media img')); - // Now verify the result. Assert the first element within the - // element has the alignment class. - $selector = sprintf('drupal-media[data-align="%s"] .caption-drupal-media.align-%s', $alignment, $alignment); - $this->assertNotEmpty($assert_session->waitForElementVisible('css', $selector, 2000)); - - // Assert that the resultant downcast drupal-media element has the proper - // `data-align` attribute. - $this->pressEditorButton('source'); - $this->assertSourceAttributeSame('data-align', $alignment); - $this->leaveSourceMode(); - } - // Test that setting the "Align" field to "none" in the dialog will - // remove the attribute from the drupal-media element in the CKEditor. - $this->fillFieldInMetadataDialogAndSubmit('attributes[data-align]', 'none'); - - // Assert the drupal-media element no longer has data-align attribute. - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'drupal-media .caption-drupal-media:not(.align-center)', 2000)); - $drupal_media = $assert_session->elementExists('css', 'drupal-media'); - $this->assertFalse($drupal_media->hasAttribute('data-align')); - // Assert that the resultant downcast tag has no data-align - // attribute. - $this->pressEditorButton('source'); - $this->assertNotEmpty($drupal_media = $this->getDrupalMediaFromSource()); - $this->assertFalse($drupal_media->hasAttribute('data-align')); - } - - /** - * Tests the EditorMediaDialog can set the data-view-mode attribute. - */ - public function testViewMode() { - EntityViewMode::create([ - 'id' => 'media.view_mode_1', - 'targetEntityType' => 'media', - 'status' => TRUE, - 'enabled' => TRUE, - 'label' => 'View Mode 1', - ])->save(); - EntityViewMode::create([ - 'id' => 'media.22222', - 'targetEntityType' => 'media', - 'status' => TRUE, - 'enabled' => TRUE, - 'label' => 'View Mode 2 has Numeric ID', - ])->save(); - EntityViewMode::create([ - 'id' => 'media.view_mode_3', - 'targetEntityType' => 'media', - 'status' => TRUE, - 'enabled' => TRUE, - 'label' => 'View Mode 3', - ])->save(); - - // Only enable view mode 1 & 2 for Image. - EntityViewDisplay::create([ - 'id' => 'media.image.view_mode_1', - 'targetEntityType' => 'media', - 'status' => TRUE, - 'bundle' => 'image', - 'mode' => 'view_mode_1', - ])->save(); - EntityViewDisplay::create([ - 'id' => 'media.image.22222', - 'targetEntityType' => 'media', - 'status' => TRUE, - 'bundle' => 'image', - 'mode' => '22222', - ])->save(); - - $filter_format = FilterFormat::load('test_format'); - $filter_format->setFilterConfig('media_embed', [ - 'status' => TRUE, - 'settings' => [ - 'default_view_mode' => 'view_mode_1', - 'allowed_media_types' => [], - 'allowed_view_modes' => [ - 'view_mode_1' => 'view_mode_1', - '22222' => '22222', - 'view_mode_3' => 'view_mode_3', - ], - ], - ])->save(); - - // Test that view mode dependencies are returned from the MediaEmbed - // filter's ::getDependencies() method. - $expected_config_dependencies = [ - 'core.entity_view_mode.media.view_mode_1', - 'core.entity_view_mode.media.22222', - 'core.entity_view_mode.media.view_mode_3', - ]; - $dependencies = $filter_format->getDependencies(); - $this->assertArrayHasKey('config', $dependencies); - $this->assertEqualsCanonicalizing($expected_config_dependencies, $dependencies['config']); - - // Test MediaEmbed's allowed_view_modes option setting enables a view mode - // selection field. - $page = $this->getSession()->getPage(); - $assert_session = $this->assertSession(); - $this->drupalGet($this->host->toUrl('edit-form')); - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'drupal-media')); - $assert_session->elementExists('css', '.cke_widget_drupalmedia[aria-label="Screaming hairy armadillo"]'); - $page->pressButton('Edit media'); - $this->waitForMetadataDialog(); - $assert_session->optionExists('attributes[data-view-mode]', 'view_mode_1'); - $assert_session->optionExists('attributes[data-view-mode]', '22222'); - $assert_session->optionNotExists('attributes[data-view-mode]', 'view_mode_3'); - $assert_session->selectExists('attributes[data-view-mode]')->selectOption('22222'); - $this->submitDialog(); - $this->getSession()->switchToIFrame('ckeditor'); - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'article.media--view-mode-_2222')); - // Test that the downcast drupal-media element contains the - // `data-view-mode` attribute set in the dialog. - $this->pressEditorButton('source'); - $this->assertNotEmpty($drupal_media = $this->getDrupalMediaFromSource()); - $this->assertSame('22222', $drupal_media->getAttribute('data-view-mode')); - - // Press the source button again to leave source mode. - $this->pressEditorButton('source'); - // Having entered source mode means we need to reassign an ID to the - // CKEditor iframe. - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - - // Test that setting the allowed_view_modes option to only one option hides - // the field (it requires more than one option). - $filter_format->setFilterConfig('media_embed', [ - 'status' => TRUE, - 'settings' => [ - 'default_view_mode' => 'view_mode_1', - 'allowed_media_types' => [], - 'allowed_view_modes' => [ - 'view_mode_1' => 'view_mode_1', - ], - ], - ])->save(); - - // Test that the dependencies change when the allowed_view_modes change. - $dependencies = $filter_format->getDependencies(); - $this->assertArrayHasKey('config', $dependencies); - $this->assertSame(['core.entity_view_mode.media.view_mode_1'], $dependencies['config']); - - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'drupal-media')); - $page->pressButton('Edit media'); - $this->waitForMetadataDialog(); - $assert_session->fieldNotExists('attributes[data-view-mode]'); - $page->pressButton('Close'); - $this->getSession()->switchToIFrame('ckeditor'); - - // Test that setting allowed_view_modes back to two items restores the - // field. - $filter_format->setFilterConfig('media_embed', [ - 'status' => TRUE, - 'settings' => [ - 'default_view_mode' => 'view_mode_1', - 'allowed_media_types' => [], - 'allowed_view_modes' => [ - 'view_mode_1' => 'view_mode_1', - '22222' => '22222', - ], - ], - ])->save(); - - // Test that the dependencies change when the allowed_view_modes change. - $expected_config_dependencies = [ - 'core.entity_view_mode.media.view_mode_1', - 'core.entity_view_mode.media.22222', - ]; - $dependencies = $filter_format->getDependencies(); - $this->assertArrayHasKey('config', $dependencies); - $this->assertEqualsCanonicalizing($expected_config_dependencies, $dependencies['config']); - - // Test that setting the view mode back to the default removes the - // `data-view-mode` attribute. - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'drupal-media')); - $page->pressButton('Edit media'); - $this->waitForMetadataDialog(); - $assert_session->optionExists('attributes[data-view-mode]', 'view_mode_1'); - $assert_session->optionExists('attributes[data-view-mode]', '22222'); - $assert_session->selectExists('attributes[data-view-mode]')->selectOption('view_mode_1'); - $this->submitDialog(); - $this->getSession()->switchToIFrame('ckeditor'); - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'article.media--view-mode-view-mode-1')); - $this->pressEditorButton('source'); - $this->assertNotEmpty($drupal_media = $this->getDrupalMediaFromSource()); - $this->assertFalse($drupal_media->hasAttribute('data-view-mode')); - - // Test that changing the view mode with an empty editable caption - // preserves the empty editable caption when the preview reloads. - $original_value = $this->host->body->value; - $this->host->body->value = str_replace('data-caption="baz"', '', $original_value); - $this->host->save(); - $this->drupalGet($this->host->toUrl('edit-form')); - $this->waitForEditor(); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - // Wait for preview to load with default view mode. - $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'article.media--view-mode-view-mode-1')); - } - - /** - * Waits for the form that allows editing metadata. - * - * @see \Drupal\media\Form\EditorMediaDialog - */ - protected function waitForMetadataDialog() { - $page = $this->getSession()->getPage(); - $this->getSession()->switchToIFrame(); - // Wait for the dialog to open. - $result = $page->waitFor(10, function ($page) { - $metadata_editor = $page->find('css', 'form.editor-media-dialog'); - return !empty($metadata_editor); - }); - $this->assertTrue($result); - } - - /** - * Fills in a field in the metadata dialog for an embedded media item. - * - * This method assumes that the calling code has already switched into the - * CKEditor iframe. - * - * @param string $locator - * The field ID, name, or label. - * @param string $value - * The value to set on the field. - */ - protected function fillFieldInMetadataDialogAndSubmit($locator, $value) { - // Wait for the drupal-media which holds the "Edit media" button which - // opens the dialog. - $this->openMetadataDialog(); - $this->getSession()->getPage()->fillField($locator, $value); - $this->submitDialog(); - // Since ::waitforMetadataDialog() switches back to the main iframe, we'll - // need to switch back. - $this->getSession()->switchToIFrame('ckeditor'); - } - - /** - * Clicks the `Edit media` button and waits for the metadata dialog. - * - * This method assumes that the calling code has already switched into the - * CKEditor iframe. - */ - protected function openMetadataDialog() { - $this->assertNotEmpty($embedded_media = $this->assertSession()->waitForElementVisible('css', 'drupal-media')); - $embedded_media->pressButton('Edit media'); - $this->waitForMetadataDialog(); - } - - /** - * Focuses on `Edit media` button and presses the given key. - * - * @param int $char - * The character code to press. - * - * This method assumes that the calling code has already switched into the - * CKEditor iframe. - */ - protected function openMetadataDialogWithKeyPress($char) { - $this->assertNotEmpty($button = $this->assertSession()->waitForButton('Edit media')); - $button->keyDown($char); - $this->waitForMetadataDialog(); - } - - /** - * Leaves source mode and returns to the CKEditor iframe. - */ - protected function leaveSourceMode() { - // Press the source button again to leave source mode. - $this->pressEditorButton('source'); - // Having entered source mode means we need to reassign an ID to the - // CKEditor iframe. - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - } - - /** - * Verifies value of an attribute on the downcast element. - * - * Assumes CKEditor is in source mode. - * - * @param string $attribute - * The attribute to check. - * @param string|null $value - * Either a string value or if NULL, asserts that element - * doesn't have the attribute. - * - * @internal - */ - protected function assertSourceAttributeSame(string $attribute, ?string $value): void { - $this->assertNotEmpty($drupal_media = $this->getDrupalMediaFromSource()); - if ($value === NULL) { - $this->assertFalse($drupal_media->hasAttribute($attribute)); - } - else { - $this->assertSame($value, $drupal_media->getAttribute($attribute)); - } - } - - /** - * Closes and submits the metadata dialog. - */ - protected function submitDialog() { - $this->assertNotEmpty($dialog_buttons = $this->assertSession()->elementExists('css', 'div.ui-dialog-buttonpane')); - $dialog_buttons->pressButton('Save'); - } - - /** - * Closes the metadata dialog. - */ - protected function closeDialog() { - $page = $this->getSession()->getPage(); - $page->pressButton('Close'); - $result = $page->waitFor(10, function ($page) { - $metadata_editor = $page->find('css', 'form.editor-media-dialog'); - return empty($metadata_editor); - }); - $this->assertTrue($result); - } - - /** - * Gets the transfer size of the last preview request. - * - * @return int - * The size of the bytes transferred. - */ - protected function getLastPreviewRequestTransferSize() { - $this->getSession()->switchToIFrame(); - $javascript = <<getSession()->evaluateScript($javascript); - } - - /** - * Sets the text of the editable caption to the given text. - * - * @param string $text - * The text to set in the caption. - */ - protected function setCaption($text) { - $this->getSession()->switchToIFrame(); - $select_and_edit_caption = "var editor = CKEDITOR.instances['edit-body-0-value']; - var figcaption = editor.widgets.getByElement(editor.editable().findOne('figcaption')); - figcaption.editables.caption.setData('" . $text . "')"; - $this->getSession()->executeScript($select_and_edit_caption); - } - - /** - * Assigns a name to the CKEditor context menu iframe. - * - * Note that this iframe doesn't appear until context menu appears. - * - * @see \Behat\Mink\Session::switchToIFrame() - */ - protected function assignNameToCkeditorPanelIframe() { - $javascript = <<getSession()->evaluateScript($javascript); - } - - /** - * Opens the context menu for the currently selected widget. - * - * @param string $instance_id - * The CKEditor instance ID. - */ - protected function openContextMenu($instance_id = 'edit-body-0-value') { - $this->getSession()->switchToIFrame(); - $script = <<getSession()->executeScript($script); - } - - /** - * Asserts that a context menu item exists by aria-label attribute. - * - * @param string $label - * The `aria-label` attribute value of the context menu item. - * - * @internal - */ - protected function assertContextMenuItemExists(string $label): void { - $this->assertSession()->elementExists('xpath', '//a[@aria-label="' . $label . '"]'); - } - - /** - * Asserts that a context menu item does not exist by aria-label attribute. - * - * @param string $label - * The `aria-label` attribute value of the context menu item. - * - * @internal - */ - protected function assertContextMenuItemNotExists(string $label): void { - $this->assertSession()->elementNotExists('xpath', '//a[@aria-label="' . $label . '"]'); - } - - /** - * Closes the open context menu. - * - * @param string $instance_id - * The CKEditor instance ID. - */ - protected function closeContextMenu($instance_id = 'edit-body-0-value') { - $this->getSession()->switchToIFrame(); - $script = <<getSession()->executeScript($script); - } - - /** - * Clicks a link in the editor's path links with the given title text. - * - * @param string $text - * The title attribute of the link to click. - */ - protected function clickPathLinkByTitleAttribute($text) { - $this->getSession()->switchToIFrame(); - $selector = '//span[@id="cke_1_path"]//a[@title="' . $text . '"]'; - $this->assertSession()->elementExists('xpath', $selector)->click(); - } - - /** - * Parses the element from CKEditor's "source" view. - * - * Assumes CKEditor is in source mode. - * - * @return \DOMNode|null - * The drupal-media element or NULL if it can't be found. - */ - protected function getDrupalMediaFromSource() { - $value = $this->assertSession() - ->elementExists('css', 'textarea.cke_source') - ->getValue(); - $dom = Html::load($value); - $xpath = new \DOMXPath($dom); - $list = $xpath->query('//drupal-media'); - return count($list) > 0 ? $list[0] : NULL; - } - -} diff --git a/web/core/modules/media/tests/src/FunctionalJavascript/MediaDisplayTest.php b/web/core/modules/media/tests/src/FunctionalJavascript/MediaDisplayTest.php index fbe516239..5b9305b8c 100644 --- a/web/core/modules/media/tests/src/FunctionalJavascript/MediaDisplayTest.php +++ b/web/core/modules/media/tests/src/FunctionalJavascript/MediaDisplayTest.php @@ -20,7 +20,7 @@ class MediaDisplayTest extends MediaJavascriptTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'stark'; /** * {@inheritdoc} @@ -62,8 +62,10 @@ public function testMediaDisplay() { $media->save(); $this->drupalGet('media/' . $media->id()); - // Verify the "name" field is really not present. - $assert_session->elementNotExists('css', '.field--name-name'); + // Verify the "name" field is really not present. The name should be in the + // h1 with no additional markup in the h1. + $assert_session->elementTextContains('css', 'h1', $media->getName()); + $assert_session->elementNotExists('css', 'h1 div'); // Enable the field on the display and verify it becomes visible on the UI. $this->drupalGet("/admin/structure/media/manage/{$media_type->id()}/display"); @@ -73,10 +75,10 @@ public function testMediaDisplay() { $assert_session->waitForElementVisible('css', '#edit-fields-name-settings-edit'); $page->pressButton('Save'); $this->drupalGet('media/' . $media->id()); - // Verify the name is present, and its text matches what is expected. - $assert_session->elementExists('css', '.field--name-name'); - $name_field = $page->find('css', '.field--name-name .field__item'); - $this->assertSame($media->label(), $name_field->getText()); + // Verify the name is present, and its text matches what is expected. Now + // there should be markup in the h1. + $assert_session->elementTextContains('xpath', '//h1/div/div[1]', 'Name'); + $assert_session->elementTextContains('xpath', '//h1/div/div[2]', $media->getName()); // In the standard profile, there are some pre-cooked types. Make sure the // elements configured on their displays are the expected ones. @@ -100,23 +102,22 @@ public function testMediaDisplay() { $this->drupalGet('/media/' . $image_media_id); // Check if the default media name is generated as expected. - $assert_session->elementTextContains('css', 'h1', $image_media_name); + $assert_session->elementTextContains('xpath', '//h1', $image_media_name); // Here we expect to see only the image, nothing else. // Assert only one element in the content region. - $this->assertCount(1, $page->findAll('css', '.media--type-image > div')); + $media_item = $assert_session->elementExists('xpath', '//div[@class="layout-content"]/div/div[2]'); + $assert_session->elementsCount('xpath', '/div', 1, $media_item); // Assert the image is present inside the media element. - $media_item = $assert_session->elementExists('css', '.media--type-image > div'); - $assert_session->elementExists('css', 'img', $media_item); + $media_image = $assert_session->elementExists('xpath', '//img', $media_item); // Assert that the image src uses the large image style, the label is // visually hidden, and there is no link to the image file. - $media_image = $assert_session->elementExists('css', '.media--type-image img'); /** @var \Drupal\Core\File\FileUrlGeneratorInterface $file_url_generator */ $file_url_generator = \Drupal::service('file_url_generator'); $expected_image_src = $file_url_generator->generateString(\Drupal::token()->replace('public://styles/large/public/[date:custom:Y]-[date:custom:m]/example_1.jpeg')); $this->assertStringContainsString($expected_image_src, $media_image->getAttribute('src')); - $field = $assert_session->elementExists('css', '.field--name-field-media-image'); - $assert_session->elementExists('css', '.field__label.visually-hidden', $field); - $assert_session->elementNotExists('css', 'a', $field); + $field = $assert_session->elementExists('xpath', '/div[1]', $media_item); + $assert_session->elementExists('xpath', '/div[@class="visually-hidden"]', $field); + $assert_session->elementNotExists('xpath', '//a', $field); $test_filename = $this->randomMachineName() . '.txt'; $test_filepath = 'public://' . $test_filename; @@ -134,10 +135,10 @@ public function testMediaDisplay() { $assert_session->elementTextContains('css', 'h1', $test_filename); // Here we expect to see only the linked filename. // Assert only one element in the content region. - $this->assertCount(1, $page->findAll('css', 'article.media--type-document > div')); + $media_item = $assert_session->elementExists('xpath', '//div[@class="layout-content"]/div/div[2]'); + $assert_session->elementsCount('xpath', '/div', 1, $media_item); // Assert the file link is present, and its text matches the filename. - $assert_session->elementExists('css', 'article.media--type-document .field--name-field-media-document a'); - $link = $page->find('css', 'article.media--type-document .field--name-field-media-document a'); + $link = $assert_session->elementExists('xpath', '//a', $media_item); $this->assertSame($test_filename, $link->getText()); // Create a node type "page" to use as host entity. @@ -176,7 +177,7 @@ public function testMediaDisplay() { \Drupal::service('entity_display.repository')->getViewDisplay('node', $node_type->id()) ->setComponent('field_related_media', [ 'type' => 'entity_reference_entity_view', - 'label' => 'hidden', + 'label' => 'above', 'settings' => [ 'view_mode' => 'full', ], @@ -192,15 +193,14 @@ public function testMediaDisplay() { $node->save(); $this->drupalGet('/node/' . $node->id()); - // Media field is there. - $assert_session->elementExists('css', '.field--name-field-related-media'); + // Media field (field_related_media) is there. + $assert_session->pageTextContains('Related media'); // Media name element is not there. - $assert_session->elementNotExists('css', '.field--name-name'); $assert_session->pageTextNotContains($image_media_name); - // Only one element is present inside the media container. - $this->assertCount(1, $page->findAll('css', '.field--name-field-related-media article.media--type-image > div')); - // Assert the image is present. - $assert_session->elementExists('css', '.field--name-field-related-media article.media--type-image img'); + // Only one image is present. + $assert_session->elementsCount('xpath', '//img', 1); + // The image has the correct image style. + $assert_session->elementAttributeContains('xpath', '//img', 'src', '/styles/large/'); } } diff --git a/web/core/modules/media/tests/src/FunctionalJavascript/MediaEmbedFilterConfigurationUiTest.php b/web/core/modules/media/tests/src/FunctionalJavascript/MediaEmbedFilterConfigurationUiTest.php index 13513802d..6b142dc15 100644 --- a/web/core/modules/media/tests/src/FunctionalJavascript/MediaEmbedFilterConfigurationUiTest.php +++ b/web/core/modules/media/tests/src/FunctionalJavascript/MediaEmbedFilterConfigurationUiTest.php @@ -144,8 +144,7 @@ public function testValidationWhenEditing($filter_html_status, $filter_align_sta } /** - * Data provider for testValidationWhenAdding() and - * testValidationWhenEditing(). + * Data provider for testing validation when adding and editing media embeds. */ public function providerTestValidations() { return [ diff --git a/web/core/modules/media/tests/src/FunctionalJavascript/MediaJavascriptTestBase.php b/web/core/modules/media/tests/src/FunctionalJavascript/MediaJavascriptTestBase.php index 88fc891ef..878c27f58 100644 --- a/web/core/modules/media/tests/src/FunctionalJavascript/MediaJavascriptTestBase.php +++ b/web/core/modules/media/tests/src/FunctionalJavascript/MediaJavascriptTestBase.php @@ -51,7 +51,7 @@ protected function waitUntilVisible($selector, $timeout = 1000, $message = '') { */ protected function assertLinkToCreatedMedia() { $assert_session = $this->assertSession(); - $selector = '.messages a'; + $selector = 'div[aria-label="Status message"] a'; // Get the canonical media entity URL from the creation message. $link = $assert_session->elementExists('css', $selector); diff --git a/web/core/modules/media/tests/src/FunctionalJavascript/MediaSourceAudioVideoTest.php b/web/core/modules/media/tests/src/FunctionalJavascript/MediaSourceAudioVideoTest.php index a3223c748..bc7a3b36f 100644 --- a/web/core/modules/media/tests/src/FunctionalJavascript/MediaSourceAudioVideoTest.php +++ b/web/core/modules/media/tests/src/FunctionalJavascript/MediaSourceAudioVideoTest.php @@ -17,7 +17,7 @@ class MediaSourceAudioVideoTest extends MediaSourceTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'stark'; /** * Check the Audio source functionality. diff --git a/web/core/modules/media/tests/src/FunctionalJavascript/MediaSourceFileTest.php b/web/core/modules/media/tests/src/FunctionalJavascript/MediaSourceFileTest.php index 6d9c1f44b..97bf8cc18 100644 --- a/web/core/modules/media/tests/src/FunctionalJavascript/MediaSourceFileTest.php +++ b/web/core/modules/media/tests/src/FunctionalJavascript/MediaSourceFileTest.php @@ -15,12 +15,14 @@ class MediaSourceFileTest extends MediaSourceTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'stark'; /** * Tests the file media source. */ public function testMediaFileSource() { + // Skipped due to frequent random test failures. + $this->markTestSkipped(); $media_type_id = 'test_media_file_type'; $source_field_id = 'field_media_file'; $provided_fields = [ @@ -70,7 +72,7 @@ public function testMediaFileSource() { // Make sure a link to the file is displayed. $assert_session->linkExists($test_filename); // The thumbnail should not be displayed. - $assert_session->elementNotExists('css', '.image-style-thumbnail'); + $assert_session->elementNotExists('css', 'img'); // Make sure checkbox changes the visibility of log message field. $this->drupalGet("media/1/edit"); @@ -93,7 +95,7 @@ public function testMediaFileSource() { $result = $assert_session->waitForButton('Remove'); $this->assertNotEmpty($result); $page->pressButton('Save'); - $assert_session->elementAttributeContains('css', '.image-style-thumbnail', 'src', 'text--plain.png'); + $assert_session->elementAttributeContains('css', 'img', 'src', 'text--plain.png'); // Check if the mapped name is automatically updated. $new_filename = $this->randomMachineName() . '.txt'; @@ -110,7 +112,7 @@ public function testMediaFileSource() { /** @var \Drupal\media\MediaInterface $media */ $media = \Drupal::entityTypeManager()->getStorage('media')->loadUnchanged(1); $this->assertEquals($new_filename, $media->getName()); - $assert_session->pageTextContains("$new_filename has been updated."); + $assert_session->statusMessageContains("$new_filename has been updated.", 'status'); } } diff --git a/web/core/modules/media/tests/src/FunctionalJavascript/MediaSourceImageTest.php b/web/core/modules/media/tests/src/FunctionalJavascript/MediaSourceImageTest.php index 9f17c9245..5e79060fc 100644 --- a/web/core/modules/media/tests/src/FunctionalJavascript/MediaSourceImageTest.php +++ b/web/core/modules/media/tests/src/FunctionalJavascript/MediaSourceImageTest.php @@ -21,7 +21,7 @@ class MediaSourceImageTest extends MediaSourceTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'stark'; /** * Tests the image media source. @@ -71,13 +71,14 @@ public function testMediaImageSource() { // Assert the image element is present inside the media element and that its // src attribute uses the large image style, the label is visually hidden, // and there is no link to the image file. - $image_element = $assert_session->elementExists('css', '.field--name-field-media-image img'); + $label = $assert_session->elementExists('xpath', '//div[contains(@class, "visually-hidden") and text()="Image"]'); + // The field is the parent div of the label. + $field = $label->getParent(); + $image_element = $field->find('css', 'img'); /** @var \Drupal\Core\File\FileUrlGeneratorInterface $file_url_generator */ $file_url_generator = \Drupal::service('file_url_generator'); $expected_image_src = $file_url_generator->generateString(\Drupal::token()->replace('public://styles/large/public/[date:custom:Y]-[date:custom:m]/example_1.jpeg')); $this->assertStringContainsString($expected_image_src, $image_element->getAttribute('src')); - $field = $assert_session->elementExists('css', '.field--name-field-media-image'); - $assert_session->elementExists('css', '.field__label.visually-hidden', $field); $assert_session->elementNotExists('css', 'a', $field); // Ensure the image has the correct alt attribute. diff --git a/web/core/modules/media/tests/src/FunctionalJavascript/MediaSourceOEmbedVideoTest.php b/web/core/modules/media/tests/src/FunctionalJavascript/MediaSourceOEmbedVideoTest.php index b6a8fff68..62b7500be 100644 --- a/web/core/modules/media/tests/src/FunctionalJavascript/MediaSourceOEmbedVideoTest.php +++ b/web/core/modules/media/tests/src/FunctionalJavascript/MediaSourceOEmbedVideoTest.php @@ -25,7 +25,7 @@ class MediaSourceOEmbedVideoTest extends MediaSourceTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'stark'; use OEmbedTestTrait; @@ -150,7 +150,7 @@ public function testMediaOEmbedVideoSource() { // The oEmbed content iFrame should be visible. $assert_session->elementExists('css', 'iframe.media-oembed-content'); // The thumbnail should not be displayed. - $assert_session->elementNotExists('css', '.image-style-thumbnail'); + $assert_session->elementNotExists('css', 'img'); // Load the media and check that all fields are properly populated. $media = Media::load(1); @@ -195,22 +195,12 @@ public function testMediaOEmbedVideoSource() { $no_hash_query = array_diff_key($query, ['hash' => '']); $this->drupalGet('media/oembed', ['query' => $no_hash_query]); $assert_session->pageTextNotContains('By the power of Grayskull, Vimeo works!'); - $assert_session->pageTextContains('Access denied'); + $assert_session->pageTextContains('Client error'); // A correct query should be allowed because the anonymous role has the // 'view media' permission. $this->drupalGet('media/oembed', ['query' => $query]); $assert_session->pageTextContains('By the power of Grayskull, Vimeo works!'); - $this->assertSession()->responseContains('core/themes/stable/templates/content/media-oembed-iframe.html.twig'); - $this->assertSession()->responseNotContains('core/modules/media/templates/media-oembed-iframe.html.twig'); - - // Test themes not inheriting from stable. - \Drupal::service('theme_installer')->install(['stark']); - $this->config('system.theme')->set('default', 'stark')->save(); - $this->drupalGet('media/oembed', ['query' => $query]); - $assert_session->pageTextContains('By the power of Grayskull, Vimeo works!'); - $this->assertSession()->responseNotContains('core/themes/stable/templates/content/media-oembed-iframe.html.twig'); - $this->assertSession()->responseContains('core/modules/media/templates/media-oembed-iframe.html.twig'); // Remove the 'view media' permission to test that this restricts access. $role = Role::load(AccountInterface::ANONYMOUS_ROLE); diff --git a/web/core/modules/media/tests/src/FunctionalJavascript/MediaStandardProfileTest.php b/web/core/modules/media/tests/src/FunctionalJavascript/MediaStandardProfileTest.php index 10f5409a4..17bf826a1 100644 --- a/web/core/modules/media/tests/src/FunctionalJavascript/MediaStandardProfileTest.php +++ b/web/core/modules/media/tests/src/FunctionalJavascript/MediaStandardProfileTest.php @@ -29,11 +29,6 @@ class MediaStandardProfileTest extends MediaJavascriptTestBase { */ protected static $modules = ['media_test_oembed']; - /** - * {@inheritdoc} - */ - protected $defaultTheme = 'classy'; - /** * {@inheritdoc} */ @@ -156,11 +151,11 @@ protected function audioTest() { // Here we expect to see only the linked filename. Assert only one element // in the content region. - $assert_session->elementsCount('css', 'article.media--type-audio > *', 1); + $assert_session->elementsCount('css', 'div.media--type-audio > *', 1); // Assert the audio file is present inside the media element and that its // src attribute matches the audio file. - $audio_element = $assert_session->elementExists('css', 'article.media--type-audio .field--name-field-media-audio-file audio > source'); + $audio_element = $assert_session->elementExists('css', 'div.media--type-audio .field--name-field-media-audio-file audio > source'); /** @var \Drupal\Core\File\FileUrlGeneratorInterface $file_url_generator */ $file_url_generator = \Drupal::service('file_url_generator'); $expected_audio_src = $file_url_generator->generateString(\Drupal::token()->replace('public://[date:custom:Y]-[date:custom:m]/' . $test_filename)); @@ -185,11 +180,11 @@ protected function audioTest() { // Again we expect to see only the linked filename. Assert only one element // in the content region. - $assert_session->elementsCount('css', 'article.media--type-audio > *', 1); + $assert_session->elementsCount('css', 'div.media--type-audio > *', 1); // Assert the audio file is present inside the media element and that its // src attribute matches the updated audio file. - $audio_element = $assert_session->elementExists('css', 'article.media--type-audio .field--name-field-media-audio-file audio > source'); + $audio_element = $assert_session->elementExists('css', 'div.media--type-audio .field--name-field-media-audio-file audio > source'); $expected_audio_src = $file_url_generator->generateString(\Drupal::token()->replace('public://[date:custom:Y]-[date:custom:m]/' . $test_filename_updated)); $this->assertSame($expected_audio_src, $audio_element->getAttribute('src')); } @@ -244,12 +239,12 @@ protected function imageTest() { // Here we expect to see only the image, nothing else. Assert only one // element in the content region. - $assert_session->elementsCount('css', 'article.media--type-image > *', 1); + $assert_session->elementsCount('css', 'div.media--type-image > *', 1); // Assert the image element is present inside the media element and that its // src attribute uses the large image style, the label is visually hidden, // and there is no link to the image file. - $image_element = $assert_session->elementExists('css', 'article.media--type-image img'); + $image_element = $assert_session->elementExists('css', 'div.media--type-image img'); /** @var \Drupal\Core\File\FileUrlGeneratorInterface $file_url_generator */ $file_url_generator = \Drupal::service('file_url_generator'); $expected_image_src = $file_url_generator->generateString(\Drupal::token()->replace('public://styles/large/public/[date:custom:Y]-[date:custom:m]/' . $image_media_name)); @@ -279,12 +274,12 @@ protected function imageTest() { // Again we expect to see only the image, nothing else. Assert only one // element in the content region. - $assert_session->elementsCount('css', 'article.media--type-image > *', 1); + $assert_session->elementsCount('css', 'div.media--type-image > *', 1); // Assert the image element is present inside the media element and that its // src attribute uses the large image style, the label is visually hidden, // and there is no link to the image file. - $image_element = $assert_session->elementExists('css', 'article.media--type-image img'); + $image_element = $assert_session->elementExists('css', 'div.media--type-image img'); $expected_image_src = $file_url_generator->generateString(\Drupal::token()->replace('public://styles/large/public/[date:custom:Y]-[date:custom:m]/' . $image_media_name_updated)); $this->assertStringContainsString($expected_image_src, $image_element->getAttribute('src')); $assert_session->elementExists('css', '.field--name-field-media-image .field__label.visually-hidden'); @@ -347,11 +342,11 @@ protected function documentTest() { // Here we expect to see only the linked filename. Assert only one element // in the content region. - $assert_session->elementsCount('css', 'article.media--type-document > *', 1); + $assert_session->elementsCount('css', 'div.media--type-document > *', 1); // Assert the file link is present in the media element and its text matches // the filename. - $link_element = $assert_session->elementExists('css', 'article.media--type-document .field--name-field-media-document a'); + $link_element = $assert_session->elementExists('css', 'div.media--type-document .field--name-field-media-document a'); $this->assertSame($test_filename, $link_element->getText()); // Assert the media name is updated through the field mapping when changing @@ -373,11 +368,11 @@ protected function documentTest() { // Again we expect to see only the linked filename. Assert only one element // in the content region. - $assert_session->elementsCount('css', 'article.media--type-document > *', 1); + $assert_session->elementsCount('css', 'div.media--type-document > *', 1); // Assert the file link is present in the media element and its text matches // the updated filename. - $link_element = $assert_session->elementExists('css', 'article.media--type-document .field--name-field-media-document a'); + $link_element = $assert_session->elementExists('css', 'div.media--type-document .field--name-field-media-document a'); $this->assertSame($test_filename_updated, $link_element->getText()); } @@ -435,11 +430,11 @@ protected function remoteVideoTest() { // Here we expect to see only the video iframe. Assert only one element in // the content region. - $assert_session->elementsCount('css', 'article.media--type-remote-video > *', 1); + $assert_session->elementsCount('css', 'div.media--type-remote-video > *', 1); // Assert the iframe is present in the media element and its src attribute // matches the URL and query parameters. - $iframe_url = $assert_session->elementExists('css', 'article.media--type-remote-video .field--name-field-media-oembed-video iframe')->getAttribute('src'); + $iframe_url = $assert_session->elementExists('css', 'div.media--type-remote-video .field--name-field-media-oembed-video iframe')->getAttribute('src'); $iframe_url = parse_url($iframe_url); $this->assertStringEndsWith('/media/oembed', $iframe_url['path']); $this->assertNotEmpty($iframe_url['query']); @@ -462,11 +457,11 @@ protected function remoteVideoTest() { // Again we expect to see only the video iframe. Assert only one element in // the content region. - $assert_session->elementsCount('css', 'article.media--type-remote-video > *', 1); + $assert_session->elementsCount('css', 'div.media--type-remote-video > *', 1); // Assert the iframe is present in the media element and its src attribute // matches the updated URL and query parameters. - $iframe_url = $assert_session->elementExists('css', 'article.media--type-remote-video .field--name-field-media-oembed-video iframe')->getAttribute('src'); + $iframe_url = $assert_session->elementExists('css', 'div.media--type-remote-video .field--name-field-media-oembed-video iframe')->getAttribute('src'); $iframe_url = parse_url($iframe_url); $this->assertStringEndsWith('/media/oembed', $iframe_url['path']); $this->assertNotEmpty($iframe_url['query']); @@ -532,11 +527,11 @@ protected function videoTest() { // Here we expect to see only the linked filename. Assert only one element // in the content region. - $assert_session->elementsCount('css', 'article.media--type-video > *', 1); + $assert_session->elementsCount('css', 'div.media--type-video > *', 1); // Assert the video element is present inside the media element and that its // src attribute matches the video file. - $video_element = $assert_session->elementExists('css', 'article.media--type-video .field--name-field-media-video-file video > source'); + $video_element = $assert_session->elementExists('css', 'div.media--type-video .field--name-field-media-video-file video > source'); /** @var \Drupal\Core\File\FileUrlGeneratorInterface $file_url_generator */ $file_url_generator = \Drupal::service('file_url_generator'); $expected_video_src = $file_url_generator->generateString(\Drupal::token()->replace('public://[date:custom:Y]-[date:custom:m]/' . $test_filename)); @@ -561,11 +556,11 @@ protected function videoTest() { // Again we expect to see only the linked filename. Assert only one element // in the content region. - $assert_session->elementsCount('css', 'article.media--type-video > *', 1); + $assert_session->elementsCount('css', 'div.media--type-video > *', 1); // Assert the video element is present inside the media element and that its // src attribute matches the updated video file. - $video_element = $assert_session->elementExists('css', 'article.media--type-video .field--name-field-media-video-file video > source'); + $video_element = $assert_session->elementExists('css', 'div.media--type-video .field--name-field-media-video-file video > source'); $expected_video_src = $file_url_generator->generateString(\Drupal::token()->replace('public://[date:custom:Y]-[date:custom:m]/' . $test_filename_updated)); $this->assertSame($expected_video_src, $video_element->getAttribute('src')); } diff --git a/web/core/modules/media/tests/src/Kernel/MediaEmbedFilterTest.php b/web/core/modules/media/tests/src/Kernel/MediaEmbedFilterTest.php index 4483b89b3..e2b4b820a 100644 --- a/web/core/modules/media/tests/src/Kernel/MediaEmbedFilterTest.php +++ b/web/core/modules/media/tests/src/Kernel/MediaEmbedFilterTest.php @@ -356,8 +356,6 @@ public function providerMissingEntityIndicator() { /** * Tests that only tags are processed. - * - * @see \Drupal\Tests\media\FunctionalJavascript\CKEditorIntegrationTest::testOnlyDrupalMediaTagProcessed() */ public function testOnlyDrupalMediaTagProcessed() { $content = $this->createEmbedCode([ diff --git a/web/core/modules/media/tests/src/Kernel/MediaEmbedFilterTranslationTest.php b/web/core/modules/media/tests/src/Kernel/MediaEmbedFilterTranslationTest.php index 2031eefa9..ead63b80b 100644 --- a/web/core/modules/media/tests/src/Kernel/MediaEmbedFilterTranslationTest.php +++ b/web/core/modules/media/tests/src/Kernel/MediaEmbedFilterTranslationTest.php @@ -33,10 +33,10 @@ protected function setUp(): void { $this->embeddedEntity->addTranslation('pt-br') ->set('field_media_image', [ - 'target_id' => $this->image->id(), - 'alt' => 'pt-br alt', - 'title' => 'pt-br title', - ])->save(); + 'target_id' => $this->image->id(), + 'alt' => 'pt-br alt', + 'title' => 'pt-br title', + ])->save(); } /** diff --git a/web/core/modules/media/tests/src/Kernel/MediaSourceTest.php b/web/core/modules/media/tests/src/Kernel/MediaSourceTest.php index 07e764544..b6e67c897 100644 --- a/web/core/modules/media/tests/src/Kernel/MediaSourceTest.php +++ b/web/core/modules/media/tests/src/Kernel/MediaSourceTest.php @@ -300,6 +300,25 @@ public function testThumbnail() { $this->assertEmpty($media->thumbnail->title); $this->assertSame('', $media->thumbnail->alt); + // Set the width and height metadata attributes and make sure they're used + // for the thumbnail. + \Drupal::state()->set('media_source_test_definition', [ + 'thumbnail_width_metadata_attribute' => 'width', + 'thumbnail_height_metadata_attribute' => 'height', + ]); + \Drupal::state()->set('media_source_test_attributes', [ + 'width' => ['value' => 1024], + 'height' => ['value' => 768], + ]); + $media = Media::create([ + 'bundle' => $this->testMediaType->id(), + 'name' => 'Are you looking at me?', + 'field_media_test' => 'some_value', + ]); + $media->save(); + $this->assertSame(1024, $media->thumbnail->width); + $this->assertSame(768, $media->thumbnail->height); + // Enable queued thumbnails and make sure that the entity gets the default // thumbnail initially. \Drupal::state()->set('media_source_test_definition', []); diff --git a/web/core/modules/media/tests/src/Kernel/OEmbedIframeControllerTest.php b/web/core/modules/media/tests/src/Kernel/OEmbedIframeControllerTest.php index 1d618716a..c71c2e327 100644 --- a/web/core/modules/media/tests/src/Kernel/OEmbedIframeControllerTest.php +++ b/web/core/modules/media/tests/src/Kernel/OEmbedIframeControllerTest.php @@ -55,7 +55,7 @@ public function testBadHashParameter($hash) { $this->assertIsCallable($controller); - $this->expectException('\Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException'); + $this->expectException('\Symfony\Component\HttpKernel\Exception\BadRequestHttpException'); $this->expectExceptionMessage('This resource is not available'); $request = new Request([ 'url' => 'https://example.com/path/to/resource', diff --git a/web/core/modules/media/tests/src/Traits/OEmbedTestTrait.php b/web/core/modules/media/tests/src/Traits/OEmbedTestTrait.php index 7f44db1ea..8744bffef 100644 --- a/web/core/modules/media/tests/src/Traits/OEmbedTestTrait.php +++ b/web/core/modules/media/tests/src/Traits/OEmbedTestTrait.php @@ -39,10 +39,11 @@ protected function useFixtureProviders() { } /** - * Configures the http_client service so that all requests are carried out - * relative to the URL of the fixtures directory. For example, after calling - * this method, a request for foobar.html will actually request - * http://test-site/path/to/fuxtures/foobar.html. + * Configures the HTTP client to always use the fixtures directory. + * + * All requests are carried out relative to the URL of the fixtures directory. + * For example, after calling this method, a request for foobar.html will + * actually request http://test-site/path/to/fixtures/foobar.html. */ protected function lockHttpClientToFixtures() { $this->writeSettings([ @@ -62,9 +63,10 @@ protected function lockHttpClientToFixtures() { } /** - * Ensures that all oEmbed provider endpoints defined in the fixture - * providers.json will use the media_test_oembed.resource.get route as their - * URL. + * Ensures that oEmbed provider endpoints use the test resource route. + * + * All oEmbed provider endpoints defined in the fixture providers.json will + * use the media_test_oembed.resource.get route as their URL. * * This requires the media_test_oembed module in order to work. */ diff --git a/web/core/modules/media_library/js/media_library.click_to_select.js b/web/core/modules/media_library/js/media_library.click_to_select.js index 4c4aeaa39..03a424585 100644 --- a/web/core/modules/media_library/js/media_library.click_to_select.js +++ b/web/core/modules/media_library/js/media_library.click_to_select.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal) { Drupal.behaviors.ClickToSelect = { attach: function attach(context) { @@ -18,12 +17,12 @@ $(currentTarget).closest('.js-click-to-select').toggleClass('checked', $(currentTarget).prop('checked')); }).on('focus blur', function (_ref2) { var currentTarget = _ref2.currentTarget, - type = _ref2.type; + type = _ref2.type; $(currentTarget).closest('.js-click-to-select').toggleClass('is-focus', type === 'focus'); }); $(once('media-library-click-to-select-hover', '.js-click-to-select-trigger, .js-click-to-select-checkbox', context)).on('mouseover mouseout', function (_ref3) { var currentTarget = _ref3.currentTarget, - type = _ref3.type; + type = _ref3.type; $(currentTarget).closest('.js-click-to-select').toggleClass('is-hover', type === 'mouseover'); }); } diff --git a/web/core/modules/media_library/js/media_library.ui.es6.js b/web/core/modules/media_library/js/media_library.ui.es6.js index 95bc01ac3..569b44312 100644 --- a/web/core/modules/media_library/js/media_library.ui.es6.js +++ b/web/core/modules/media_library/js/media_library.ui.es6.js @@ -83,37 +83,21 @@ // Override the AJAX success callback to shift focus to the media // library content. ajaxObject.success = function (response, status) { - // Remove the progress element. - if (this.progress.element) { - $(this.progress.element).remove(); - } - if (this.progress.object) { - this.progress.object.stopMonitoring(); - } - $(this.element).prop('disabled', false); - - // Execute the AJAX commands. - Object.keys(response || {}).forEach((i) => { - if (response[i].command && this.commands[response[i].command]) { - this.commands[response[i].command](this, response[i], status); + return Promise.resolve( + Drupal.Ajax.prototype.success.call(ajaxObject, response, status), + ).then(() => { + // Set focus to the first tabbable element in the media library + // content. + const mediaLibraryContent = document.getElementById( + 'media-library-content', + ); + if (mediaLibraryContent) { + const tabbableContent = tabbable(mediaLibraryContent); + if (tabbableContent.length) { + tabbableContent[0].focus(); + } } }); - - // Set focus to the first tabbable element in the media library - // content. - const mediaLibraryContent = document.getElementById( - 'media-library-content', - ); - if (mediaLibraryContent) { - const tabbableContent = tabbable(mediaLibraryContent); - if (tabbableContent.length) { - tabbableContent[0].focus(); - } - } - - // Remove any response-specific settings so they don't get used on - // the next call by mistake. - this.settings = null; }; ajaxObject.execute(); diff --git a/web/core/modules/media_library/js/media_library.ui.js b/web/core/modules/media_library/js/media_library.ui.js index bf5e93f2f..1eb2d4ec4 100644 --- a/web/core/modules/media_library/js/media_library.ui.js +++ b/web/core/modules/media_library/js/media_library.ui.js @@ -4,19 +4,16 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal, window, _ref) { var tabbable = _ref.tabbable; Drupal.MediaLibrary = { currentSelection: [] }; - Drupal.AjaxCommands.prototype.updateMediaLibrarySelection = function (ajax, response, status) { Object.values(response.mediaIds).forEach(function (value) { Drupal.MediaLibrary.currentSelection.push(value); }); }; - Drupal.behaviors.MediaLibraryTabs = { attach: function attach(context) { var $menu = $('.js-media-library-menu'); @@ -38,37 +35,17 @@ message: Drupal.t('Please wait...') } }); - ajaxObject.success = function (response, status) { - var _this = this; - - if (this.progress.element) { - $(this.progress.element).remove(); - } - - if (this.progress.object) { - this.progress.object.stopMonitoring(); - } - - $(this.element).prop('disabled', false); - Object.keys(response || {}).forEach(function (i) { - if (response[i].command && _this.commands[response[i].command]) { - _this.commands[response[i].command](_this, response[i], status); + return Promise.resolve(Drupal.Ajax.prototype.success.call(ajaxObject, response, status)).then(function () { + var mediaLibraryContent = document.getElementById('media-library-content'); + if (mediaLibraryContent) { + var tabbableContent = tabbable(mediaLibraryContent); + if (tabbableContent.length) { + tabbableContent[0].focus(); + } } }); - var mediaLibraryContent = document.getElementById('media-library-content'); - - if (mediaLibraryContent) { - var tabbableContent = tabbable(mediaLibraryContent); - - if (tabbableContent.length) { - tabbableContent[0].focus(); - } - } - - this.settings = null; }; - ajaxObject.execute(); $menu.find('.active-tab').remove(); $menu.find('a').removeClass('active'); @@ -92,7 +69,6 @@ var loadingAnnouncement = ''; var displayAnnouncement = ''; var focusSelector = ''; - if ($link.hasClass('views-display-link-widget')) { loadingAnnouncement = Drupal.t('Loading grid view.'); displayAnnouncement = Drupal.t('Changed to grid view.'); @@ -102,7 +78,6 @@ displayAnnouncement = Drupal.t('Changed to table view.'); focusSelector = '.views-display-link-widget_table'; } - var ajaxObject = Drupal.ajax({ wrapper: 'media-library-view', url: e.currentTarget.href, @@ -112,25 +87,19 @@ message: loadingAnnouncement || Drupal.t('Please wait...') } }); - if (displayAnnouncement || focusSelector) { var success = ajaxObject.success; - ajaxObject.success = function (response, status) { success.bind(this)(response, status); - if (focusSelector) { $(focusSelector).focus(); } - if (displayAnnouncement) { Drupal.announce(displayAnnouncement); } }; } - ajaxObject.execute(); - if (loadingAnnouncement) { Drupal.announce(loadingAnnouncement); } @@ -141,32 +110,25 @@ attach: function attach(context, settings) { var $form = $('.js-media-library-views-form, .js-media-library-add-form', context); var currentSelection = Drupal.MediaLibrary.currentSelection; - if (!$form.length) { return; } - var $mediaItems = $('.js-media-library-item input[type="checkbox"]', $form); - function disableItems($items) { $items.prop('disabled', true).closest('.js-media-library-item').addClass('media-library-item--disabled'); } - function enableItems($items) { $items.prop('disabled', false).closest('.js-media-library-item').removeClass('media-library-item--disabled'); } - function updateSelectionCount(remaining) { var selectItemsText = remaining < 0 ? Drupal.formatPlural(currentSelection.length, '1 item selected', '@count items selected') : Drupal.formatPlural(remaining, '@selected of @count item selected', '@selected of @count items selected', { '@selected': currentSelection.length }); $('.js-media-library-selected-count').html(selectItemsText); } - $(once('media-item-change', $mediaItems)).on('change', function (e) { var id = e.currentTarget.value; var position = currentSelection.indexOf(id); - if (e.currentTarget.checked) { if (position === -1) { currentSelection.push(id); @@ -174,21 +136,17 @@ } else if (position !== -1) { currentSelection.splice(position, 1); } - var mediaLibraryModalSelection = document.querySelector('#media-library-modal-selection'); - if (mediaLibraryModalSelection) { mediaLibraryModalSelection.value = currentSelection.join(); $(mediaLibraryModalSelection).trigger('change'); } - document.querySelectorAll('.js-media-library-add-form-current-selection').forEach(function (item) { item.value = currentSelection.join(); }); }); $(once('media-library-selection-change', $form.find('#media-library-modal-selection'))).on('change', function (e) { updateSelectionCount(settings.media_library.selection_remaining); - if (currentSelection.length === settings.media_library.selection_remaining) { disableItems($mediaItems.not(':checked')); enableItems($mediaItems.filter(':checked')); @@ -199,18 +157,14 @@ currentSelection.forEach(function (value) { $form.find("input[type=\"checkbox\"][value=\"".concat(value, "\"]")).prop('checked', true).trigger('change'); }); - if (!once('media-library-selection-info', 'html').length) { return; } - $(window).on('dialog:aftercreate', function () { var $buttonPane = $('.media-library-widget-modal .ui-dialog-buttonpane'); - if (!$buttonPane.length) { return; } - $buttonPane.append(Drupal.theme('mediaLibrarySelectionCount')); updateSelectionCount(settings.media_library.selection_remaining); }); @@ -221,13 +175,11 @@ if (!once('media-library-clear-selection', 'html').length) { return; } - $(window).on('dialog:afterclose', function () { Drupal.MediaLibrary.currentSelection = []; }); } }; - Drupal.theme.mediaLibrarySelectionCount = function () { return "
                                                  "; }; diff --git a/web/core/modules/media_library/js/media_library.view.js b/web/core/modules/media_library/js/media_library.view.js index 4e9e8be78..231692782 100644 --- a/web/core/modules/media_library/js/media_library.view.js +++ b/web/core/modules/media_library/js/media_library.view.js @@ -4,12 +4,10 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal) { Drupal.behaviors.MediaLibrarySelectAll = { attach: function attach(context) { var $view = $(once('media-library-select-all', '.js-media-library-view[data-view-display-id="page"]', context)); - if ($view.length && $view.find('.js-media-library-item').length) { var $checkbox = $(Drupal.theme('checkbox')).on('click', function (_ref) { var currentTarget = _ref.currentTarget; diff --git a/web/core/modules/media_library/js/media_library.widget.js b/web/core/modules/media_library/js/media_library.widget.js index b83668f9e..9de27a381 100644 --- a/web/core/modules/media_library/js/media_library.widget.js +++ b/web/core/modules/media_library/js/media_library.widget.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal, Sortable) { Drupal.behaviors.MediaLibraryWidgetSortable = { attach: function attach(context) { diff --git a/web/core/modules/media_library/js/plugins/drupalmedialibrary/icons/drupalmedialibrary.png b/web/core/modules/media_library/js/plugins/drupalmedialibrary/icons/drupalmedialibrary.png deleted file mode 100644 index bcd36d441..000000000 Binary files a/web/core/modules/media_library/js/plugins/drupalmedialibrary/icons/drupalmedialibrary.png and /dev/null differ diff --git a/web/core/modules/media_library/js/plugins/drupalmedialibrary/icons/hidpi/drupalmedialibrary.png b/web/core/modules/media_library/js/plugins/drupalmedialibrary/icons/hidpi/drupalmedialibrary.png deleted file mode 100644 index 6d5f1405c..000000000 Binary files a/web/core/modules/media_library/js/plugins/drupalmedialibrary/icons/hidpi/drupalmedialibrary.png and /dev/null differ diff --git a/web/core/modules/media_library/js/plugins/drupalmedialibrary/plugin.es6.js b/web/core/modules/media_library/js/plugins/drupalmedialibrary/plugin.es6.js deleted file mode 100644 index 1e270a66b..000000000 --- a/web/core/modules/media_library/js/plugins/drupalmedialibrary/plugin.es6.js +++ /dev/null @@ -1,76 +0,0 @@ -/** - * @file - * Drupal Media Library plugin. - */ - -(function (Drupal, CKEDITOR) { - CKEDITOR.plugins.add('drupalmedialibrary', { - requires: 'drupalmedia', - icons: 'drupalmedialibrary', - hidpi: true, - beforeInit(editor) { - editor.addCommand('drupalmedialibrary', { - allowedContent: { - 'drupal-media': { - attributes: { - '!data-entity-type': true, - '!data-entity-uuid': true, - '!data-view-mode': true, - '!data-align': true, - '!data-caption': true, - '!alt': true, - '!title': true, - }, - classes: {}, - }, - }, - // This does not use the object format used above, but a - // CKEDITOR.style instance, because requiredContent does not support - // the object format. - // @see https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_filter_contentRule.html - // eslint-disable-next-line new-cap - requiredContent: new CKEDITOR.style({ - element: 'drupal-media', - attributes: { - 'data-entity-type': '', - 'data-entity-uuid': '', - }, - }), - modes: { wysiwyg: 1 }, - // There is an edge case related to the undo functionality that will - // be resolved in https://www.drupal.org/project/drupal/issues/3073294. - canUndo: true, - // eslint-disable-next-line no-shadow - exec(editor) { - const saveCallback = function (values) { - editor.fire('saveSnapshot'); - const mediaElement = editor.document.createElement('drupal-media'); - // eslint-disable-next-line prefer-destructuring - const attributes = values.attributes; - Object.keys(attributes).forEach((key) => { - mediaElement.setAttribute(key, attributes[key]); - }); - editor.insertHtml(mediaElement.getOuterHtml()); - editor.fire('saveSnapshot'); - }; - - // @see \Drupal\media_library\MediaLibraryUiBuilder::dialogOptions() - Drupal.ckeditor.openDialog( - editor, - editor.config.DrupalMediaLibrary_url, - {}, - saveCallback, - editor.config.DrupalMediaLibrary_dialogOptions, - ); - }, - }); - - if (editor.ui.addButton) { - editor.ui.addButton('DrupalMediaLibrary', { - label: Drupal.t('Insert from Media Library'), - command: 'drupalmedialibrary', - }); - } - }, - }); -})(Drupal, CKEDITOR); diff --git a/web/core/modules/media_library/js/plugins/drupalmedialibrary/plugin.js b/web/core/modules/media_library/js/plugins/drupalmedialibrary/plugin.js deleted file mode 100644 index bfb1e1952..000000000 --- a/web/core/modules/media_library/js/plugins/drupalmedialibrary/plugin.js +++ /dev/null @@ -1,64 +0,0 @@ -/** -* DO NOT EDIT THIS FILE. -* See the following change record for more information, -* https://www.drupal.org/node/2815083 -* @preserve -**/ - -(function (Drupal, CKEDITOR) { - CKEDITOR.plugins.add('drupalmedialibrary', { - requires: 'drupalmedia', - icons: 'drupalmedialibrary', - hidpi: true, - beforeInit: function beforeInit(editor) { - editor.addCommand('drupalmedialibrary', { - allowedContent: { - 'drupal-media': { - attributes: { - '!data-entity-type': true, - '!data-entity-uuid': true, - '!data-view-mode': true, - '!data-align': true, - '!data-caption': true, - '!alt': true, - '!title': true - }, - classes: {} - } - }, - requiredContent: new CKEDITOR.style({ - element: 'drupal-media', - attributes: { - 'data-entity-type': '', - 'data-entity-uuid': '' - } - }), - modes: { - wysiwyg: 1 - }, - canUndo: true, - exec: function exec(editor) { - var saveCallback = function saveCallback(values) { - editor.fire('saveSnapshot'); - var mediaElement = editor.document.createElement('drupal-media'); - var attributes = values.attributes; - Object.keys(attributes).forEach(function (key) { - mediaElement.setAttribute(key, attributes[key]); - }); - editor.insertHtml(mediaElement.getOuterHtml()); - editor.fire('saveSnapshot'); - }; - - Drupal.ckeditor.openDialog(editor, editor.config.DrupalMediaLibrary_url, {}, saveCallback, editor.config.DrupalMediaLibrary_dialogOptions); - } - }); - - if (editor.ui.addButton) { - editor.ui.addButton('DrupalMediaLibrary', { - label: Drupal.t('Insert from Media Library'), - command: 'drupalmedialibrary' - }); - } - } - }); -})(Drupal, CKEDITOR); \ No newline at end of file diff --git a/web/core/modules/media_library/media_library.libraries.yml b/web/core/modules/media_library/media_library.libraries.yml index 8c2f1b393..36cc1ad35 100644 --- a/web/core/modules/media_library/media_library.libraries.yml +++ b/web/core/modules/media_library/media_library.libraries.yml @@ -38,3 +38,4 @@ ui: - core/jquery - media_library/view - core/tabbable + - core/es6-promise diff --git a/web/core/modules/media_library/media_library.module b/web/core/modules/media_library/media_library.module index 24a534ce8..0c8e197f8 100644 --- a/web/core/modules/media_library/media_library.module +++ b/web/core/modules/media_library/media_library.module @@ -26,8 +26,6 @@ use Drupal\media_library\Form\OEmbedForm; use Drupal\media_library\MediaLibraryState; use Drupal\views\Plugin\views\cache\CachePluginBase; use Drupal\views\ViewExecutable; -use Drupal\Core\StringTranslation\TranslatableMarkup; -use Drupal\Component\Serialization\Json; /** * Implements hook_help(). @@ -474,73 +472,3 @@ function _media_library_configure_view_display(MediaTypeInterface $type) { ]); return (bool) $display->save(); } - -/** - * Implements hook_form_FORM_ID_alter(). - */ -function media_library_form_filter_format_edit_form_alter(array &$form, FormStateInterface $form_state, $form_id) { - // Add an additional validate callback so we can ensure the media_embed filter - // is enabled when the DrupalMediaLibrary button is enabled. - $form['#validate'][] = 'media_library_filter_format_edit_form_validate'; -} - -/** - * Implements hook_form_FORM_ID_alter(). - */ -function media_library_form_filter_format_add_form_alter(array &$form, FormStateInterface $form_state, $form_id) { - // Add an additional validate callback so we can ensure the media_embed filter - // is enabled when the DrupalMediaLibrary button is enabled. - $form['#validate'][] = 'media_library_filter_format_edit_form_validate'; -} - -/** - * Validate callback to ensure the DrupalMediaLibrary button can work correctly. - */ -function media_library_filter_format_edit_form_validate($form, FormStateInterface $form_state) { - if ($form_state->getTriggeringElement()['#name'] !== 'op') { - return; - } - - // The "DrupalMediaLibrary" button is for the CKEditor text editor. - if ($form_state->getValue(['editor', 'editor']) !== 'ckeditor') { - return; - } - - $button_group_path = [ - 'editor', - 'settings', - 'toolbar', - 'button_groups', - ]; - - if ($button_groups = $form_state->getValue($button_group_path)) { - $buttons = []; - $button_groups = Json::decode($button_groups); - - foreach ($button_groups as $button_row) { - foreach ($button_row as $button_group) { - $buttons = array_merge($buttons, array_values($button_group['items'])); - } - } - - $get_filter_label = function ($filter_plugin_id) use ($form) { - return (string) $form['filters']['order'][$filter_plugin_id]['filter']['#markup']; - }; - - if (in_array('DrupalMediaLibrary', $buttons, TRUE)) { - $media_embed_enabled = $form_state->getValue([ - 'filters', - 'media_embed', - 'status', - ]); - - if (!$media_embed_enabled) { - $error_message = new TranslatableMarkup('The %media-embed-filter-label filter must be enabled to use the %drupal-media-library-button button.', [ - '%media-embed-filter-label' => $get_filter_label('media_embed'), - '%drupal-media-library-button' => new TranslatableMarkup('Insert from Media Library'), - ]); - $form_state->setErrorByName('filters', $error_message); - } - } - } -} diff --git a/web/core/modules/media_library/src/MediaLibraryEditorOpener.php b/web/core/modules/media_library/src/MediaLibraryEditorOpener.php index 0c0af98b4..b8c07ff82 100644 --- a/web/core/modules/media_library/src/MediaLibraryEditorOpener.php +++ b/web/core/modules/media_library/src/MediaLibraryEditorOpener.php @@ -11,10 +11,8 @@ /** * The media library opener for text editors. * - * @see \Drupal\media_library\Plugin\CKEditorPlugin\DrupalMediaLibrary - * * @internal - * This service is an internal part of Media Library's CKEditor integration. + * This is an internal part of Media Library's text editor integration. */ class MediaLibraryEditorOpener implements MediaLibraryOpenerInterface { diff --git a/web/core/modules/media_library/src/Plugin/CKEditorPlugin/DrupalMediaLibrary.php b/web/core/modules/media_library/src/Plugin/CKEditorPlugin/DrupalMediaLibrary.php deleted file mode 100644 index b0739136d..000000000 --- a/web/core/modules/media_library/src/Plugin/CKEditorPlugin/DrupalMediaLibrary.php +++ /dev/null @@ -1,170 +0,0 @@ -moduleExtensionList = $extension_list_module; - $this->mediaTypeStorage = $entity_type_manager->getStorage('media_type'); - } - - /** - * {@inheritdoc} - */ - public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { - return new static( - $configuration, - $plugin_id, - $plugin_definition, - $container->get('extension.list.module'), - $container->get('entity_type.manager') - ); - } - - /** - * {@inheritdoc} - */ - public function isInternal() { - return FALSE; - } - - /** - * {@inheritdoc} - */ - public function getDependencies(Editor $editor) { - return [ - 'drupalmedia', - ]; - } - - /** - * {@inheritdoc} - */ - public function getLibraries(Editor $editor) { - return [ - 'editor/drupal.editor.dialog', - ]; - } - - /** - * {@inheritdoc} - */ - public function getFile() { - return $this->moduleExtensionList->getPath('media_library') . '/js/plugins/drupalmedialibrary/plugin.js'; - } - - /** - * {@inheritdoc} - */ - public function getConfig(Editor $editor) { - // If the editor has not been saved yet, we may not be able to create a - // coherent MediaLibraryState object, which is needed in order to generate - // the required configuration. But, if we're creating a new editor, we don't - // need to do that anyway, so just return an empty array. - if ($editor->isNew()) { - return []; - } - - $media_type_ids = $this->mediaTypeStorage->getQuery()->execute(); - if ($editor->hasAssociatedFilterFormat()) { - if ($media_embed_filter = $editor->getFilterFormat()->filters()->get('media_embed')) { - // Optionally limit the allowed media types based on the MediaEmbed - // setting. If the setting is empty, do not limit the options. - if (!empty($media_embed_filter->settings['allowed_media_types'])) { - $media_type_ids = array_intersect_key($media_type_ids, $media_embed_filter->settings['allowed_media_types']); - } - } - } - - if (in_array('image', $media_type_ids, TRUE)) { - // Due to a bug where the active item styling and the focus styling - // create the visual appearance of two active items, we'll move - // the 'image' media type to first position, so that the focused item and - // the active item are the same. - // This workaround can be removed once this issue is fixed: - // @see https://www.drupal.org/project/drupal/issues/3073799 - array_unshift($media_type_ids, 'image'); - $media_type_ids = array_unique($media_type_ids); - } - - $state = MediaLibraryState::create( - 'media_library.opener.editor', - $media_type_ids, - reset($media_type_ids), - 1, - ['filter_format_id' => $editor->getFilterFormat()->id()] - ); - - return [ - 'DrupalMediaLibrary_url' => Url::fromRoute('media_library.ui') - ->setOption('query', $state->all()) - ->toString(TRUE) - ->getGeneratedUrl(), - 'DrupalMediaLibrary_dialogOptions' => MediaLibraryUiBuilder::dialogOptions(), - ]; - } - - /** - * {@inheritdoc} - */ - public function getButtons() { - return [ - 'DrupalMediaLibrary' => [ - 'label' => $this->t('Insert from Media Library'), - 'image' => $this->moduleExtensionList->getPath('media_library') . '/js/plugins/drupalmedialibrary/icons/drupalmedialibrary.png', - ], - ]; - } - -} diff --git a/web/core/modules/media_library/src/Plugin/Field/FieldWidget/MediaLibraryWidget.php b/web/core/modules/media_library/src/Plugin/Field/FieldWidget/MediaLibraryWidget.php index d34ee84ec..a94bb4ad4 100644 --- a/web/core/modules/media_library/src/Plugin/Field/FieldWidget/MediaLibraryWidget.php +++ b/web/core/modules/media_library/src/Plugin/Field/FieldWidget/MediaLibraryWidget.php @@ -19,6 +19,7 @@ use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Security\TrustedCallbackInterface; use Drupal\Core\Session\AccountInterface; +use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\Core\Url; use Drupal\field_ui\FieldUI; use Drupal\media\Entity\Media; @@ -206,7 +207,7 @@ public function settingsForm(array $form, FormStateInterface $form_state) { 'label' => ['#markup' => $label], 'weight' => [ '#type' => 'weight', - '#title' => t('Weight for @title', ['@title' => $label]), + '#title' => $this->t('Weight for @title', ['@title' => $label]), '#title_display' => 'invisible', '#default_value' => $weight, '#attributes' => ['class' => ['weight']], @@ -268,7 +269,7 @@ public function settingsSummary() { foreach ($media_types as $media_type) { $media_type_labels[] = $media_type->label(); } - $summary[] = t('Tab order: @order', ['@order' => implode(', ', $media_type_labels)]); + $summary[] = $this->t('Tab order: @order', ['@order' => implode(', ', $media_type_labels)]); } return $summary; } @@ -714,7 +715,7 @@ public static function updateWidget(array $form, FormStateInterface $form_state) // Announce the updated content to screen readers. if ($is_remove_button) { $media_item = Media::load($field_state['removed_item_id']); - $announcement = $media_item->access('view label') ? t('@label has been removed.', ['@label' => $media_item->label()]) : t('Media has been removed.'); + $announcement = $media_item->access('view label') ? new TranslatableMarkup('@label has been removed.', ['@label' => $media_item->label()]) : new TranslatableMarkup('Media has been removed.'); } else { $new_items = count(static::getNewMediaItems($element, $form_state)); @@ -864,7 +865,7 @@ public static function validateItems(array $form, FormStateInterface $form_state }, $element['#target_bundles']); foreach ($media as $media_item) { if ($element['#target_bundles'] && !in_array($media_item->bundle(), $element['#target_bundles'], TRUE)) { - $form_state->setError($element, t('The media item "@label" is not of an accepted type. Allowed types: @types', [ + $form_state->setError($element, new TranslatableMarkup('The media item "@label" is not of an accepted type. Allowed types: @types', [ '@label' => $media_item->label(), '@types' => implode(', ', $bundle_labels), ])); @@ -1008,12 +1009,17 @@ public static function validateRequired(array $element, FormStateInterface $form return; } + // If user has no access, the validation isn't needed. + if (isset($element['#access']) && !$element['#access']) { + return; + } + $field_state = static::getFieldState($element, $form_state); // Trigger error if the field is required and no media is present. Although // the Form API's default validation would also catch this, the validation // error message is too vague, so a more precise one is provided here. if (count($field_state['items']) === 0) { - $form_state->setError($element, t('@name field is required.', ['@name' => $element['#title']])); + $form_state->setError($element, new TranslatableMarkup('@name field is required.', ['@name' => $element['#title']])); } } diff --git a/web/core/modules/media_library/tests/modules/media_library_test/media_library_test.module b/web/core/modules/media_library/tests/modules/media_library_test/media_library_test.module index 26d0362e1..bbebbb0f1 100644 --- a/web/core/modules/media_library/tests/modules/media_library_test/media_library_test.module +++ b/web/core/modules/media_library/tests/modules/media_library_test/media_library_test.module @@ -27,7 +27,10 @@ function media_library_test_media_create_access(AccountInterface $account, array * Implements hook_entity_field_access(). */ function media_library_test_entity_field_access($operation, FieldDefinitionInterface $field_definition, AccountInterface $account, FieldItemListInterface $items = NULL) { - return AccessResult::forbiddenIf($field_definition->getName() === 'field_media_no_access', 'Field access denied by test module'); + $deny_fields = \Drupal::state()->get('media_library_test_entity_field_access_deny_fields', []); + // Always deny the field_media_no_access field. + $deny_fields[] = 'field_media_no_access'; + return AccessResult::forbiddenIf(in_array($field_definition->getName(), $deny_fields, TRUE), 'Field access denied by test module'); } /** diff --git a/web/core/modules/media_library/tests/src/FunctionalJavascript/CKEditorIntegrationTest.php b/web/core/modules/media_library/tests/src/FunctionalJavascript/CKEditorIntegrationTest.php deleted file mode 100644 index 40fe5f7f5..000000000 --- a/web/core/modules/media_library/tests/src/FunctionalJavascript/CKEditorIntegrationTest.php +++ /dev/null @@ -1,328 +0,0 @@ - 'test_format', - 'name' => 'Test format', - 'filters' => [ - 'media_embed' => ['status' => TRUE], - ], - ])->save(); - Editor::create([ - 'editor' => 'ckeditor', - 'format' => 'test_format', - 'settings' => [ - 'toolbar' => [ - 'rows' => [ - [ - [ - 'name' => 'Main', - 'items' => [ - 'Source', - 'Undo', - 'Redo', - ], - ], - ], - [ - [ - 'name' => 'Embeds', - 'items' => [ - 'DrupalMediaLibrary', - ], - ], - ], - ], - ], - ], - ])->save(); - - $this->drupalCreateContentType(['type' => 'blog']); - - // Note that media_install() grants 'view media' to all users by default. - $this->user = $this->drupalCreateUser([ - 'use text format test_format', - 'access media overview', - 'create blog content', - ]); - - // Create a media type that starts with the letter a, to test tab order. - $this->createMediaType('image', ['id' => 'arrakis', 'label' => 'Arrakis']); - - // Create a sample media entity to be embedded. - $this->createMediaType('image', ['id' => 'image', 'label' => 'Image']); - File::create([ - 'uri' => $this->getTestFiles('image')[0]->uri, - ])->save(); - $this->media = Media::create([ - 'bundle' => 'image', - 'name' => 'Fear is the mind-killer', - 'field_media_image' => [ - [ - 'target_id' => 1, - 'alt' => 'default alt', - 'title' => 'default title', - ], - ], - ]); - $this->media->save(); - - $arrakis_media = Media::create([ - 'bundle' => 'arrakis', - 'name' => 'Le baron Vladimir Harkonnen', - 'field_media_image' => [ - [ - 'target_id' => 1, - 'alt' => 'Il complote pour détruire le duc Leto', - 'title' => 'Il complote pour détruire le duc Leto', - ], - ], - ]); - $arrakis_media->save(); - - $this->drupalLogin($this->user); - } - - /** - * Tests validation that DrupalMediaLibrary requires media_embed filter. - */ - public function testConfigurationValidation() { - $page = $this->getSession()->getPage(); - $assert_session = $this->assertSession(); - $admin_user = $this->drupalCreateUser([ - 'access administration pages', - 'administer site configuration', - 'administer filters', - ]); - $this->drupalLogin($admin_user); - $this->drupalGet('/admin/config/content/formats/manage/test_format'); - $page->uncheckField('filters[media_embed][status]'); - $page->pressButton('Save configuration'); - $assert_session->pageTextContains('The Embed media filter must be enabled to use the Insert from Media Library button.'); - $page->checkField('filters[media_embed][status]'); - $page->pressButton('Save configuration'); - $assert_session->pageTextContains('The text format Test format has been updated.'); - - // Now test adding a new format. - $this->drupalGet('/admin/config/content/formats/add'); - $page->fillField('name', 'Sulaco'); - // Wait for machine name to be filled in. - $this->assertNotEmpty($assert_session->waitForText('sulaco')); - $page->checkField('roles[authenticated]'); - $page->selectFieldOption('editor[editor]', 'ckeditor'); - - $targetSelector = 'ul.ckeditor-toolbar-group-buttons'; - $buttonSelector = 'li[data-drupal-ckeditor-button-name="DrupalMediaLibrary"]'; - $this->assertNotEmpty($assert_session->waitForElementVisible('css', $targetSelector)); - $this->assertNotEmpty($assert_session->elementExists('css', $buttonSelector)); - $this->sortableTo($buttonSelector, 'ul.ckeditor-available-buttons', $targetSelector); - $page->pressButton('Save configuration'); - $assert_session->pageTextContains('The Embed media filter must be enabled to use the Insert from Media Library button.'); - $page->checkField('filters[media_embed][status]'); - $page->pressButton('Save configuration'); - $assert_session->pageTextContains('Added text format Sulaco.'); - - // Test that when adding the DrupalMediaLibrary button to the editor the - // correct attributes are added to the tag in the Allowed - // HTML tags. - $this->drupalGet('/admin/config/content/formats/manage/sulaco'); - $page->checkField('filters[filter_html][status]'); - $expected = 'drupal-media data-entity-type data-entity-uuid data-view-mode data-align data-caption alt title'; - $allowed_html = $assert_session->fieldExists('filters[filter_html][settings][allowed_html]')->getValue(); - $this->assertStringContainsString($expected, $allowed_html); - $page->pressButton('Save configuration'); - $assert_session->pageTextContains('The text format Sulaco has been updated.'); - - // Test that the config form allows removing non-required attributes from - // the tag. - $this->drupalGet('/admin/config/content/formats/manage/sulaco'); - $allowed_html_field = $assert_session->fieldExists('filters[filter_html][settings][allowed_html]'); - $allowed_html = $allowed_html_field->getValue(); - $search = 'drupal-media data-entity-type data-entity-uuid data-view-mode data-align data-caption alt title'; - $replace = 'drupal-media data-entity-type data-entity-uuid'; - $allowed_html = str_replace($search, $replace, $allowed_html); - $page->clickLink('Limit allowed HTML tags and correct faulty HTML'); - $this->assertTrue($allowed_html_field->waitFor(10, function ($allowed_html_field) { - return $allowed_html_field->isVisible(); - })); - $allowed_html_field->setValue($allowed_html); - $page->pressButton('Save configuration'); - $assert_session->pageTextContains('The text format Sulaco has been updated.'); - } - - /** - * Tests using DrupalMediaLibrary button to embed media into CKEditor. - */ - public function testButton() { - $this->drupalGet('/node/add/blog'); - $this->waitForEditor(); - $this->pressEditorButton('drupalmedialibrary'); - $assert_session = $this->assertSession(); - $page = $this->getSession()->getPage(); - $this->assertNotEmpty($assert_session->waitForId('drupal-modal')); - - // Test that the order is the order set in DrupalMediaLibrary::getConfig(). - $tabs = $page->findAll('css', '.media-library-menu__link'); - $expected_tab_order = [ - 'Show Image media (selected)', - 'Show Arrakis media', - ]; - foreach ($tabs as $key => $tab) { - $this->assertSame($expected_tab_order[$key], $tab->getText()); - } - - $assert_session->pageTextContains('0 of 1 item selected'); - $assert_session->elementExists('css', '.js-media-library-item')->click(); - $assert_session->pageTextContains('1 of 1 item selected'); - $assert_session->elementExists('css', '.ui-dialog-buttonpane')->pressButton('Insert selected'); - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - $this->assertNotEmpty($assert_session->waitForElementVisible('css', '.cke_widget_drupalmedia drupal-media .media')); - $this->pressEditorButton('source'); - $value = $assert_session->elementExists('css', 'textarea.cke_source')->getValue(); - $dom = Html::load($value); - $xpath = new \DOMXPath($dom); - $drupal_media = $xpath->query('//drupal-media')[0]; - $expected_attributes = [ - 'data-entity-type' => 'media', - 'data-entity-uuid' => $this->media->uuid(), - 'data-align' => 'center', - ]; - foreach ($expected_attributes as $name => $expected) { - $this->assertSame($expected, $drupal_media->getAttribute($name)); - } - $this->pressEditorButton('source'); - // Why do we keep switching to the 'ckeditor' iframe? Because the buttons - // are in a separate iframe from the markup, so after calling - // ::pressEditorButton() (which switches to the button iframe), we'll need - // to switch back to the CKEditor iframe. - $this->assignNameToCkeditorIframe(); - $this->getSession()->switchToIFrame('ckeditor'); - $this->assertNotEmpty($assert_session->waitForElementVisible('css', '.cke_widget_drupalmedia drupal-media .media')); - $this->assertEditorButtonEnabled('undo'); - $this->pressEditorButton('undo'); - $this->getSession()->switchToIFrame('ckeditor'); - $this->assertEmpty($assert_session->waitForElementVisible('css', '.cke_widget_drupalmedia drupal-media .media')); - $this->assertEditorButtonDisabled('undo'); - $this->pressEditorButton('redo'); - $this->getSession()->switchToIFrame('ckeditor'); - $this->assertNotEmpty($assert_session->waitForElementVisible('css', '.cke_widget_drupalmedia drupal-media .media')); - $this->assertEditorButtonEnabled('undo'); - } - - /** - * Tests the allowed media types setting on the MediaEmbed filter. - */ - public function testAllowedMediaTypes() { - $test_cases = [ - 'all_media_types' => [], - 'only_image' => ['image' => 'image'], - 'only_arrakis' => ['arrakis' => 'arrakis'], - 'both_items_checked' => [ - 'image' => 'image', - 'arrakis' => 'arrakis', - ], - ]; - - foreach ($test_cases as $allowed_media_types) { - // Update the filter format to set the allowed media types. - FilterFormat::load('test_format') - ->setFilterConfig('media_embed', [ - 'status' => TRUE, - 'settings' => [ - 'default_view_mode' => 'view_mode_1', - 'allowed_media_types' => $allowed_media_types, - 'allowed_view_modes' => [ - 'view_mode_1' => 'view_mode_1', - 'view_mode_2' => 'view_mode_2', - ], - ], - ])->save(); - - // Now test opening the media library from the CKEditor plugin, and - // verify the expected behavior. - $this->drupalGet('/node/add/blog'); - $this->waitForEditor(); - $this->pressEditorButton('drupalmedialibrary'); - $assert_session = $this->assertSession(); - $this->assertNotEmpty($assert_session->waitForId('media-library-wrapper')); - - if (empty($allowed_media_types) || count($allowed_media_types) === 2) { - $assert_session->elementExists('css', 'li.media-library-menu-image'); - $assert_session->elementExists('css', 'li.media-library-menu-arrakis'); - $assert_session->elementTextContains('css', '.media-library-item__name', 'Fear is the mind-killer'); - } - elseif (count($allowed_media_types) === 1 && !empty($allowed_media_types['image'])) { - // No tabs should appear if there's only one media type available. - $assert_session->elementNotExists('css', 'li.media-library-menu-image'); - $assert_session->elementNotExists('css', 'li.media-library-menu-arrakis'); - $assert_session->elementTextContains('css', '.media-library-item__name', 'Fear is the mind-killer'); - } - elseif (count($allowed_media_types) === 1 && !empty($allowed_media_types['arrakis'])) { - // No tabs should appear if there's only one media type available. - $assert_session->elementNotExists('css', 'li.media-library-menu-image'); - $assert_session->elementNotExists('css', 'li.media-library-menu-arrakis'); - $assert_session->elementTextContains('css', '.media-library-item__name', 'Le baron Vladimir Harkonnen'); - } - } - } - -} diff --git a/web/core/modules/media_library/tests/src/FunctionalJavascript/ContentModerationTest.php b/web/core/modules/media_library/tests/src/FunctionalJavascript/ContentModerationTest.php index dd21529b7..e2e65b294 100644 --- a/web/core/modules/media_library/tests/src/FunctionalJavascript/ContentModerationTest.php +++ b/web/core/modules/media_library/tests/src/FunctionalJavascript/ContentModerationTest.php @@ -38,7 +38,7 @@ class ContentModerationTest extends WebDriverTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'stark'; /** * User with the 'administer media' permission. diff --git a/web/core/modules/media_library/tests/src/FunctionalJavascript/EntityReferenceWidgetTest.php b/web/core/modules/media_library/tests/src/FunctionalJavascript/EntityReferenceWidgetTest.php index 09c184464..5f90e70be 100644 --- a/web/core/modules/media_library/tests/src/FunctionalJavascript/EntityReferenceWidgetTest.php +++ b/web/core/modules/media_library/tests/src/FunctionalJavascript/EntityReferenceWidgetTest.php @@ -21,6 +21,13 @@ class EntityReferenceWidgetTest extends MediaLibraryTestBase { */ protected static $modules = ['field_ui']; + /** + * The theme to install as the default for testing. + * + * @var string + */ + protected $defaultTheme = 'starterkit_theme'; + /** * Test media items. * @@ -591,8 +598,7 @@ public function testWidgetPreview() { // Assert that preview is present for current user, who can view media. $this->drupalGet($node->toUrl('edit-form')); - $preview_name = $page->find('css', '[data-drupal-selector="edit-field-unlimited-media-selection-0"] .media-library-item__name'); - $this->assertSame('Horse', $preview_name->getText()); + $assert_session->elementTextContains('css', '[data-drupal-selector="edit-field-unlimited-media-selection-0"]', 'Horse'); $remove_button = $page->find('css', '[data-drupal-selector="edit-field-unlimited-media-selection-0-remove-button"]'); $this->assertSame('Remove Horse', $remove_button->getAttribute('aria-label')); $assert_session->pageTextNotContains('You do not have permission to view media item'); @@ -618,8 +624,7 @@ public function testWidgetPreview() { // Assert that preview does not reveal media name. $this->drupalGet($node->toUrl('edit-form')); // There should be no preview name. - $preview_name = $page->find('css', '[data-drupal-selector="edit-field-unlimited-media-selection-0"] .media-library-item__name'); - $this->assertNull($preview_name); + $assert_session->elementTextNotContains('css', '[data-drupal-selector="edit-field-unlimited-media-selection-0"]', 'Horse'); // The remove button should have a generic message. $remove_button = $page->find('css', '[data-drupal-selector="edit-field-unlimited-media-selection-0-remove-button"]'); $this->assertSame('Remove media', $remove_button->getAttribute('aria-label')); diff --git a/web/core/modules/media_library/tests/src/FunctionalJavascript/FieldUiIntegrationTest.php b/web/core/modules/media_library/tests/src/FunctionalJavascript/FieldUiIntegrationTest.php index 68220b48b..72bd066fd 100644 --- a/web/core/modules/media_library/tests/src/FunctionalJavascript/FieldUiIntegrationTest.php +++ b/web/core/modules/media_library/tests/src/FunctionalJavascript/FieldUiIntegrationTest.php @@ -14,6 +14,11 @@ class FieldUiIntegrationTest extends MediaLibraryTestBase { */ protected static $modules = ['field_ui']; + /** + * {@inheritdoc} + */ + protected $defaultTheme = 'stark'; + /** * {@inheritdoc} */ diff --git a/web/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTestBase.php b/web/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTestBase.php index 8ec4b3b5a..1b63a63c7 100644 --- a/web/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTestBase.php +++ b/web/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTestBase.php @@ -18,7 +18,7 @@ abstract class MediaLibraryTestBase extends WebDriverTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'stark'; /** * Create media items. @@ -333,7 +333,6 @@ protected function assertMediaAdded($index = 0) { $assert_session->elementNotExists('css', '[data-drupal-selector$="preview"]', $fields); $assert_session->buttonNotExists('Remove', $fields); $assert_session->elementNotExists('css', '[data-drupal-selector$="filename"]', $fields); - $assert_session->elementNotExists('css', '.file-size', $fields); } /** diff --git a/web/core/modules/media_library/tests/src/FunctionalJavascript/MediaOverviewTest.php b/web/core/modules/media_library/tests/src/FunctionalJavascript/MediaOverviewTest.php index e3eaab22e..88e6cecb1 100644 --- a/web/core/modules/media_library/tests/src/FunctionalJavascript/MediaOverviewTest.php +++ b/web/core/modules/media_library/tests/src/FunctionalJavascript/MediaOverviewTest.php @@ -14,6 +14,11 @@ class MediaOverviewTest extends MediaLibraryTestBase { */ protected static $modules = ['block']; + /** + * {@inheritdoc} + */ + protected $defaultTheme = 'stark'; + /** * {@inheritdoc} */ @@ -64,7 +69,7 @@ public function testAdministrationPage() { $assert_session->linkExists('Table'); // We should see the table view and a link to add media. - $assert_session->elementExists('css', '.view-media .views-table'); + $assert_session->elementExists('css', '[data-drupal-selector="views-form-media-media-page-list"] table'); $assert_session->linkExists('Add media'); // Go to the grid display for the rest of the test. @@ -78,8 +83,12 @@ public function testAdministrationPage() { $assert_session->pageTextContains('Dog'); $assert_session->pageTextContains('Turtle'); - // Verify that the media name does not contain a link. - $assert_session->elementNotExists('css', '.media-library-item__name a'); + // Verify that the media name does not contain a link. The selector is + // tricky, so start by asserting ".js-media-library-item-preview + div" + // can select a div containing a media name. + $assert_session->elementExists('css', '.js-media-library-item-preview + div:contains("Dog")'); + $assert_session->elementExists('css', '.js-media-library-item-preview + div:contains("Turtle")'); + $assert_session->elementNotExists('css', '.js-media-library-item-preview + div a'); // Verify that there are links to edit and delete media items. $assert_session->linkExists('Edit Dog'); $assert_session->linkExists('Delete Turtle'); diff --git a/web/core/modules/media_library/tests/src/FunctionalJavascript/TranslationsTest.php b/web/core/modules/media_library/tests/src/FunctionalJavascript/TranslationsTest.php index 0aa581b42..4b14a2345 100644 --- a/web/core/modules/media_library/tests/src/FunctionalJavascript/TranslationsTest.php +++ b/web/core/modules/media_library/tests/src/FunctionalJavascript/TranslationsTest.php @@ -37,7 +37,7 @@ class TranslationsTest extends WebDriverTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'stark'; /** * {@inheritdoc} @@ -127,7 +127,7 @@ public function testMediaLibraryTranslations() { // regardless of the interface language. $this->drupalGet('nl/admin/content/media-grid'); $assert_session->elementsCount('css', '.js-media-library-item', 6); - $media_items = $page->findAll('css', '.media-library-item__name'); + $media_items = $page->findAll('css', '.js-media-library-item-preview + div'); $media_names = []; foreach ($media_items as $media_item) { $media_names[] = $media_item->getText(); @@ -138,7 +138,7 @@ public function testMediaLibraryTranslations() { $this->drupalGet('es/admin/content/media-grid'); $assert_session->elementsCount('css', '.js-media-library-item', 6); - $media_items = $page->findAll('css', '.media-library-item__name'); + $media_items = $page->findAll('css', '.js-media-library-item-preview + div'); $media_names = []; foreach ($media_items as $media_item) { $media_names[] = $media_item->getText(); @@ -153,7 +153,7 @@ public function testMediaLibraryTranslations() { $assert_session->elementExists('css', '.js-media-library-open-button[name^="field_media"]')->click(); $assert_session->waitForText('Add or select media'); $assert_session->elementsCount('css', '.js-media-library-item', 4); - $media_items = $page->findAll('css', '.media-library-item__name'); + $media_items = $page->findAll('css', '.js-media-library-item-preview + div'); $media_names = []; foreach ($media_items as $media_item) { $media_names[] = $media_item->getText(); @@ -166,7 +166,7 @@ public function testMediaLibraryTranslations() { $assert_session->elementExists('css', '.js-media-library-open-button[name^="field_media"]')->click(); $assert_session->waitForText('Add or select media'); $assert_session->elementsCount('css', '.js-media-library-item', 4); - $media_items = $page->findAll('css', '.media-library-item__name'); + $media_items = $page->findAll('css', '.js-media-library-item-preview + div'); $media_names = []; foreach ($media_items as $media_item) { $media_names[] = $media_item->getText(); diff --git a/web/core/modules/media_library/tests/src/FunctionalJavascript/ViewsUiIntegrationTest.php b/web/core/modules/media_library/tests/src/FunctionalJavascript/ViewsUiIntegrationTest.php index 0e2eab677..f66795fb9 100644 --- a/web/core/modules/media_library/tests/src/FunctionalJavascript/ViewsUiIntegrationTest.php +++ b/web/core/modules/media_library/tests/src/FunctionalJavascript/ViewsUiIntegrationTest.php @@ -14,6 +14,11 @@ class ViewsUiIntegrationTest extends MediaLibraryTestBase { */ protected static $modules = ['views_ui']; + /** + * {@inheritdoc} + */ + protected $defaultTheme = 'stark'; + /** * {@inheritdoc} */ @@ -51,8 +56,8 @@ public function testViewsAdmin() { $this->waitForElementsCount('css', '.js-media-library-item', 8); // Assert that filtering works in live preview. - $page->find('css', '.js-media-library-view .view-filters')->fillField('name', 'snake'); - $page->find('css', '.js-media-library-view .view-filters')->pressButton('Apply filters'); + $page->find('css', '.js-media-library-view')->fillField('name', 'snake'); + $page->find('css', '.js-media-library-view')->pressButton('Apply filters'); $this->waitForElementsCount('css', '.js-media-library-item', 1); // Test the same routine but in the view for the table widget. @@ -60,8 +65,8 @@ public function testViewsAdmin() { $this->waitForElementsCount('css', '.js-media-library-item', 8); // Assert that filtering works in live preview. - $page->find('css', '.js-media-library-view .view-filters')->fillField('name', 'snake'); - $page->find('css', '.js-media-library-view .view-filters')->pressButton('Apply filters'); + $page->find('css', '.js-media-library-view')->fillField('name', 'snake'); + $page->find('css', '.js-media-library-view')->pressButton('Apply filters'); $this->waitForElementsCount('css', '.js-media-library-item', 1); // We cannot test clicking the 'Insert selected' button in either view diff --git a/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetAccessTest.php b/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetAccessTest.php index 0abb57271..0761bab5c 100644 --- a/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetAccessTest.php +++ b/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetAccessTest.php @@ -2,6 +2,7 @@ namespace Drupal\Tests\media_library\FunctionalJavascript; +use Drupal\field\Entity\FieldConfig; use Drupal\media\Entity\Media; use Drupal\media_library\MediaLibraryState; use Drupal\user\Entity\Role; @@ -14,6 +15,11 @@ */ class WidgetAccessTest extends MediaLibraryTestBase { + /** + * {@inheritdoc} + */ + protected $defaultTheme = 'stark'; + /** * Tests that the widget access works as expected. */ @@ -80,11 +86,11 @@ public function testWidgetAccess() { 'view media', ]); $this->drupalGet('admin/content/media-widget', $url_options); - $assert_session->elementExists('css', '.view-media-library'); + $assert_session->elementExists('css', '.js-media-library-view'); $this->drupalGet('admin/content/media-widget-table', $url_options); - $assert_session->elementExists('css', '.view-media-library'); + $assert_session->elementExists('css', '.js-media-library-view'); $this->drupalGet('media-library', $url_options); - $assert_session->elementExists('css', '.view-media-library'); + $assert_session->elementExists('css', '.js-media-library-view'); // Assert the user does not have access to the media add form if the user // does not have the 'create media' permission. $assert_session->fieldNotExists('files[upload][]'); @@ -104,7 +110,7 @@ public function testWidgetAccess() { 'create media', ]); $this->drupalGet('media-library', $url_options); - $assert_session->elementExists('css', '.view-media-library'); + $assert_session->elementExists('css', '.js-media-library-view'); $assert_session->fieldExists('Add files'); // Assert the media library can not be accessed if the required state @@ -131,4 +137,37 @@ public function testWidgetAccess() { $assert_session->responseContains('Access denied'); } + /** + * Tests the widget with a required field that the user can't access. + */ + public function testRequiredFieldNoAccess() { + // Make field_single_media_type required. + $fieldConfig = FieldConfig::loadByName('node', 'basic_page', 'field_single_media_type'); + assert($fieldConfig instanceof FieldConfig); + $fieldConfig->setRequired(TRUE) + ->save(); + + // Deny access to the field. + \Drupal::state()->set('media_library_test_entity_field_access_deny_fields', ['field_single_media_type']); + + $user = $this->drupalCreateUser([ + 'access administration pages', + 'access content', + 'create basic_page content', + 'create type_one media', + 'view media', + ]); + $this->drupalLogin($user); + $this->drupalGet('node/add/basic_page'); + + $this->assertSession()->elementNotExists('css', '.field--name-field-single-media-type'); + + $this->submitForm([ + 'title[0][value]' => $this->randomMachineName(), + ], 'Save'); + + $this->assertSession()->elementNotExists('css', '.messages--error'); + $this->assertSession()->pageTextNotContains('Single media type field is required.'); + } + } diff --git a/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetAnonymousTest.php b/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetAnonymousTest.php index 1a6ab1925..73442e0e2 100644 --- a/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetAnonymousTest.php +++ b/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetAnonymousTest.php @@ -12,6 +12,11 @@ */ class WidgetAnonymousTest extends MediaLibraryTestBase { + /** + * {@inheritdoc} + */ + protected $defaultTheme = 'stark'; + /** * {@inheritdoc} */ diff --git a/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetOEmbedTest.php b/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetOEmbedTest.php index 945b63f9e..5a7936319 100644 --- a/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetOEmbedTest.php +++ b/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetOEmbedTest.php @@ -20,6 +20,11 @@ class WidgetOEmbedTest extends MediaLibraryTestBase { */ protected static $modules = ['media_test_oembed']; + /** + * {@inheritdoc} + */ + protected $defaultTheme = 'stark'; + /** * {@inheritdoc} */ @@ -77,6 +82,10 @@ public function testWidgetOEmbed() { // consistently match their label's "for" attribute. $assert_session->assertWaitOnAjaxRequest(); $this->waitForText('The media item has been created but has not yet been saved.'); + // There is no other selected media and this is not the advanced ui. + // Assert that the Additional selected media element does not appear. + $assert_session->pageTextNotContains('Additional selected media'); + $assert_session->elementNotExists('css', '[data-drupal-selector="edit-selection"]'); // Assert the name field contains the remote video title. $assert_session->fieldValueEquals('Name', $youtube_title); $this->pressSaveButton(); @@ -137,7 +146,9 @@ public function testWidgetOEmbed() { $assert_session->assertWaitOnAjaxRequest(); $this->waitForText('The media item has been created but has not yet been saved.'); $page->fillField('Name', 'Custom video title'); - $assert_session->elementNotExists('css', '.media-library-add-form__selected-media'); + // The non-advanced ui should not show the Additional selected media. + $assert_session->pageTextNotContains('Additional selected media'); + $assert_session->elementNotExists('css', '[data-drupal-selector="edit-selection"]'); $this->pressSaveButton(); // Load the created media item. @@ -258,6 +269,9 @@ public function testWidgetOEmbedAdvancedUi() { // consistently match their label's "for" attribute. $assert_session->assertWaitOnAjaxRequest(); $this->waitForText('The media item has been created but has not yet been saved.'); + // Assert that Additional selected media does not appear. + $assert_session->pageTextNotContains('Additional selected media'); + $assert_session->elementNotExists('css', '[data-drupal-selector="edit-selection"]'); // Assert the name field contains the remote video title. $assert_session->fieldValueEquals('Name', $youtube_title); $this->saveAnd('select'); @@ -317,6 +331,9 @@ public function testWidgetOEmbedAdvancedUi() { // consistently match their label's "for" attribute. $assert_session->assertWaitOnAjaxRequest(); $this->waitForText('The media item has been created but has not yet been saved.'); + // The advanced ui should show the Additional selected media. + $assert_session->pageTextContains('Additional selected media'); + $assert_session->elementExists('css', '[data-drupal-selector="edit-selection"]'); $page->fillField('Name', 'Custom video title'); $assert_session->checkboxChecked("Select $youtube_title", $this->getSelectionArea()); $this->saveAnd('select'); diff --git a/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetUploadTest.php b/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetUploadTest.php index 74c51bc1e..6bd9829ec 100644 --- a/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetUploadTest.php +++ b/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetUploadTest.php @@ -17,6 +17,11 @@ class WidgetUploadTest extends MediaLibraryTestBase { use TestFileCreationTrait; + /** + * {@inheritdoc} + */ + protected $defaultTheme = 'stark'; + /** * Tests that uploads in the Media library's widget works as expected. */ diff --git a/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetViewsTest.php b/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetViewsTest.php index 838e0d332..82bde406b 100644 --- a/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetViewsTest.php +++ b/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetViewsTest.php @@ -9,6 +9,11 @@ */ class WidgetViewsTest extends MediaLibraryTestBase { + /** + * {@inheritdoc} + */ + protected $defaultTheme = 'stark'; + /** * {@inheritdoc} */ @@ -79,13 +84,18 @@ public function testWidgetViews() { $assert_session->buttonNotExists('Apply filters', $button_pane); // Assert the pager works as expected. - $assert_session->elementTextContains('css', '.js-media-library-view .pager__item.is-active', 'Page 1'); + // An active pager item is not linked and contains "Page #" as text. + $assert_session->elementTextContains('css', '.js-media-library-view .js-pager__items > li:nth-of-type(1)', 'Page 1'); + $assert_session->elementNotExists('css', '.js-media-library-view .js-pager__items > li:nth-of-type(1) a'); + $assert_session->elementExists('css', '.js-media-library-view .js-pager__items > li:nth-of-type(2) a'); $this->assertCount(24, $this->getCheckboxes()); $page->clickLink('Next page'); - $this->waitForElementTextContains('.js-media-library-view .pager__item.is-active', 'Page 2'); + $this->waitForElementTextContains('.js-media-library-view .js-pager__items > li:nth-of-type(2)', 'Page 2'); + $assert_session->elementExists('css', '.js-media-library-view .js-pager__items > li:nth-of-type(1) a'); + $assert_session->elementNotExists('css', '.js-media-library-view .js-pager__items > li:nth-of-type(2) a'); $this->assertCount(1, $this->getCheckboxes()); $page->clickLink('Previous page'); - $this->waitForElementTextContains('.js-media-library-view .pager__item.is-active', 'Page 1'); + $this->waitForElementTextContains('.js-media-library-view .js-pager__items > li:nth-of-type(1)', 'Page 1'); $this->assertCount(24, $this->getCheckboxes()); $this->switchToMediaLibraryTable(); diff --git a/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetWithoutTypesTest.php b/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetWithoutTypesTest.php index c43f22c7c..dc301d5f4 100644 --- a/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetWithoutTypesTest.php +++ b/web/core/modules/media_library/tests/src/FunctionalJavascript/WidgetWithoutTypesTest.php @@ -17,6 +17,11 @@ class WidgetWithoutTypesTest extends MediaLibraryTestBase { */ protected static $modules = ['field_ui']; + /** + * {@inheritdoc} + */ + protected $defaultTheme = 'stark'; + /** * Tests that the widget works as expected when media types are deleted. */ @@ -95,8 +100,8 @@ public function testWidgetWithoutMediaTypes() { $field_empty_types_message = 'There are no allowed media types configured for this field.
                                                  Edit the field settings to select the allowed media types.'; $field_null_types_url = new Url('entity.field_config.node_field_edit_form', [ - 'field_config' => 'node.basic_page.field_null_types_media', - ] + $route_bundle_params); + 'field_config' => 'node.basic_page.field_null_types_media', + ] + $route_bundle_params); $field_null_types_message = 'There are no allowed media types configured for this field. Edit the field settings to select the allowed media types.'; // Visit a node create page. diff --git a/web/core/modules/menu_link_content/src/Plugin/migrate/source/MenuLink.php b/web/core/modules/menu_link_content/src/Plugin/migrate/source/MenuLink.php index f4309c131..0f4676b62 100644 --- a/web/core/modules/menu_link_content/src/Plugin/migrate/source/MenuLink.php +++ b/web/core/modules/menu_link_content/src/Plugin/migrate/source/MenuLink.php @@ -50,7 +50,11 @@ class MenuLink extends DrupalSqlBase { */ public function query() { $query = $this->select('menu_links', 'ml') - ->fields('ml'); + ->fields('ml') + // Shortcut set links are migrated by the d7_shortcut migration. + // Shortcuts are not used in Drupal 6. + // @see Drupal\shortcut\Plugin\migrate\source\d7\Shortcut::query() + ->condition('ml.menu_name', 'shortcut-set-%', 'NOT LIKE'); $and = $query->andConditionGroup() ->condition('ml.module', 'menu') ->condition('ml.router_path', ['admin/build/menu-customize/%', 'admin/structure/menu/manage/%'], 'NOT IN'); @@ -73,31 +77,31 @@ public function query() { */ public function fields() { $fields = [ - 'menu_name' => t("The menu name. All links with the same menu name (such as 'navigation') are part of the same menu."), - 'mlid' => t('The menu link ID (mlid) is the integer primary key.'), - 'plid' => t('The parent link ID (plid) is the mlid of the link above in the hierarchy, or zero if the link is at the top level in its menu.'), - 'link_path' => t('The Drupal path or external path this link points to.'), - 'router_path' => t('For links corresponding to a Drupal path (external = 0), this connects the link to a {menu_router}.path for joins.'), - 'link_title' => t('The text displayed for the link, which may be modified by a title callback stored in {menu_router}.'), - 'options' => t('A serialized array of options to set on the URL, such as a query string or HTML attributes.'), - 'module' => t('The name of the module that generated this link.'), - 'hidden' => t('A flag for whether the link should be rendered in menus. (1 = a disabled menu link that may be shown on admin screens, -1 = a menu callback, 0 = a normal, visible link)'), - 'external' => t('A flag to indicate if the link points to a full URL starting with a protocol, like http:// (1 = external, 0 = internal).'), - 'has_children' => t('Flag indicating whether any links have this link as a parent (1 = children exist, 0 = no children).'), - 'expanded' => t('Flag for whether this link should be rendered as expanded in menus - expanded links always have their child links displayed, instead of only when the link is in the active trail (1 = expanded, 0 = not expanded)'), - 'weight' => t('Link weight among links in the same menu at the same depth.'), - 'depth' => t('The depth relative to the top level. A link with plid == 0 will have depth == 1.'), - 'customized' => t('A flag to indicate that the user has manually created or edited the link (1 = customized, 0 = not customized).'), - 'p1' => t('The first mlid in the materialized path. If N = depth, then pN must equal the mlid. If depth > 1 then p(N-1) must equal the plid. All pX where X > depth must equal zero. The columns p1 .. p9 are also called the parents.'), - 'p2' => t('The second mlid in the materialized path. See p1.'), - 'p3' => t('The third mlid in the materialized path. See p1.'), - 'p4' => t('The fourth mlid in the materialized path. See p1.'), - 'p5' => t('The fifth mlid in the materialized path. See p1.'), - 'p6' => t('The sixth mlid in the materialized path. See p1.'), - 'p7' => t('The seventh mlid in the materialized path. See p1.'), - 'p8' => t('The eighth mlid in the materialized path. See p1.'), - 'p9' => t('The ninth mlid in the materialized path. See p1.'), - 'updated' => t('Flag that indicates that this link was generated during the update from Drupal 5.'), + 'menu_name' => $this->t("The menu name. All links with the same menu name (such as 'navigation') are part of the same menu."), + 'mlid' => $this->t('The menu link ID (mlid) is the integer primary key.'), + 'plid' => $this->t('The parent link ID (plid) is the mlid of the link above in the hierarchy, or zero if the link is at the top level in its menu.'), + 'link_path' => $this->t('The Drupal path or external path this link points to.'), + 'router_path' => $this->t('For links corresponding to a Drupal path (external = 0), this connects the link to a {menu_router}.path for joins.'), + 'link_title' => $this->t('The text displayed for the link, which may be modified by a title callback stored in {menu_router}.'), + 'options' => $this->t('A serialized array of options to set on the URL, such as a query string or HTML attributes.'), + 'module' => $this->t('The name of the module that generated this link.'), + 'hidden' => $this->t('A flag for whether the link should be rendered in menus. (1 = a disabled menu link that may be shown on admin screens, -1 = a menu callback, 0 = a normal, visible link)'), + 'external' => $this->t('A flag to indicate if the link points to a full URL starting with a protocol, like http:// (1 = external, 0 = internal).'), + 'has_children' => $this->t('Flag indicating whether any links have this link as a parent (1 = children exist, 0 = no children).'), + 'expanded' => $this->t('Flag for whether this link should be rendered as expanded in menus - expanded links always have their child links displayed, instead of only when the link is in the active trail (1 = expanded, 0 = not expanded)'), + 'weight' => $this->t('Link weight among links in the same menu at the same depth.'), + 'depth' => $this->t('The depth relative to the top level. A link with plid == 0 will have depth == 1.'), + 'customized' => $this->t('A flag to indicate that the user has manually created or edited the link (1 = customized, 0 = not customized).'), + 'p1' => $this->t('The first mlid in the materialized path. If N = depth, then pN must equal the mlid. If depth > 1 then p(N-1) must equal the plid. All pX where X > depth must equal zero. The columns p1 .. p9 are also called the parents.'), + 'p2' => $this->t('The second mlid in the materialized path. See p1.'), + 'p3' => $this->t('The third mlid in the materialized path. See p1.'), + 'p4' => $this->t('The fourth mlid in the materialized path. See p1.'), + 'p5' => $this->t('The fifth mlid in the materialized path. See p1.'), + 'p6' => $this->t('The sixth mlid in the materialized path. See p1.'), + 'p7' => $this->t('The seventh mlid in the materialized path. See p1.'), + 'p8' => $this->t('The eighth mlid in the materialized path. See p1.'), + 'p9' => $this->t('The ninth mlid in the materialized path. See p1.'), + 'updated' => $this->t('Flag that indicates that this link was generated during the update from Drupal 5.'), ]; $schema = $this->getDatabase()->schema(); if ($schema->fieldExists('menu_links', 'language')) { diff --git a/web/core/modules/menu_link_content/tests/src/Functional/MenuLinkContentTranslationUITest.php b/web/core/modules/menu_link_content/tests/src/Functional/MenuLinkContentTranslationUITest.php index 8dc2b7865..e8ab747f6 100644 --- a/web/core/modules/menu_link_content/tests/src/Functional/MenuLinkContentTranslationUITest.php +++ b/web/core/modules/menu_link_content/tests/src/Functional/MenuLinkContentTranslationUITest.php @@ -92,18 +92,18 @@ public function testTranslationLinkTheme() { $this->drupalLogin($this->administrator); $entityId = $this->createEntity([], 'en'); - // Set up Seven as the admin theme to test. - $this->container->get('theme_installer')->install(['seven']); + // Set up the default admin theme to test. + $this->container->get('theme_installer')->install(['claro']); $edit = []; - $edit['admin_theme'] = 'seven'; + $edit['admin_theme'] = 'claro'; $this->drupalGet('admin/appearance'); $this->submitForm($edit, 'Save configuration'); // Check that edit uses the admin theme. $this->drupalGet('admin/structure/menu/item/' . $entityId . '/edit'); - $this->assertSession()->responseContains('core/themes/seven/css/base/elements.css'); + $this->assertSession()->responseContains('core/themes/claro/css/base/elements.css'); // Check that translation uses admin theme as well. $this->drupalGet('admin/structure/menu/item/' . $entityId . '/edit/translations'); - $this->assertSession()->responseContains('core/themes/seven/css/base/elements.css'); + $this->assertSession()->responseContains('core/themes/claro/css/base/elements.css'); } /** diff --git a/web/core/modules/menu_link_content/tests/src/Kernel/MenuLinkContentCacheabilityBubblingTest.php b/web/core/modules/menu_link_content/tests/src/Kernel/MenuLinkContentCacheabilityBubblingTest.php index 27b49b27e..bc1288972 100644 --- a/web/core/modules/menu_link_content/tests/src/Kernel/MenuLinkContentCacheabilityBubblingTest.php +++ b/web/core/modules/menu_link_content/tests/src/Kernel/MenuLinkContentCacheabilityBubblingTest.php @@ -15,8 +15,9 @@ use Symfony\Component\Routing\Route; /** - * Ensures that rendered menu links bubble the necessary bubbleable metadata - * for outbound path/route processing. + * Ensures that rendered menu links bubble the necessary bubbleable metadata. + * + * This for outbound path/route processing. * * @group menu_link_content */ diff --git a/web/core/modules/menu_link_content/tests/src/Kernel/Migrate/d7/MigrateMenuLinkTest.php b/web/core/modules/menu_link_content/tests/src/Kernel/Migrate/d7/MigrateMenuLinkTest.php index cd271f89d..dbe7d0f13 100644 --- a/web/core/modules/menu_link_content/tests/src/Kernel/Migrate/d7/MigrateMenuLinkTest.php +++ b/web/core/modules/menu_link_content/tests/src/Kernel/Migrate/d7/MigrateMenuLinkTest.php @@ -112,6 +112,11 @@ public function testMenuLinks() { $this->assertEntity(485, 'en', 'is - The thing about Deep Space 9', 'tools', NULL, TRUE, FALSE, ['attributes' => ['title' => '']], 'entity:node/2', 10); $this->assertEntity(486, 'und', 'is - The thing about Firefly', 'tools', NULL, TRUE, FALSE, ['attributes' => ['title' => '']], 'entity:node/4', 11); $this->assertEntity(487, 'en', 'en - The thing about Firefly', 'tools', NULL, TRUE, FALSE, ['attributes' => ['title' => '']], 'entity:node/4', 12); + + // Test there have been no attempts to stub a shortcut in a MigrationLookup + // process. + $messages = $this->getMigration('d7_menu')->getIdMap()->getMessages()->fetchAll(); + $this->assertCount(0, $messages); } } diff --git a/web/core/modules/menu_link_content/tests/src/Kernel/Plugin/migrate/source/MenuLinkTest.php b/web/core/modules/menu_link_content/tests/src/Kernel/Plugin/migrate/source/MenuLinkTest.php index b8d80c153..2f6d19a3e 100644 --- a/web/core/modules/menu_link_content/tests/src/Kernel/Plugin/migrate/source/MenuLinkTest.php +++ b/web/core/modules/menu_link_content/tests/src/Kernel/Plugin/migrate/source/MenuLinkTest.php @@ -241,6 +241,37 @@ public function providerSource() { 'i18n_tsid' => '1', 'skip_translation' => FALSE, ], + [ + // D7 shortcut set link. + 'menu_name' => 'shortcut-set-1', + 'mlid' => 301, + 'plid' => 0, + 'link_path' => 'node/add', + 'router_path' => 'node/add', + 'link_title' => 'Add Content', + 'options' => [], + 'module' => 'menu', + 'hidden' => 0, + 'external' => 0, + 'has_children' => 0, + 'expanded' => 0, + 'weight' => 0, + 'depth' => 1, + 'customized' => 0, + 'p1' => '301', + 'p2' => '0', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', + 'skip_translation' => TRUE, + ], ]; // Add long link title attributes to source data. diff --git a/web/core/modules/menu_link_content/tests/src/Unit/MenuLinkContentEntityAccessTest.php b/web/core/modules/menu_link_content/tests/src/Unit/MenuLinkContentEntityAccessTest.php index ea39e96b8..6751fcf29 100644 --- a/web/core/modules/menu_link_content/tests/src/Unit/MenuLinkContentEntityAccessTest.php +++ b/web/core/modules/menu_link_content/tests/src/Unit/MenuLinkContentEntityAccessTest.php @@ -36,7 +36,7 @@ public function testUnrecognizedOperation() { $language = $this->createMock(LanguageInterface::class); $language->expects($this->any()) ->method('getId') - ->will($this->returnValue('de')); + ->willReturn('de'); $entity = $this->createMock(ContentEntityInterface::class); $entity->expects($this->any()) diff --git a/web/core/modules/menu_ui/config/schema/menu_ui.schema.yml b/web/core/modules/menu_ui/config/schema/menu_ui.schema.yml index 69af435fa..468802390 100644 --- a/web/core/modules/menu_ui/config/schema/menu_ui.schema.yml +++ b/web/core/modules/menu_ui/config/schema/menu_ui.schema.yml @@ -16,8 +16,8 @@ node.type.*.third_party.menu_ui: type: sequence label: 'Available menus' sequence: - type: string - label: 'Menu machine name' + type: string + label: 'Menu machine name' parent: type: string label: 'Parent' diff --git a/web/core/modules/menu_ui/menu_ui.admin.js b/web/core/modules/menu_ui/menu_ui.admin.js index cbaea3207..fd965fe38 100644 --- a/web/core/modules/menu_ui/menu_ui.admin.js +++ b/web/core/modules/menu_ui/menu_ui.admin.js @@ -4,12 +4,10 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal) { Drupal.behaviors.menuUiChangeParentItems = { attach: function attach(context, settings) { var menu = once('menu-parent', '#edit-menu'); - if (menu.length) { var $menu = $(menu); Drupal.menuUiUpdateParentList(); @@ -17,7 +15,6 @@ } } }; - Drupal.menuUiUpdateParentList = function () { var $menu = $('#edit-menu'); var values = []; diff --git a/web/core/modules/menu_ui/menu_ui.js b/web/core/modules/menu_ui/menu_ui.js index caf4bd108..be1b64cf8 100644 --- a/web/core/modules/menu_ui/menu_ui.js +++ b/web/core/modules/menu_ui/menu_ui.js @@ -4,17 +4,14 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal) { Drupal.behaviors.menuUiDetailsSummaries = { attach: function attach(context) { $(context).find('.menu-link-form').drupalSetSummary(function (context) { var $context = $(context); - if ($context.find('.js-form-item-menu-enabled input').is(':checked')) { return Drupal.checkPlain($context.find('.js-form-item-menu-title input')[0].value); } - return Drupal.t('Not in menu'); }); } @@ -27,15 +24,12 @@ var $checkbox = $this.find('.js-form-item-menu-enabled input'); var $linkTitle = $context.find('.js-form-item-menu-title input'); var $title = $this.closest('form').find('.js-form-item-title-0-value input'); - if (!($checkbox.length && $linkTitle.length && $title.length)) { return; } - if ($checkbox.is(':checked') && $linkTitle[0].value.length) { $linkTitle.data('menuLinkAutomaticTitleOverridden', true); } - $linkTitle.on('keyup', function () { $linkTitle.data('menuLinkAutomaticTitleOverridden', true); }); @@ -48,7 +42,6 @@ $linkTitle[0].value = ''; $linkTitle.removeData('menuLinkAutomaticTitleOverridden'); } - $checkbox.closest('.vertical-tabs-pane').trigger('summaryUpdated'); $checkbox.trigger('formUpdated'); }); diff --git a/web/core/modules/menu_ui/tests/src/Functional/MenuUiLanguageTest.php b/web/core/modules/menu_ui/tests/src/Functional/MenuUiLanguageTest.php index 0694b1d7f..85aa57bf1 100644 --- a/web/core/modules/menu_ui/tests/src/Functional/MenuUiLanguageTest.php +++ b/web/core/modules/menu_ui/tests/src/Functional/MenuUiLanguageTest.php @@ -35,6 +35,9 @@ class MenuUiLanguageTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/menu_ui/tests/src/Functional/MenuUiNodeTest.php b/web/core/modules/menu_ui/tests/src/Functional/MenuUiNodeTest.php index 01efbcf01..35aada1ec 100644 --- a/web/core/modules/menu_ui/tests/src/Functional/MenuUiNodeTest.php +++ b/web/core/modules/menu_ui/tests/src/Functional/MenuUiNodeTest.php @@ -41,6 +41,9 @@ class MenuUiNodeTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/menu_ui/tests/src/Functional/MenuUiTest.php b/web/core/modules/menu_ui/tests/src/Functional/MenuUiTest.php index 497f7f9a8..5689f00c4 100644 --- a/web/core/modules/menu_ui/tests/src/Functional/MenuUiTest.php +++ b/web/core/modules/menu_ui/tests/src/Functional/MenuUiTest.php @@ -15,8 +15,10 @@ use Drupal\Tests\menu_ui\Traits\MenuUiTrait; /** - * Add a custom menu, add menu links to the custom menu and Tools menu, check - * their data, and delete them using the UI. + * Tests the menu UI. + * + * This test adds a custom menu, adds menu links to the custom menu and the + * Tools menu, checks their data, and deletes them using the UI. * * @group menu_ui */ @@ -80,6 +82,9 @@ class MenuUiTest extends BrowserTestBase { */ protected $items; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/migrate/src/Event/MigrateIdMapMessageEvent.php b/web/core/modules/migrate/src/Event/MigrateIdMapMessageEvent.php index a17986c8e..5aa830acf 100644 --- a/web/core/modules/migrate/src/Event/MigrateIdMapMessageEvent.php +++ b/web/core/modules/migrate/src/Event/MigrateIdMapMessageEvent.php @@ -88,8 +88,11 @@ public function getMessage() { } /** - * Gets the severity level of the message (one of the - * MigrationInterface::MESSAGE_* constants). + * Gets the severity level of the message. + * + * Message levels are declared in MigrationInterface and start with MESSAGE_. + * + * @see \Drupal\migrate\Plugin\MigrationInterface * * @return int * The message level. diff --git a/web/core/modules/migrate/src/Plugin/Migration.php b/web/core/modules/migrate/src/Plugin/Migration.php index 01ae6aea5..9b1137b87 100644 --- a/web/core/modules/migrate/src/Plugin/Migration.php +++ b/web/core/modules/migrate/src/Plugin/Migration.php @@ -95,6 +95,7 @@ * * @link https://www.drupal.org/docs/8/api/migrate-api Migrate API handbook. @endlink */ +#[\AllowDynamicProperties] class Migration extends PluginBase implements MigrationInterface, RequirementsInterface, ContainerFactoryPluginInterface { /** @@ -204,8 +205,7 @@ class Migration extends PluginBase implements MigrationInterface, RequirementsIn protected $destinationIds = []; /** - * Specify value of source_row_status for current map row. Usually set by - * MigrateFieldHandler implementations. + * The source_row_status for the current map row. * * @var int */ @@ -495,7 +495,7 @@ public function getIdMap() { } /** - * {@inheritDoc} + * {@inheritdoc} */ public function getRequirements(): array { return $this->requirements; diff --git a/web/core/modules/migrate/src/Plugin/MigrationInterface.php b/web/core/modules/migrate/src/Plugin/MigrationInterface.php index 61942a21f..2435ad5d3 100644 --- a/web/core/modules/migrate/src/Plugin/MigrationInterface.php +++ b/web/core/modules/migrate/src/Plugin/MigrationInterface.php @@ -195,8 +195,7 @@ public function getInterruptionResult(); public function clearInterruptionResult(); /** - * Signal that the migration should be interrupted with the specified result - * code. + * Sets the migration status as interrupted with a given result code. * * @param int $result * One of the MigrationInterface::RESULT_* constants. @@ -204,8 +203,7 @@ public function clearInterruptionResult(); public function interruptMigration($result); /** - * Get the normalized process pipeline configuration describing the process - * plugins. + * Gets the normalized process plugin configuration. * * The process configuration is always normalized. All shorthand processing * will be expanded into their full representations. diff --git a/web/core/modules/migrate/src/Plugin/migrate/destination/Entity.php b/web/core/modules/migrate/src/Plugin/migrate/destination/Entity.php index 0e9668b54..1548f3e08 100644 --- a/web/core/modules/migrate/src/Plugin/migrate/destination/Entity.php +++ b/web/core/modules/migrate/src/Plugin/migrate/destination/Entity.php @@ -70,6 +70,11 @@ abstract class Entity extends DestinationBase implements ContainerFactoryPluginI */ protected $storage; + /** + * The entity field manager. + */ + protected $entityFieldManager; + /** * The list of the bundles of this entity type. * diff --git a/web/core/modules/migrate/src/Plugin/migrate/destination/EntityContentBase.php b/web/core/modules/migrate/src/Plugin/migrate/destination/EntityContentBase.php index bcee94a83..103805fea 100644 --- a/web/core/modules/migrate/src/Plugin/migrate/destination/EntityContentBase.php +++ b/web/core/modules/migrate/src/Plugin/migrate/destination/EntityContentBase.php @@ -93,13 +93,6 @@ */ class EntityContentBase extends Entity implements HighestIdInterface, MigrateValidatableEntityInterface { - /** - * Entity field manager. - * - * @var \Drupal\Core\Entity\EntityFieldManagerInterface - */ - protected $entityFieldManager; - /** * Field type plugin manager. * @@ -349,9 +342,10 @@ protected function processStubRow(Row $row) { $row->setDestinationProperty($bundle_key, reset($this->bundles)); } + $bundle = $row->getDestinationProperty($bundle_key) ?? $this->storage->getEntityTypeId(); // Populate any required fields not already populated. $fields = $this->entityFieldManager - ->getFieldDefinitions($this->storage->getEntityTypeId(), $row->getDestinationProperty($bundle_key)); + ->getFieldDefinitions($this->storage->getEntityTypeId(), $bundle); foreach ($fields as $field_name => $field_definition) { if ($field_definition->isRequired() && is_null($row->getDestinationProperty($field_name))) { // Use the configured default value for this specific field, if any. diff --git a/web/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php b/web/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php index d0f31ffa0..e1225ae9a 100644 --- a/web/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php +++ b/web/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php @@ -14,6 +14,7 @@ use Drupal\migrate\MigrateException; use Drupal\migrate\MigrateMessageInterface; use Drupal\migrate\Plugin\MigrateIdMapInterface; +use Drupal\migrate\Plugin\MigrationPluginManagerInterface; use Drupal\migrate\Row; use Drupal\migrate\Event\MigrateEvents; use Drupal\migrate\Event\MigrateMapSaveEvent; @@ -143,6 +144,13 @@ class Sql extends PluginBase implements MigrateIdMapInterface, ContainerFactoryP */ protected $currentKey = []; + /** + * The migration plugin manager. + * + * @var \Drupal\migrate\Plugin\MigrationPluginManagerInterface + */ + protected $migrationPluginManager; + /** * Constructs an SQL object. * @@ -158,8 +166,10 @@ class Sql extends PluginBase implements MigrateIdMapInterface, ContainerFactoryP * The migration to do. * @param \Symfony\Contracts\EventDispatcher\EventDispatcherInterface $event_dispatcher * The event dispatcher. + * @param \Drupal\migrate\Plugin\MigrationPluginManagerInterface $migration_plugin_manager + * The migration plugin manager. */ - public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, EventDispatcherInterface $event_dispatcher) { + public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, EventDispatcherInterface $event_dispatcher, MigrationPluginManagerInterface $migration_plugin_manager = NULL) { parent::__construct($configuration, $plugin_id, $plugin_definition); $this->migration = $migration; $this->eventDispatcher = $event_dispatcher; @@ -176,6 +186,12 @@ public function __construct(array $configuration, $plugin_id, $plugin_definition $this->mapTableName = mb_substr($this->mapTableName, 0, 63 - $prefix_length); $this->messageTableName = 'migrate_message_' . mb_strtolower($machine_name); $this->messageTableName = mb_substr($this->messageTableName, 0, 63 - $prefix_length); + + if (!$migration_plugin_manager) { + @trigger_error('Calling Sql::__construct() without the $migration_manager argument is deprecated in drupal:9.5.0 and the $migration_manager argument will be required in drupal:11.0.0. See https://www.drupal.org/node/3277306', E_USER_DEPRECATED); + $migration_plugin_manager = \Drupal::service('plugin.manager.migration'); + } + $this->migrationPluginManager = $migration_plugin_manager; } /** @@ -187,7 +203,8 @@ public static function create(ContainerInterface $container, array $configuratio $plugin_id, $plugin_definition, $migration, - $container->get('event_dispatcher') + $container->get('event_dispatcher'), + $container->get('plugin.manager.migration') ); } @@ -315,7 +332,7 @@ public function setMessage(MigrateMessageInterface $message) { /** * Create the map and message tables if they don't already exist. * - * @throws \Drupal\Core\Database\DatabaseException + * @throws \Drupal\Core\Database\DatabaseExceptionWrapper */ protected function ensureTables() { if (!$this->getDatabase()->schema()->tableExists($this->mapTableName)) { @@ -678,7 +695,7 @@ public function saveIdMapping(Row $row, array $destination_id_values, $source_ro $fields['destid' . ++$count] = $dest_id; } if ($count && $count != count($this->destinationIdFields())) { - $this->message->display(t('Could not save to map table due to missing destination id values'), 'error'); + $this->message->display($this->t('Could not save to map table due to missing destination id values'), 'error'); return; } if ($this->migration->getTrackLastImported()) { @@ -996,13 +1013,17 @@ public function valid() { /** * Returns the migration plugin manager. * - * @todo Inject as a dependency in https://www.drupal.org/node/2919158. - * * @return \Drupal\migrate\Plugin\MigrationPluginManagerInterface * The migration plugin manager. + * + * @deprecated in drupal:9.5.0 and is removed from drupal:11.0.0. Use + * $this->migrationPluginManager instead. + * + * @see https://www.drupal.org/node/3277306 */ protected function getMigrationPluginManager() { - return \Drupal::service('plugin.manager.migration'); + @trigger_error('deprecated in drupal:9.5.0 and is removed from drupal:11.0.0. Use $this->migrationPluginManager instead. See https://www.drupal.org/node/3277306', E_USER_DEPRECATED); + return $this->migrationPluginManager; } /** @@ -1023,13 +1044,12 @@ public function getHighestId() { // If there's a bundle, it means we have a derived migration and we need to // find all the mapping tables from the related derived migrations. if ($base_id = substr($this->migration->id(), 0, strpos($this->migration->id(), $this::DERIVATIVE_SEPARATOR))) { - $migration_manager = $this->getMigrationPluginManager(); - $migrations = $migration_manager->getDefinitions(); + $migrations = $this->migrationPluginManager->getDefinitions(); foreach ($migrations as $migration_id => $migration) { if ($migration['id'] === $base_id) { // Get this derived migration's mapping table and add it to the list // of mapping tables to look in for the highest ID. - $stub = $migration_manager->createInstance($migration_id); + $stub = $this->migrationPluginManager->createInstance($migration_id); $map_tables[$migration_id] = $stub->getIdMap()->mapTableName(); } } diff --git a/web/core/modules/migrate/src/Plugin/migrate/process/Route.php b/web/core/modules/migrate/src/Plugin/migrate/process/Route.php index 63c102007..155a71ed0 100644 --- a/web/core/modules/migrate/src/Plugin/migrate/process/Route.php +++ b/web/core/modules/migrate/src/Plugin/migrate/process/Route.php @@ -57,6 +57,11 @@ */ class Route extends ProcessPluginBase implements ContainerFactoryPluginInterface { + /** + * The current migration. + */ + protected $migration; + /** * The path validator service. * diff --git a/web/core/modules/migrate/src/Plugin/migrate/source/EmptySource.php b/web/core/modules/migrate/src/Plugin/migrate/source/EmptySource.php index 123eb9c4c..2991aeec7 100644 --- a/web/core/modules/migrate/src/Plugin/migrate/source/EmptySource.php +++ b/web/core/modules/migrate/src/Plugin/migrate/source/EmptySource.php @@ -34,7 +34,7 @@ class EmptySource extends SourcePluginBase { */ public function fields() { return [ - 'id' => t('ID'), + 'id' => $this->t('ID'), ]; } diff --git a/web/core/modules/migrate/src/Plugin/migrate/source/SourcePluginBase.php b/web/core/modules/migrate/src/Plugin/migrate/source/SourcePluginBase.php index a3925d50d..3191c7256 100644 --- a/web/core/modules/migrate/src/Plugin/migrate/source/SourcePluginBase.php +++ b/web/core/modules/migrate/src/Plugin/migrate/source/SourcePluginBase.php @@ -528,8 +528,9 @@ protected function getCache() { } /** - * Gets the source count checking if the source is countable or using the - * iterator_count function. + * Gets the source count. + * + * Checks if the source is countable or using the iterator_count function. * * @return int */ diff --git a/web/core/modules/migrate/src/Plugin/migrate/source/SqlBase.php b/web/core/modules/migrate/src/Plugin/migrate/source/SqlBase.php index 4a1c35ebc..64db362ee 100644 --- a/web/core/modules/migrate/src/Plugin/migrate/source/SqlBase.php +++ b/web/core/modules/migrate/src/Plugin/migrate/source/SqlBase.php @@ -376,6 +376,16 @@ protected function fetchNextBatch() { $this->getIterator()->rewind(); } + /** + * {@inheritdoc} + */ + public function rewind(): void { + $this->batch = 0; + // Database queries have to be run again as they cannot be rewound. + unset($this->iterator); + parent::rewind(); + } + /** * @return \Drupal\Core\Database\Query\SelectInterface */ diff --git a/web/core/modules/migrate/tests/modules/migrate_prepare_row_test/migrate_prepare_row_test.module b/web/core/modules/migrate/tests/modules/migrate_prepare_row_test/migrate_prepare_row_test.module index 6b7bc8c25..6c1484778 100644 --- a/web/core/modules/migrate/tests/modules/migrate_prepare_row_test/migrate_prepare_row_test.module +++ b/web/core/modules/migrate/tests/modules/migrate_prepare_row_test/migrate_prepare_row_test.module @@ -2,8 +2,7 @@ /** * @file - * Test module for testing the migration source plugin prepareRow() exception - * handling. + * Tests the migration source plugin prepareRow() exception handling. */ use Drupal\migrate\Plugin\MigrationInterface; diff --git a/web/core/modules/migrate/tests/modules/migrate_skip_all_rows_test/migrate_skip_all_rows_test.module b/web/core/modules/migrate/tests/modules/migrate_skip_all_rows_test/migrate_skip_all_rows_test.module index cd87d0ee1..a9c91ebbe 100644 --- a/web/core/modules/migrate/tests/modules/migrate_skip_all_rows_test/migrate_skip_all_rows_test.module +++ b/web/core/modules/migrate/tests/modules/migrate_skip_all_rows_test/migrate_skip_all_rows_test.module @@ -2,8 +2,7 @@ /** * @file - * Test module for testing the migration source plugin prepareRow() exception - * handling. + * Tests the migration source plugin prepareRow() exception. */ use Drupal\migrate\Plugin\MigrationInterface; diff --git a/web/core/modules/migrate/tests/modules/migrate_sql_count_cache_test/src/Plugin/migrate/source/SqlCountCache.php b/web/core/modules/migrate/tests/modules/migrate_sql_count_cache_test/src/Plugin/migrate/source/SqlCountCache.php index 48026d10a..5d0193070 100644 --- a/web/core/modules/migrate/tests/modules/migrate_sql_count_cache_test/src/Plugin/migrate/source/SqlCountCache.php +++ b/web/core/modules/migrate/tests/modules/migrate_sql_count_cache_test/src/Plugin/migrate/source/SqlCountCache.php @@ -18,7 +18,7 @@ class SqlCountCache extends SqlBase { */ public function fields() { return [ - 'id' => t('Id'), + 'id' => $this->t('Id'), ]; } diff --git a/web/core/modules/migrate/tests/modules/migrate_track_changes_test/migrations/track_changes_test.yml b/web/core/modules/migrate/tests/modules/migrate_track_changes_test/migrations/track_changes_test.yml index 31d03476f..52917e7b2 100644 --- a/web/core/modules/migrate/tests/modules/migrate_track_changes_test/migrations/track_changes_test.yml +++ b/web/core/modules/migrate/tests/modules/migrate_track_changes_test/migrations/track_changes_test.yml @@ -3,6 +3,7 @@ label: Track changes test. source: plugin: track_changes_test track_changes: true + batch_size: 1 destination: plugin: entity:taxonomy_term migration_tags: diff --git a/web/core/modules/migrate/tests/src/Kernel/MigrateEntityContentBaseTest.php b/web/core/modules/migrate/tests/src/Kernel/MigrateEntityContentBaseTest.php index b5fb3ec25..df326502b 100644 --- a/web/core/modules/migrate/tests/src/Kernel/MigrateEntityContentBaseTest.php +++ b/web/core/modules/migrate/tests/src/Kernel/MigrateEntityContentBaseTest.php @@ -2,6 +2,7 @@ namespace Drupal\Tests\migrate\Kernel; +use Drupal\Core\Entity\EntityFieldManager; use Drupal\entity_test\Entity\EntityTestMul; use Drupal\KernelTests\KernelTestBase; use Drupal\language\Entity\ConfigurableLanguage; @@ -10,6 +11,7 @@ use Drupal\migrate\Plugin\MigrateIdMapInterface; use Drupal\migrate\Plugin\MigrationInterface; use Drupal\migrate\Row; +use Drupal\migrate_drupal\Tests\StubTestTrait; use Drupal\migrate_entity_test\Entity\StringIdEntityTest; /** @@ -19,6 +21,8 @@ */ class MigrateEntityContentBaseTest extends KernelTestBase { + use StubTestTrait; + /** * Modules to enable. * @@ -324,4 +328,48 @@ public function testAccountSwitcherBackwardsCompatibility() { $this->assertInstanceOf(EntityContentBase::class, $destination); } + /** + * Tests bundle is properly provided for stubs without bundle support. + * + * @todo Remove this test in when native PHP type-hints will be added for + * EntityFieldManagerInterface::getFieldDefinitions(). See + * https://www.drupal.org/project/drupal/issues/3050720. + */ + public function testBundleFallbackForStub(): void { + $this->enableModules(['migrate_entity_test']); + $this->installEntitySchema('migrate_string_id_entity_test'); + + $entity_type_manager = $this->container->get('entity_type.manager'); + $entity_type_bundle_info = $this->container->get('entity_type.bundle.info'); + $entity_display_repository = $this + ->container + ->get('entity_display.repository'); + $typed_data_manager = $this->container->get('typed_data_manager'); + $language_manager = $this->container->get('language_manager'); + $keyvalue = $this->container->get('keyvalue'); + $module_handler = $this->container->get('module_handler'); + $cache_discovery = $this->container->get('cache.discovery'); + $entity_last_installed_schema_repository = $this + ->container + ->get('entity.last_installed_schema.repository'); + + $decorated_entity_field_manager = new class ($entity_type_manager, $entity_type_bundle_info, $entity_display_repository, $typed_data_manager, $language_manager, $keyvalue, $module_handler, $cache_discovery, $entity_last_installed_schema_repository) extends EntityFieldManager { + + /** + * {@inheritdoc} + */ + public function getFieldDefinitions($entity_type_id, $bundle) { + if (\is_null($bundle)) { + throw new \Exception("Bundle value shouldn't be NULL."); + } + + return parent::getFieldDefinitions($entity_type_id, $bundle); + } + + }; + + $this->container->set('entity_field.manager', $decorated_entity_field_manager); + $this->createEntityStub('migrate_string_id_entity_test'); + } + } diff --git a/web/core/modules/migrate/tests/src/Kernel/MigrateExecutableTest.php b/web/core/modules/migrate/tests/src/Kernel/MigrateExecutableTest.php index 65e3f1314..90f16acf7 100644 --- a/web/core/modules/migrate/tests/src/Kernel/MigrateExecutableTest.php +++ b/web/core/modules/migrate/tests/src/Kernel/MigrateExecutableTest.php @@ -16,6 +16,9 @@ class MigrateExecutableTest extends MigrateTestBase { 'user', ]; + /** + * {@inheritdoc} + */ public function setUp(): void { parent::setUp(); $this->installEntitySchema('user'); diff --git a/web/core/modules/migrate/tests/src/Kernel/MigrateSqlSourceTestBase.php b/web/core/modules/migrate/tests/src/Kernel/MigrateSqlSourceTestBase.php index fcae35cb6..ba11c234a 100644 --- a/web/core/modules/migrate/tests/src/Kernel/MigrateSqlSourceTestBase.php +++ b/web/core/modules/migrate/tests/src/Kernel/MigrateSqlSourceTestBase.php @@ -97,7 +97,7 @@ public function testSource(array $source_data, array $expected_data, $expected_c /** @var MemoryCounterBackend $cache **/ $cache = \Drupal::cache('migrate'); if ($expected_cache_key) { - // Verify the the computed cache key. + // Verify the computed cache key. $property = $reflector->getProperty('cacheKey'); $property->setAccessible(TRUE); $this->assertSame($expected_cache_key, $property->getValue($plugin)); diff --git a/web/core/modules/migrate/tests/src/Kernel/Plugin/MigrationPluginListTest.php b/web/core/modules/migrate/tests/src/Kernel/Plugin/MigrationPluginListTest.php index 65987ab60..1fee2243f 100644 --- a/web/core/modules/migrate/tests/src/Kernel/Plugin/MigrationPluginListTest.php +++ b/web/core/modules/migrate/tests/src/Kernel/Plugin/MigrationPluginListTest.php @@ -55,6 +55,7 @@ class MigrationPluginListTest extends KernelTestBase { 'system', 'taxonomy', 'text', + // @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452 'tracker', 'update', 'user', diff --git a/web/core/modules/migrate/tests/src/Kernel/Plugin/id_map/SqlTest.php b/web/core/modules/migrate/tests/src/Kernel/Plugin/id_map/SqlTest.php index 42f7c4626..6267771c4 100644 --- a/web/core/modules/migrate/tests/src/Kernel/Plugin/id_map/SqlTest.php +++ b/web/core/modules/migrate/tests/src/Kernel/Plugin/id_map/SqlTest.php @@ -87,7 +87,7 @@ public function testEnsureTables($ids) { $this->migrationDefinition['source']['ids'] = $ids; $migration = $this->migrationPluginManager->createStubMigration($this->migrationDefinition); - $map = new TestSqlIdMap($this->database, [], 'test', [], $migration, $this->eventDispatcher); + $map = new TestSqlIdMap($this->database, [], 'test', [], $migration, $this->eventDispatcher, $this->migrationPluginManager); $map->ensureTables(); // Checks that the map table was created. @@ -149,7 +149,7 @@ public function testFailEnsureTables($ids) { ->createStubMigration($this->migrationDefinition); // Use local id map plugin to force an error. - $map = new SqlIdMapTest($this->database, [], 'test', [], $migration, $this->eventDispatcher); + $map = new SqlIdMapTest($this->database, [], 'test', [], $migration, $this->eventDispatcher, $this->migrationPluginManager); $this->expectException(DatabaseExceptionWrapper::class); $this->expectExceptionMessage("Syntax error or access violation: 1074 Column length too big for column 'sourceid1' (max = 16383); use BLOB or TEXT instead:"); diff --git a/web/core/modules/migrate/tests/src/Kernel/TrackChangesTest.php b/web/core/modules/migrate/tests/src/Kernel/TrackChangesTest.php index 46be5bc67..6a692d581 100644 --- a/web/core/modules/migrate/tests/src/Kernel/TrackChangesTest.php +++ b/web/core/modules/migrate/tests/src/Kernel/TrackChangesTest.php @@ -143,7 +143,7 @@ public function testTrackChanges() { ->execute(); // Execute migration again. - $this->executeMigration('track_changes_test'); + $this->executeMigration($this->migration); // Check that the all the hashes except for 'Item 2'and 'Item 4' have // changed. diff --git a/web/core/modules/migrate/tests/src/Unit/MigrateExecutableTest.php b/web/core/modules/migrate/tests/src/Unit/MigrateExecutableTest.php index 5999e7af8..073a21a4a 100644 --- a/web/core/modules/migrate/tests/src/Unit/MigrateExecutableTest.php +++ b/web/core/modules/migrate/tests/src/Unit/MigrateExecutableTest.php @@ -89,7 +89,7 @@ public function testImportWithFailingRewind() { $this->migration->expects($this->any()) ->method('getSourcePlugin') - ->will($this->returnValue($source)); + ->willReturn($source); // Ensure that a message with the proper message was added. $exception_message .= " in " . __FILE__ . " line $line"; @@ -115,7 +115,7 @@ public function testImportWithValidRow() { $this->migration->expects($this->once()) ->method('getProcessPlugins') - ->will($this->returnValue([])); + ->willReturn([]); $destination = $this->createMock('Drupal\migrate\Plugin\MigrateDestinationInterface'); @@ -140,7 +140,7 @@ public function testImportWithValidRowWithoutDestinationId() { $this->migration->expects($this->once()) ->method('getProcessPlugins') - ->will($this->returnValue([])); + ->willReturn([]); $destination = $this->createMock('Drupal\migrate\Plugin\MigrateDestinationInterface'); @@ -168,7 +168,7 @@ public function testImportWithValidRowNoDestinationValues() { $this->migration->expects($this->once()) ->method('getProcessPlugins') - ->will($this->returnValue([])); + ->willReturn([]); $destination = $this->createMock('Drupal\migrate\Plugin\MigrateDestinationInterface'); @@ -196,7 +196,7 @@ public function testImportWithValidRowWithDestinationMigrateException() { $this->migration->expects($this->once()) ->method('getProcessPlugins') - ->will($this->returnValue([])); + ->willReturn([]); $destination = $this->createMock('Drupal\migrate\Plugin\MigrateDestinationInterface'); @@ -270,7 +270,7 @@ public function testImportWithValidRowWithException() { $this->migration->expects($this->once()) ->method('getProcessPlugins') - ->will($this->returnValue([])); + ->willReturn([]); $destination = $this->createMock('Drupal\migrate\Plugin\MigrateDestinationInterface'); @@ -293,15 +293,15 @@ public function testProcessRow() { $plugins[$key][0] = $this->createMock('Drupal\migrate\Plugin\MigrateProcessInterface'); $plugins[$key][0]->expects($this->once()) ->method('getPluginDefinition') - ->will($this->returnValue([])); + ->willReturn([]); $plugins[$key][0]->expects($this->once()) ->method('transform') - ->will($this->returnValue($value)); + ->willReturn($value); } $this->migration->expects($this->once()) ->method('getProcessPlugins') ->with(NULL) - ->will($this->returnValue($plugins)); + ->willReturn($plugins); $row = new Row(); $this->executable->processRow($row); foreach ($expected as $key => $value) { @@ -317,7 +317,7 @@ public function testProcessRowEmptyPipeline() { $this->migration->expects($this->once()) ->method('getProcessPlugins') ->with(NULL) - ->will($this->returnValue(['test' => []])); + ->willReturn(['test' => []]); $row = new Row(); $this->executable->processRow($row); $this->assertSame($row->getDestination(), []); @@ -386,10 +386,10 @@ protected function getMockSource() { ->getMockForAbstractClass(); $source->expects($this->once()) ->method('rewind') - ->will($this->returnValue(TRUE)); + ->willReturn(TRUE); $source->expects($this->any()) ->method('initializeIterator') - ->will($this->returnValue([])); + ->willReturn([]); $source->expects($this->any()) ->method('valid') ->will($this->onConsecutiveCalls(TRUE, FALSE)); diff --git a/web/core/modules/migrate/tests/src/Unit/MigrateSourceTest.php b/web/core/modules/migrate/tests/src/Unit/MigrateSourceTest.php index 8f5d2e627..9042419f8 100644 --- a/web/core/modules/migrate/tests/src/Unit/MigrateSourceTest.php +++ b/web/core/modules/migrate/tests/src/Unit/MigrateSourceTest.php @@ -421,8 +421,7 @@ public function testPrepareRowPrepareException() { } /** - * Tests that cacheCounts, skipCount, trackChanges preserve their default - * values. + * Tests that default values are preserved for several source methods. */ public function testDefaultPropertiesValues() { $this->migrationConfiguration['id'] = 'test_migration'; @@ -500,8 +499,10 @@ protected function initializeIterator() { } /** - * Stubbed source plugin with a generator as iterator. Also it overwrites the - * $skipCount, $cacheCounts and $trackChanges properties. + * Defines a stubbed source plugin with a generator as iterator. + * + * This stub overwrites the $skipCount, $cacheCounts, and $trackChanges + * properties. */ class StubSourceGeneratorPlugin extends StubSourcePlugin { diff --git a/web/core/modules/migrate/tests/src/Unit/MigrateSqlIdMapEnsureTablesTest.php b/web/core/modules/migrate/tests/src/Unit/MigrateSqlIdMapEnsureTablesTest.php index 2963547dc..cdcbc4468 100644 --- a/web/core/modules/migrate/tests/src/Unit/MigrateSqlIdMapEnsureTablesTest.php +++ b/web/core/modules/migrate/tests/src/Unit/MigrateSqlIdMapEnsureTablesTest.php @@ -208,13 +208,13 @@ protected function runEnsureTablesTest($schema) { $plugin->expects($this->any()) ->method('getIds') ->willReturn([ - 'source_id_property' => [ - 'type' => 'integer', - ], - 'source_id_property_2' => [ - 'type' => 'integer', - ], - ]); + 'source_id_property' => [ + 'type' => 'integer', + ], + 'source_id_property_2' => [ + 'type' => 'integer', + ], + ]); $migration->expects($this->any()) ->method('getSourcePlugin') ->willReturn($plugin); @@ -222,16 +222,17 @@ protected function runEnsureTablesTest($schema) { $plugin->expects($this->any()) ->method('getIds') ->willReturn([ - 'destination_id_property' => [ - 'type' => 'string', - ], - ]); + 'destination_id_property' => [ + 'type' => 'string', + ], + ]); $migration->expects($this->any()) ->method('getDestinationPlugin') ->willReturn($plugin); /** @var \Symfony\Contracts\EventDispatcher\EventDispatcherInterface $event_dispatcher */ $event_dispatcher = $this->createMock('Symfony\Contracts\EventDispatcher\EventDispatcherInterface'); - $map = new TestSqlIdMap($database, [], 'sql', [], $migration, $event_dispatcher); + $migration_manager = $this->createMock('Drupal\migrate\Plugin\MigrationPluginManagerInterface'); + $map = new TestSqlIdMap($database, [], 'sql', [], $migration, $event_dispatcher, $migration_manager); $map->getDatabase(); } diff --git a/web/core/modules/migrate/tests/src/Unit/MigrateSqlIdMapTest.php b/web/core/modules/migrate/tests/src/Unit/MigrateSqlIdMapTest.php index 7908fd912..f05ed19c7 100644 --- a/web/core/modules/migrate/tests/src/Unit/MigrateSqlIdMapTest.php +++ b/web/core/modules/migrate/tests/src/Unit/MigrateSqlIdMapTest.php @@ -2,7 +2,9 @@ namespace Drupal\Tests\migrate\Unit; +use Drupal\Core\DependencyInjection\ContainerBuilder; use Drupal\sqlite\Driver\Database\sqlite\Connection; +use Drupal\migrate\Plugin\MigrationPluginManager; use Drupal\migrate\Plugin\MigrationInterface; use Drupal\migrate\MigrateException; use Drupal\migrate\Plugin\MigrateIdMapInterface; @@ -111,8 +113,9 @@ protected function getIdMap() { ->method('getDestinationPlugin') ->willReturn($plugin); $event_dispatcher = $this->createMock('Symfony\Contracts\EventDispatcher\EventDispatcherInterface'); + $migration_manager = $this->createMock('Drupal\migrate\Plugin\MigrationPluginManagerInterface'); - $id_map = new TestSqlIdMap($this->database, [], 'sql', [], $migration, $event_dispatcher); + $id_map = new TestSqlIdMap($this->database, [], 'sql', [], $migration, $event_dispatcher, $migration_manager); $migration ->method('getIdMap') ->willReturn($id_map); @@ -1176,4 +1179,20 @@ public function getHighestIdInvalidDataProvider() { ]; } + /** + * Tests deprecation message from Sql::getMigrationPluginManager(). + * + * @group legacy + */ + public function testGetMigrationPluginManagerDeprecation() { + $container = new ContainerBuilder(); + $migration_plugin_manager = $this->createMock(MigrationPluginManager::class); + $container->set('plugin.manager.migration', $migration_plugin_manager); + \Drupal::setContainer($container); + + $this->expectDeprecation('deprecated in drupal:9.5.0 and is removed from drupal:11.0.0. Use $this->migrationPluginManager instead. See https://www.drupal.org/node/3277306'); + $id_map = $this->getIdMap(); + $id_map->getMigrationPluginManager(); + } + } diff --git a/web/core/modules/migrate/tests/src/Unit/RowTest.php b/web/core/modules/migrate/tests/src/Unit/RowTest.php index 1770ccd9b..6bf26e94e 100644 --- a/web/core/modules/migrate/tests/src/Unit/RowTest.php +++ b/web/core/modules/migrate/tests/src/Unit/RowTest.php @@ -236,29 +236,29 @@ public function testSourceIdValues() { public function testMultipleSourceIdValues() { // Set values in same order as ids. $multi_source_ids = $this->testSourceIds + [ - 'vid' => 'Node revision', - 'type' => 'Node type', - 'langcode' => 'Node language', - ]; + 'vid' => 'Node revision', + 'type' => 'Node type', + 'langcode' => 'Node language', + ]; $multi_source_ids_values = $this->testValues + [ - 'vid' => 1, - 'type' => 'page', - 'langcode' => 'en', - ]; + 'vid' => 1, + 'type' => 'page', + 'langcode' => 'en', + ]; $row = new Row($multi_source_ids_values, $multi_source_ids); $this->assertSame(array_keys($multi_source_ids), array_keys($row->getSourceIdValues())); // Set values in different order. $multi_source_ids = $this->testSourceIds + [ - 'vid' => 'Node revision', - 'type' => 'Node type', - 'langcode' => 'Node language', - ]; + 'vid' => 'Node revision', + 'type' => 'Node type', + 'langcode' => 'Node language', + ]; $multi_source_ids_values = $this->testValues + [ - 'langcode' => 'en', - 'type' => 'page', - 'vid' => 1, - ]; + 'langcode' => 'en', + 'type' => 'page', + 'vid' => 1, + ]; $row = new Row($multi_source_ids_values, $multi_source_ids); $this->assertSame(array_keys($multi_source_ids), array_keys($row->getSourceIdValues())); } diff --git a/web/core/modules/migrate/tests/src/Unit/TestSqlIdMap.php b/web/core/modules/migrate/tests/src/Unit/TestSqlIdMap.php index 1716a8785..433b3907e 100644 --- a/web/core/modules/migrate/tests/src/Unit/TestSqlIdMap.php +++ b/web/core/modules/migrate/tests/src/Unit/TestSqlIdMap.php @@ -6,6 +6,7 @@ use Drupal\migrate\Plugin\MigrationInterface; use Drupal\migrate\MigrateException; use Drupal\migrate\Plugin\migrate\id_map\Sql; +use Drupal\migrate\Plugin\MigrationPluginManagerInterface; use Symfony\Contracts\EventDispatcher\EventDispatcherInterface; /** @@ -28,10 +29,12 @@ class TestSqlIdMap extends Sql implements \Iterator { * The migration to do. * @param \Symfony\Contracts\EventDispatcher\EventDispatcherInterface $event_dispatcher * The event dispatcher service. + * @param \Drupal\migrate\Plugin\MigrationPluginManagerInterface $migration_manager + * The migration manager. */ - public function __construct(Connection $database, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, EventDispatcherInterface $event_dispatcher) { + public function __construct(Connection $database, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, EventDispatcherInterface $event_dispatcher, MigrationPluginManagerInterface $migration_manager) { $this->database = $database; - parent::__construct($configuration, $plugin_id, $plugin_definition, $migration, $event_dispatcher); + parent::__construct($configuration, $plugin_id, $plugin_definition, $migration, $event_dispatcher, $migration_manager); } /** @@ -88,4 +91,11 @@ public function ensureTables() { parent::ensureTables(); } + /** + * {@inheritdoc} + */ + public function getMigrationPluginManager() { + return parent::getMigrationPluginManager(); + } + } diff --git a/web/core/modules/migrate/tests/src/Unit/destination/ConfigTest.php b/web/core/modules/migrate/tests/src/Unit/destination/ConfigTest.php index d55c21197..cf3f77b5b 100644 --- a/web/core/modules/migrate/tests/src/Unit/destination/ConfigTest.php +++ b/web/core/modules/migrate/tests/src/Unit/destination/ConfigTest.php @@ -29,7 +29,7 @@ public function testImport() { $config->expects($this->once()) ->method('set') ->with($this->equalTo($key), $this->equalTo($val)) - ->will($this->returnValue($config)); + ->willReturn($config); } $config->expects($this->once()) ->method('save'); @@ -40,20 +40,20 @@ public function testImport() { $config_factory->expects($this->once()) ->method('getEditable') ->with('d8_config') - ->will($this->returnValue($config)); + ->willReturn($config); $row = $this->getMockBuilder('Drupal\migrate\Row') ->disableOriginalConstructor() ->getMock(); $row->expects($this->any()) ->method('getRawDestination') - ->will($this->returnValue($source)); + ->willReturn($source); $language_manager = $this->getMockBuilder('Drupal\language\ConfigurableLanguageManagerInterface') ->disableOriginalConstructor() ->getMock(); $language_manager->expects($this->never()) ->method('getLanguageConfigOverride') ->with('fr', 'd8_config') - ->will($this->returnValue($config)); + ->willReturn($config); $destination = new Config(['config_name' => 'd8_config'], 'd8_config', ['pluginId' => 'd8_config'], $migration, $config_factory, $language_manager); $destination_id = $destination->import($row); $this->assertEquals(['d8_config'], $destination_id); @@ -76,7 +76,7 @@ public function testLanguageImport() { $config->expects($this->once()) ->method('set') ->with($this->equalTo($key), $this->equalTo($val)) - ->will($this->returnValue($config)); + ->willReturn($config); } $config->expects($this->once()) ->method('save'); @@ -87,23 +87,23 @@ public function testLanguageImport() { $config_factory->expects($this->once()) ->method('getEditable') ->with('d8_config') - ->will($this->returnValue($config)); + ->willReturn($config); $row = $this->getMockBuilder('Drupal\migrate\Row') ->disableOriginalConstructor() ->getMock(); $row->expects($this->any()) ->method('getRawDestination') - ->will($this->returnValue($source)); + ->willReturn($source); $row->expects($this->any()) ->method('getDestinationProperty') - ->will($this->returnValue($source['langcode'])); + ->willReturn($source['langcode']); $language_manager = $this->getMockBuilder('Drupal\language\ConfigurableLanguageManagerInterface') ->disableOriginalConstructor() ->getMock(); $language_manager->expects($this->any()) ->method('getLanguageConfigOverride') ->with('mi', 'd8_config') - ->will($this->returnValue($config)); + ->willReturn($config); $destination = new Config(['config_name' => 'd8_config', 'translations' => 'true'], 'd8_config', ['pluginId' => 'd8_config'], $migration, $config_factory, $language_manager); $destination_id = $destination->import($row); $this->assertEquals(['d8_config', 'mi'], $destination_id); diff --git a/web/core/modules/migrate/tests/src/Unit/destination/EntityRevisionTest.php b/web/core/modules/migrate/tests/src/Unit/destination/EntityRevisionTest.php index 94a96a9c0..374db8a94 100644 --- a/web/core/modules/migrate/tests/src/Unit/destination/EntityRevisionTest.php +++ b/web/core/modules/migrate/tests/src/Unit/destination/EntityRevisionTest.php @@ -51,6 +51,9 @@ class EntityRevisionTest extends UnitTestCase { */ protected $accountSwitcher; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/migrate/tests/src/Unit/process/ExplodeTest.php b/web/core/modules/migrate/tests/src/Unit/process/ExplodeTest.php index 27a640ccb..426f45631 100644 --- a/web/core/modules/migrate/tests/src/Unit/process/ExplodeTest.php +++ b/web/core/modules/migrate/tests/src/Unit/process/ExplodeTest.php @@ -89,8 +89,7 @@ public function providerExplodeWithNonStrictAndEmptySource() { } /** - * Tests that explode raises an exception when the value cannot be casted to - * string. + * Tests Explode exception handling when string-cast fails. */ public function testExplodeWithNonStrictAndNonCastable() { $plugin = new Explode(['delimiter' => '|', 'strict' => FALSE], 'map', []); @@ -101,8 +100,7 @@ public function testExplodeWithNonStrictAndNonCastable() { } /** - * Tests that explode with an empty string and strict check returns a - * non-empty array. + * Tests Explode return values with an empty string and strict check. */ public function testExplodeWithStrictAndEmptyString() { $plugin = new Explode(['delimiter' => '|'], 'map', []); diff --git a/web/core/modules/migrate/tests/src/Unit/process/GetTest.php b/web/core/modules/migrate/tests/src/Unit/process/GetTest.php index f9793bb8e..0e6a0fa2d 100644 --- a/web/core/modules/migrate/tests/src/Unit/process/GetTest.php +++ b/web/core/modules/migrate/tests/src/Unit/process/GetTest.php @@ -18,7 +18,7 @@ public function testTransformSourceString() { $this->row->expects($this->once()) ->method('get') ->with('test') - ->will($this->returnValue('source_value')); + ->willReturn('source_value'); $this->plugin = new Get(['source' => 'test'], '', []); $value = $this->plugin->transform(NULL, $this->migrateExecutable, $this->row, 'destination_property'); $this->assertSame('source_value', $value); @@ -49,7 +49,7 @@ public function testTransformSourceStringAt() { $this->row->expects($this->once()) ->method('get') ->with('@@test') - ->will($this->returnValue('source_value')); + ->willReturn('source_value'); $this->plugin = new Get(['source' => '@@test'], '', []); $value = $this->plugin->transform(NULL, $this->migrateExecutable, $this->row, 'destination_property'); $this->assertSame('source_value', $value); @@ -113,8 +113,9 @@ public function integerValuesDataProvider() { } /** - * Tests the Get plugin for syntax errors, e.g. "Invalid tag_line detected" by - * creating a prophecy of the class. + * Tests the Get plugin for syntax errors by creating a prophecy of the class. + * + * An example of a syntax error is "Invalid tag_line detected". */ public function testPluginSyntax() { $this->assertNotNull($this->prophesize(Get::class)); diff --git a/web/core/modules/migrate/tests/src/Unit/process/MakeUniqueEntityFieldTest.php b/web/core/modules/migrate/tests/src/Unit/process/MakeUniqueEntityFieldTest.php index 05a5a8d53..465de7e3d 100644 --- a/web/core/modules/migrate/tests/src/Unit/process/MakeUniqueEntityFieldTest.php +++ b/web/core/modules/migrate/tests/src/Unit/process/MakeUniqueEntityFieldTest.php @@ -162,10 +162,10 @@ public function providerTestMakeUniqueEntityField() { protected function entityQueryExpects($count) { $this->entityQuery->expects($this->exactly($count + 1)) ->method('condition') - ->will($this->returnValue($this->entityQuery)); + ->willReturn($this->entityQuery); $this->entityQuery->expects($this->exactly($count + 1)) ->method('count') - ->will($this->returnValue($this->entityQuery)); + ->willReturn($this->entityQuery); $this->entityQuery->expects($this->exactly($count + 1)) ->method('execute') ->willReturnCallback(function () use (&$count) { diff --git a/web/core/modules/migrate_drupal/migrations/state/migrate_drupal.migrate_drupal.yml b/web/core/modules/migrate_drupal/migrations/state/migrate_drupal.migrate_drupal.yml index f5b5a1eac..a0c39a3c5 100644 --- a/web/core/modules/migrate_drupal/migrations/state/migrate_drupal.migrate_drupal.yml +++ b/web/core/modules/migrate_drupal/migrations/state/migrate_drupal.migrate_drupal.yml @@ -37,6 +37,7 @@ finished: ping: core poll: core throttle: core + # @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452 tracker: core translation: core trigger: core diff --git a/web/core/modules/migrate_drupal/src/Plugin/migrate/source/DrupalSqlBase.php b/web/core/modules/migrate_drupal/src/Plugin/migrate/source/DrupalSqlBase.php index 0df37ea25..14efa3d16 100644 --- a/web/core/modules/migrate_drupal/src/Plugin/migrate/source/DrupalSqlBase.php +++ b/web/core/modules/migrate_drupal/src/Plugin/migrate/source/DrupalSqlBase.php @@ -104,18 +104,18 @@ public static function create(ContainerInterface $container, array $configuratio public function checkRequirements() { parent::checkRequirements(); if ($this->pluginDefinition['requirements_met'] === TRUE) { - if (isset($this->pluginDefinition['source_module'])) { - if ($this->moduleExists($this->pluginDefinition['source_module'])) { + if ($source_module = $this->getSourceModule()) { + if ($this->moduleExists($source_module)) { if (isset($this->pluginDefinition['minimum_version'])) { - $minimum_version = $this->pluginDefinition['minimum_version']; - $installed_version = $this->getModuleSchemaVersion($this->pluginDefinition['source_module']); + $minimum_version = (int) $this->pluginDefinition['minimum_version']; + $installed_version = (int) $this->getModuleSchemaVersion($source_module); if ($minimum_version > $installed_version) { throw new RequirementsException('Required minimum version ' . $this->pluginDefinition['minimum_version'], ['minimum_version' => $this->pluginDefinition['minimum_version']]); } } } else { - throw new RequirementsException('The module ' . $this->pluginDefinition['source_module'] . ' is not enabled in the source site.', ['source_module' => $this->pluginDefinition['source_module']]); + throw new RequirementsException('The module ' . $source_module . ' is not enabled in the source site.', ['source_module' => $source_module]); } } } diff --git a/web/core/modules/migrate_drupal/src/Tests/StubTestTrait.php b/web/core/modules/migrate_drupal/src/Tests/StubTestTrait.php index d334aff67..1f026ada9 100644 --- a/web/core/modules/migrate_drupal/src/Tests/StubTestTrait.php +++ b/web/core/modules/migrate_drupal/src/Tests/StubTestTrait.php @@ -10,7 +10,7 @@ trait StubTestTrait { /** - * Tests that a stub of the given entity type results in a valid entity. + * Tests that creating a stub of an entity type results in a valid entity. * * @param string $entity_type_id * The entity type we are stubbing. diff --git a/web/core/modules/migrate_drupal/tests/fixtures/drupal6.php b/web/core/modules/migrate_drupal/tests/fixtures/drupal6.php index 0badecba7..85503493c 100644 --- a/web/core/modules/migrate_drupal/tests/fixtures/drupal6.php +++ b/web/core/modules/migrate_drupal/tests/fixtures/drupal6.php @@ -2963,6 +2963,18 @@ 'active' => '1', 'locked' => '0', )) +->values(array( + 'field_name' => 'field_company_4', + 'type' => 'nodereference', + 'global_settings' => 'a:1:{s:19:"referenceable_types";a:10:{s:7:"company";s:7:"company";s:7:"article";i:0;s:8:"employee";i:0;s:5:"forum";i:0;s:10:"test_event";i:0;s:9:"test_page";i:0;s:11:"test_planet";i:0;s:10:"test_story";i:0;s:7:"sponsor";i:0;s:5:"story";i:0;}}', + 'required' => '0', + 'multiple' => '0', + 'db_storage' => '1', + 'module' => 'nodereference', + 'db_columns' => 'a:1:{s:3:"nid";a:4:{s:4:"type";s:3:"int";s:8:"unsigned";b:1;s:8:"not null";b:0;s:5:"index";b:1;}}', + 'active' => '1', + 'locked' => '0', +)) ->values(array( 'field_name' => 'field_multivalue', 'type' => 'number_decimal', @@ -3440,6 +3452,18 @@ 'widget_module' => 'nodereference', 'widget_active' => '1', )) +->values(array( + 'field_name' => 'field_company_4', + 'type_name' => 'employee', + 'weight' => '36', + 'label' => 'Company 4', + 'widget_type' => 'nodereference_url', + 'widget_settings' => 'a:7:{s:18:"autocomplete_match";s:8:"contains";s:4:"size";s:2:"60";s:13:"default_value";a:1:{i:0;a:2:{s:3:"nid";N;s:14:"_error_element";s:50:"default_value_widget][field_company_4][0][nid][nid";}}s:17:"default_value_php";N;s:9:"node_link";a:5:{s:6:"teaser";i:0;s:4:"full";i:1;s:5:"title";s:14:"Company create";s:11:"hover_title";s:0:"";s:11:"destination";s:4:"node";}s:8:"fallback";s:12:"autocomplete";s:13:"edit_fallback";i:1;}', + 'display_settings' => 'a:5:{s:5:"label";a:2:{s:6:"format";s:5:"above";s:7:"exclude";i:0;}i:5;a:2:{s:6:"format";s:7:"default";s:7:"exclude";i:0;}s:6:"teaser";a:2:{s:6:"format";s:7:"default";s:7:"exclude";i:0;}s:4:"full";a:2:{s:6:"format";s:7:"default";s:7:"exclude";i:0;}i:4;a:2:{s:6:"format";s:7:"default";s:7:"exclude";i:0;}}', + 'description' => '', + 'widget_module' => 'nodereference', + 'widget_active' => '1', +)) ->values(array( 'field_name' => 'field_multivalue', 'type_name' => 'test_planet', @@ -3847,6 +3871,12 @@ 'size' => 'normal', 'unsigned' => TRUE, ), + 'field_company_4_nid' => array( + 'type' => 'int', + 'not null' => FALSE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), 'field_sync_email' => array( 'type' => 'varchar', 'not null' => FALSE, @@ -3869,6 +3899,9 @@ 'field_company_3_nid' => array( 'field_company_3_nid', ), + 'field_company_4_nid' => array( + 'field_company_4_nid', + ), ), 'mysql_character_set' => 'utf8', )); @@ -3880,6 +3913,7 @@ 'field_commander_uid', 'field_company_2_nid', 'field_company_3_nid', + 'field_company_4_nid', 'field_sync_email', )) ->values(array( @@ -3888,6 +3922,7 @@ 'field_commander_uid' => '8', 'field_company_2_nid' => '15', 'field_company_3_nid' => '16', + 'field_company_4_nid' => '16', 'field_sync_email' => NULL, )) ->values(array( @@ -3896,6 +3931,7 @@ 'field_commander_uid' => NULL, 'field_company_2_nid' => NULL, 'field_company_3_nid' => NULL, + 'field_company_4_nid' => NULL, 'field_sync_email' => 'jsmith@example.com', )) ->values(array( @@ -3904,6 +3940,7 @@ 'field_commander_uid' => NULL, 'field_company_2_nid' => NULL, 'field_company_3_nid' => NULL, + 'field_company_4_nid' => NULL, 'field_sync_email' => 'jsmith@example.com', )) ->execute(); @@ -48073,6 +48110,18 @@ 'weight' => '0', 'info' => 'a:13:{s:4:"name";s:10:"Pushbutton";s:11:"description";s:52:"Tabled, multi-column theme in blue and orange tones.";s:7:"version";s:4:"6.38";s:4:"core";s:3:"6.x";s:6:"engine";s:11:"phptemplate";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1456343372";s:7:"regions";a:5:{s:4:"left";s:12:"Left sidebar";s:5:"right";s:13:"Right sidebar";s:7:"content";s:7:"Content";s:6:"header";s:6:"Header";s:6:"footer";s:6:"Footer";}s:8:"features";a:10:{i:0;s:20:"comment_user_picture";i:1;s:7:"favicon";i:2;s:7:"mission";i:3;s:4:"logo";i:4;s:4:"name";i:5;s:17:"node_user_picture";i:6;s:6:"search";i:7;s:6:"slogan";i:8;s:13:"primary_links";i:9;s:15:"secondary_links";}s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:9:"style.css";s:27:"themes/pushbutton/style.css";}}s:7:"scripts";a:1:{s:9:"script.js";s:27:"themes/pushbutton/script.js";}s:10:"screenshot";s:32:"themes/pushbutton/screenshot.png";s:3:"php";s:5:"4.3.5";}', )) +->values(array( + 'filename' => 'sites/all/modules/nodereference_url/nodereference_url.module', + 'name' => 'nodereference_url', + 'type' => 'module', + 'owner' => '', + 'status' => '1', + 'throttle' => '0', + 'bootstrap' => '0', + 'schema_version' => '6100', + 'weight' => '0', + 'info' => 'a:8:{s:4:"name";s:25:"Node Reference URL Widget";s:11:"description";s:99:"Adds an additional widget to the CCK Node Reference field that prepopulates a reference by the URL.";s:12:"dependencies";a:1:{i:0;s:13:"nodereference";}s:7:"package";s:3:"CCK";s:4:"core";s:3:"6.x";s:10:"dependents";a:0:{}s:7:"version";N;s:3:"php";s:5:"4.3.5";}', +)) ->execute(); $connection->schema()->createTable('term_data', array( 'fields' => array( diff --git a/web/core/modules/migrate_drupal/tests/fixtures/drupal7.php b/web/core/modules/migrate_drupal/tests/fixtures/drupal7.php index 26a5b50fd..6e85c3661 100644 --- a/web/core/modules/migrate_drupal/tests/fixtures/drupal7.php +++ b/web/core/modules/migrate_drupal/tests/fixtures/drupal7.php @@ -4,12 +4,18 @@ * @file * A database agnostic dump for testing purposes. * - * This file was generated by the Drupal 9.3.0-dev db-tools.php script. + * This file was generated by the Drupal 9.5.0-dev db-tools.php script. */ use Drupal\Core\Database\Database; $connection = Database::getConnection(); +// Ensure any tables with a serial column with a value of 0 are created as +// expected. +if ($connection->databaseType() === 'mysql') { + $sql_mode = $connection->query("SELECT @@sql_mode;")->fetchField(); + $connection->query("SET sql_mode = '$sql_mode,NO_AUTO_VALUE_ON_ZERO'"); +} $connection->schema()->createTable('accesslog', array( 'fields' => array( @@ -72,305 +78,6 @@ 'mysql_character_set' => 'utf8', )); -$connection->insert('accesslog') -->fields(array( - 'aid', - 'sid', - 'title', - 'path', - 'url', - 'hostname', - 'uid', - 'timer', - 'timestamp', -)) -->values(array( - 'aid' => '92', - 'sid' => 'a8ksMY2GH4yXK0-PsLNAlCv4zNnapnyCpx4lryZDEfk', - 'title' => '', - 'path' => 'node', - 'url' => 'http://drupal7.local/?q=user/register', - 'hostname' => '127.0.0.1', - 'uid' => '0', - 'timer' => '655', - 'timestamp' => '1444944970', -)) -->values(array( - 'aid' => '93', - 'sid' => 'e89G2redQpxRTIndbV3qH8snVR621DqSQ2s4vciJedA', - 'title' => '', - 'path' => 'node', - 'url' => 'http://drupal7.local/', - 'hostname' => '127.0.0.1', - 'uid' => '0', - 'timer' => '214', - 'timestamp' => '1444944974', -)) -->values(array( - 'aid' => '94', - 'sid' => 'KkVxQTCiKqKEGNcRs7GYrmXXbEk4szXCHVTknFkbiG0', - 'title' => 'User account', - 'path' => 'user/login', - 'url' => '', - 'hostname' => '127.0.0.1', - 'uid' => '0', - 'timer' => '259', - 'timestamp' => '1444945094', -)) -->values(array( - 'aid' => '95', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'My account', - 'path' => 'user/login', - 'url' => 'http://drupal7.local/?q=user/login', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '217', - 'timestamp' => '1444945097', -)) -->values(array( - 'aid' => '96', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'root', - 'path' => 'user/1', - 'url' => 'http://drupal7.local/?q=user/login', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '211', - 'timestamp' => '1444945097', -)) -->values(array( - 'aid' => '97', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Modules', - 'path' => 'admin/modules', - 'url' => 'http://drupal7.local/user/1', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '619', - 'timestamp' => '1444945104', -)) -->values(array( - 'aid' => '98', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Configuration', - 'path' => 'admin/config', - 'url' => 'http://drupal7.local/admin/modules', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '273', - 'timestamp' => '1444945114', -)) -->values(array( - 'aid' => '99', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Languages', - 'path' => 'admin/config/regional/language', - 'url' => 'http://drupal7.local/admin/config', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '213', - 'timestamp' => '1444945121', -)) -->values(array( - 'aid' => '100', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Languages', - 'path' => 'admin/config/regional/language/add', - 'url' => 'http://drupal7.local/admin/config/regional/language', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '148', - 'timestamp' => '1444945122', -)) -->values(array( - 'aid' => '101', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Languages', - 'path' => 'admin/config/regional/language/add', - 'url' => 'http://drupal7.local/admin/config/regional/language/add', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '260', - 'timestamp' => '1444945153', -)) -->values(array( - 'aid' => '102', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Languages', - 'path' => 'admin/config/regional/language/add', - 'url' => '', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '195', - 'timestamp' => '1444945160', -)) -->values(array( - 'aid' => '103', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Languages', - 'path' => 'admin/config/regional/language/add', - 'url' => 'http://drupal7.local/?q=admin/config/regional/language/add', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '177', - 'timestamp' => '1444945168', -)) -->values(array( - 'aid' => '104', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Languages', - 'path' => 'admin/config/regional/language', - 'url' => 'http://drupal7.local/?q=admin/config/regional/language/add', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '145', - 'timestamp' => '1444945168', -)) -->values(array( - 'aid' => '105', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Languages', - 'path' => 'admin/config/regional/language', - 'url' => '', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '159', - 'timestamp' => '1444945175', -)) -->values(array( - 'aid' => '106', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Languages', - 'path' => 'admin/config/regional/language', - 'url' => 'http://drupal7.local/?q=admin/config/regional/language', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '152', - 'timestamp' => '1444945176', -)) -->values(array( - 'aid' => '107', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Languages', - 'path' => 'admin/config/regional/language', - 'url' => 'http://drupal7.local/?q=admin/config/regional/language', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '148', - 'timestamp' => '1444945176', -)) -->values(array( - 'aid' => '108', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Structure', - 'path' => 'admin/structure', - 'url' => 'http://drupal7.local/admin/config/regional/language', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '156', - 'timestamp' => '1444945206', -)) -->values(array( - 'aid' => '109', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Content types', - 'path' => 'admin/structure/types', - 'url' => 'http://drupal7.local/admin/structure', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '154', - 'timestamp' => '1444945208', -)) -->values(array( - 'aid' => '110', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Blog entry', - 'path' => 'admin/structure/types/manage/blog', - 'url' => 'http://drupal7.local/admin/structure/types', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '203', - 'timestamp' => '1444945211', -)) -->values(array( - 'aid' => '111', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Parent menu items', - 'path' => 'admin/structure/menu/parents', - 'url' => 'http://drupal7.local/admin/structure/types/manage/blog', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '211', - 'timestamp' => '1444945211', -)) -->values(array( - 'aid' => '112', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Blog entry', - 'path' => 'admin/structure/types/manage/blog', - 'url' => 'http://drupal7.local/admin/structure/types/manage/blog', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '224', - 'timestamp' => '1444945236', -)) -->values(array( - 'aid' => '113', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Parent menu items', - 'path' => 'admin/structure/menu/parents', - 'url' => 'http://drupal7.local/admin/structure/types/manage/blog', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '165', - 'timestamp' => '1444945237', -)) -->values(array( - 'aid' => '114', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Blog entry', - 'path' => 'admin/structure/types/manage/blog', - 'url' => '', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '155', - 'timestamp' => '1444945242', -)) -->values(array( - 'aid' => '115', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Parent menu items', - 'path' => 'admin/structure/menu/parents', - 'url' => 'http://drupal7.local/?q=admin/structure/types/manage/blog', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '217', - 'timestamp' => '1444945242', -)) -->values(array( - 'aid' => '116', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Blog entry', - 'path' => 'admin/structure/types/manage/blog', - 'url' => 'http://drupal7.local/?q=admin/structure/types/manage/blog', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '667', - 'timestamp' => '1444945246', -)) -->values(array( - 'aid' => '117', - 'sid' => 'FA1BMWZvsAAE1G-OBMzfiJyA12sh588cOKSmEmxFQiA', - 'title' => 'Content types', - 'path' => 'admin/structure/types', - 'url' => 'http://drupal7.local/?q=admin/structure/types/manage/blog', - 'hostname' => '127.0.0.1', - 'uid' => '1', - 'timer' => '149', - 'timestamp' => '1444945246', -)) -->execute(); $connection->schema()->createTable('actions', array( 'fields' => array( 'aid' => array( @@ -722,13 +429,13 @@ 'title' => 'Know Your Meme', 'url' => 'http://knowyourmeme.com/newsfeed.rss', 'refresh' => '900', - 'checked' => '1444944970', + 'checked' => '1664931769', 'queued' => '0', - 'link' => 'http://knowyourmeme.com', + 'link' => 'https://knowyourmeme.com', 'description' => 'New items added to the News Feed', 'image' => '', - 'hash' => 'e6295b3ba81b24db62b41515494a7e9fb87979ff45045a1c946de5fa5abc9c52', - 'etag' => '"bad5e20e4993f31c869cffd22f1645b9"', + 'hash' => 'c753aa16060da2c47b3258a912b84e609667ae7c332f2bbbb42bc59052ad4cf6', + 'etag' => '"2ed1a6a90557f4ece3b94535ce371b03"', 'modified' => '0', 'block' => '5', )) @@ -896,6 +603,106 @@ 'timestamp' => '1444944831', 'guid' => 'post:18829', )) +->values(array( + 'iid' => '22', + 'fid' => '1', + 'title' => 'Jinkies', + 'link' => 'https://knowyourmeme.com/photos/2452904-homophobic-dog-not-too-fond-of-gay-people', + 'author' => '', + 'description' => '40f', + 'timestamp' => '1664916608', + 'guid' => 'post:65743', +)) +->values(array( + 'iid' => '23', + 'fid' => '1', + 'title' => "What Is The 'Completely Unorganized Playlist' Meme And Is Spotify Scared?", + 'link' => 'https://knowyourmeme.com/editorials/guides/what-is-the-completely-unorganized-playlist-meme-and-is-spotify-scared', + 'author' => '', + 'description' => "\"Completelyunorganizedplaylistexplained\"

                                                  It's totally normal to have a 400-hour-long Spotify playlist. The rapid succession of musical genres will have you tossing and turning in your seat.

                                                  ", + 'timestamp' => '1664914805', + 'guid' => 'post:65739', +)) +->values(array( + 'iid' => '24', + 'fid' => '1', + 'title' => "Elon Musk In Twitter's Crosshairs Yet Again After Suggesting Ceasefire In Russia-Ukraine Conflict", + 'link' => 'https://knowyourmeme.com/news/elon-musk-in-twitters-crosshairs-yet-again-after-suggesting-ceasefire-in-russia-ukraine-conflict', + 'author' => '', + 'description' => '1

                                                  Elon Musk, half a year after supplying Ukraine with his patented Starlink technology to aid in their defense against Russia, now finds himself branded a Russian loyalist after proposing a ceasefire in the ongoing conflict.

                                                  ', + 'timestamp' => '1664917721', + 'guid' => 'post:65745', +)) +->values(array( + 'iid' => '25', + 'fid' => '1', + 'title' => 'Tumblr Cartoon Wants You To Think About Your Mutuals Before You Type Something Hurtful', + 'link' => 'https://knowyourmeme.com/memes/insult-reflection', + 'author' => '', + 'description' => '92c

                                                  Does making fun of some rando feel so good it makes it worth it to hurt your mutuals in the process?

                                                  ', + 'timestamp' => '1664921469', + 'guid' => 'post:65747', +)) +->values(array( + 'iid' => '26', + 'fid' => '1', + 'title' => 'A Reaction GIF Of Lily Mo Sheen Allegedly Doing A Little Underage Drinking At The 2014 Golden Globe Awards Goes Viral On Reddit', + 'link' => 'https://knowyourmeme.com/memes/lily-mo-sheen-drinks-then-claps-nervously-at-awards-show', + 'author' => '', + 'description' => 'Lilycover

                                                  Sheen is the daughter of Kate Beckinsale and Martin Sheen and has lately been blowing up on Reddit for an old video that everyone can relate to.

                                                  ', + 'timestamp' => '1664912866', + 'guid' => 'post:65738', +)) +->values(array( + 'iid' => '27', + 'fid' => '1', + 'title' => "Playing 'Cyberpunk 2077' Before And After 'Edgerunners'", + 'link' => 'https://knowyourmeme.com/videos/382171-cyberpunk-edgerunners', + 'author' => '', + 'description' => 'Thumbnail_missing

                                                  No going back now.

                                                  ', + 'timestamp' => '1664922077', + 'guid' => 'post:65748', +)) +->values(array( + 'iid' => '28', + 'fid' => '1', + 'title' => 'Elon Musk Offers To Buy Twitter For $54.20 A Share, Again', + 'link' => 'https://knowyourmeme.com/news/elon-musk-offers-to-buy-twitter-for-5420-a-share-again', + 'author' => '', + 'description' => 'Elon_musk_banner

                                                  After months of trying to back out of his infamous deal, Musk suddenly reversed course and re-offered to buy Twitter at the original price he offered, weeks before the case was set to go to trial.

                                                  ', + 'timestamp' => '1664910995', + 'guid' => 'post:65736', +)) +->values(array( + 'iid' => '29', + 'fid' => '1', + 'title' => "'Adult Happy Meals' From McDonald's Are Finally Here, And The Toys Are Odd", + 'link' => 'https://knowyourmeme.com/memes/mcdonalds-adult-happy-meals', + 'author' => '', + 'description' => "\"Grimace\"

                                                  The promotion inspired memes on Twitter and elsewhere in which creators speculated as to what the meal's toy was.

                                                  ", + 'timestamp' => '1664917585', + 'guid' => 'post:65744', +)) +->values(array( + 'iid' => '30', + 'fid' => '1', + 'title' => 'Why Does Jackie Kennedy Eat Sheet Metal?', + 'link' => 'https://knowyourmeme.com/editorials/guides/why-does-jackie-kennedy-eat-sheet-metal', + 'author' => '', + 'description' => 'Sheet_metal

                                                  The absurdist TikTok and Twitter meme challenges decades of Camelot mythology.

                                                  ', + 'timestamp' => '1664912639', + 'guid' => 'post:65737', +)) +->values(array( + 'iid' => '31', + 'fid' => '1', + 'title' => "Someone Messed With Google And Now It Translates 'Tuna Fish in Marathi' To 'Ask The Fish, D*ckhead'", + 'link' => 'https://knowyourmeme.com/memes/marathi-name-of-tuna-fish', + 'author' => '', + 'description' => 'Machhi_ko_puch

                                                  January 2022 had people all over India urging their friends to Google the Marathi word for tuna fish, only to be roasted alive by the top result selected by the algorithm

                                                  ', + 'timestamp' => '1664915662', + 'guid' => 'post:65741', +)) ->execute(); $connection->schema()->createTable('authmap', array( 'fields' => array( @@ -927,6 +734,12 @@ 'primary key' => array( 'aid', ), + 'indexes' => array( + 'uid_module' => array( + 'uid', + 'module', + ), + ), 'mysql_character_set' => 'utf8', )); @@ -1811,6 +1624,36 @@ 'cache' => '-1', 'i18n_mode' => '0', )) +->values(array( + 'bid' => '51', + 'module' => 'menu', + 'delta' => 'menu-fixedlang', + 'theme' => 'bartik', + 'status' => '0', + 'weight' => '0', + 'region' => '-1', + 'custom' => '0', + 'visibility' => '0', + 'pages' => '', + 'title' => '', + 'cache' => '-1', + 'i18n_mode' => '0', +)) +->values(array( + 'bid' => '52', + 'module' => 'menu', + 'delta' => 'menu-fixedlang', + 'theme' => 'seven', + 'status' => '0', + 'weight' => '0', + 'region' => '-1', + 'custom' => '0', + 'visibility' => '0', + 'pages' => '', + 'title' => '', + 'cache' => '-1', + 'i18n_mode' => '0', +)) ->execute(); $connection->schema()->createTable('block_custom', array( 'fields' => array( @@ -2471,82 +2314,6 @@ 'mysql_character_set' => 'utf8', )); -$connection->schema()->createTable('cache_views', array( - 'fields' => array( - 'cid' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '255', - 'default' => '', - ), - 'data' => array( - 'type' => 'blob', - 'not null' => FALSE, - 'size' => 'normal', - ), - 'expire' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - ), - 'created' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - ), - 'serialized' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - ), - ), - 'primary key' => array( - 'cid', - ), - 'mysql_character_set' => 'utf8', -)); - -$connection->schema()->createTable('cache_views_data', array( - 'fields' => array( - 'cid' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '255', - 'default' => '', - ), - 'data' => array( - 'type' => 'blob', - 'not null' => FALSE, - 'size' => 'normal', - ), - 'expire' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - ), - 'created' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - ), - 'serialized' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '1', - ), - ), - 'primary key' => array( - 'cid', - ), - 'mysql_character_set' => 'utf8', -)); - $connection->schema()->createTable('comment', array( 'fields' => array( 'cid' => array( @@ -2823,7 +2590,7 @@ 'obj' => array( 'type' => 'varchar', 'not null' => TRUE, - 'length' => '32', + 'length' => '128', ), 'updated' => array( 'type' => 'int', @@ -3294,6 +3061,18 @@ 'created' => '1531838064', 'changed' => '1531838064', )) +->values(array( + 'entity_type' => 'comment', + 'entity_id' => '4', + 'revision_id' => '4', + 'language' => 'en', + 'source' => '', + 'uid' => '1', + 'status' => '1', + 'translate' => '0', + 'created' => '1426781880', + 'changed' => '1426781880', +)) ->values(array( 'entity_type' => 'node', 'entity_id' => '1', @@ -3331,52 +3110,40 @@ 'changed' => '1529615813', )) ->values(array( - 'entity_type' => 'user', - 'entity_id' => '2', - 'revision_id' => '2', + 'entity_type' => 'node', + 'entity_id' => '11', + 'revision_id' => '18', 'language' => 'en', 'source' => '', 'uid' => '1', 'status' => '1', 'translate' => '0', - 'created' => '1527594929', - 'changed' => '1527594929', + 'created' => '1568261523', + 'changed' => '1568261687', )) ->values(array( - 'entity_type' => 'user', - 'entity_id' => '2', - 'revision_id' => '2', + 'entity_type' => 'node', + 'entity_id' => '11', + 'revision_id' => '18', 'language' => 'fr', 'source' => 'en', 'uid' => '1', - 'status' => '0', + 'status' => '1', 'translate' => '0', - 'created' => '1531663916', - 'changed' => '1531663916', + 'created' => '1568261721', + 'changed' => '1568261721', )) ->values(array( - 'entity_type' => 'user', - 'entity_id' => '2', - 'revision_id' => '2', + 'entity_type' => 'node', + 'entity_id' => '11', + 'revision_id' => '18', 'language' => 'is', 'source' => 'en', - 'uid' => '2', - 'status' => '1', - 'translate' => '1', - 'created' => '1531663925', - 'changed' => '1531663925', -)) -->values(array( - 'entity_type' => 'comment', - 'entity_id' => '4', - 'revision_id' => '4', - 'language' => 'en', - 'source' => '', 'uid' => '1', 'status' => '1', 'translate' => '0', - 'created' => '1426781880', - 'changed' => '1426781880', + 'created' => '1568261548', + 'changed' => '1568261548', )) ->values(array( 'entity_type' => 'taxonomy_term', @@ -3415,40 +3182,40 @@ 'changed' => '1531922279', )) ->values(array( - 'entity_type' => 'node', - 'entity_id' => '11', - 'revision_id' => '18', + 'entity_type' => 'user', + 'entity_id' => '2', + 'revision_id' => '2', 'language' => 'en', 'source' => '', 'uid' => '1', 'status' => '1', 'translate' => '0', - 'created' => '1568261523', - 'changed' => '1568261687', + 'created' => '1527594929', + 'changed' => '1527594929', )) ->values(array( - 'entity_type' => 'node', - 'entity_id' => '11', - 'revision_id' => '18', + 'entity_type' => 'user', + 'entity_id' => '2', + 'revision_id' => '2', 'language' => 'fr', 'source' => 'en', 'uid' => '1', - 'status' => '1', + 'status' => '0', 'translate' => '0', - 'created' => '1568261721', - 'changed' => '1568261721', + 'created' => '1531663916', + 'changed' => '1531663916', )) ->values(array( - 'entity_type' => 'node', - 'entity_id' => '11', - 'revision_id' => '18', + 'entity_type' => 'user', + 'entity_id' => '2', + 'revision_id' => '2', 'language' => 'is', 'source' => 'en', - 'uid' => '1', + 'uid' => '2', 'status' => '1', - 'translate' => '0', - 'created' => '1568261548', - 'changed' => '1568261548', + 'translate' => '1', + 'created' => '1531663925', + 'changed' => '1531663925', )) ->execute(); $connection->schema()->createTable('entity_translation_revision', array( @@ -3579,19 +3346,19 @@ ->values(array( 'entity_type' => 'node', 'entity_id' => '11', - 'revision_id' => '17', - 'language' => 'en', - 'source' => '', + 'revision_id' => '16', + 'language' => 'is', + 'source' => 'en', 'uid' => '1', 'status' => '1', 'translate' => '0', - 'created' => '1568261523', - 'changed' => '1568261687', + 'created' => '1568261548', + 'changed' => '1568261548', )) ->values(array( 'entity_type' => 'node', 'entity_id' => '11', - 'revision_id' => '18', + 'revision_id' => '17', 'language' => 'en', 'source' => '', 'uid' => '1', @@ -3603,38 +3370,38 @@ ->values(array( 'entity_type' => 'node', 'entity_id' => '11', - 'revision_id' => '18', - 'language' => 'fr', + 'revision_id' => '17', + 'language' => 'is', 'source' => 'en', 'uid' => '1', 'status' => '1', 'translate' => '0', - 'created' => '1568261721', - 'changed' => '1568261721', + 'created' => '1568261548', + 'changed' => '1568261548', )) ->values(array( 'entity_type' => 'node', 'entity_id' => '11', - 'revision_id' => '16', - 'language' => 'is', - 'source' => 'en', + 'revision_id' => '18', + 'language' => 'en', + 'source' => '', 'uid' => '1', 'status' => '1', 'translate' => '0', - 'created' => '1568261548', - 'changed' => '1568261548', + 'created' => '1568261523', + 'changed' => '1568261687', )) ->values(array( 'entity_type' => 'node', 'entity_id' => '11', - 'revision_id' => '17', - 'language' => 'is', + 'revision_id' => '18', + 'language' => 'fr', 'source' => 'en', 'uid' => '1', 'status' => '1', 'translate' => '0', - 'created' => '1568261548', - 'changed' => '1568261548', + 'created' => '1568261721', + 'changed' => '1568261721', )) ->values(array( 'entity_type' => 'node', @@ -3877,7 +3644,7 @@ 'storage_module' => 'field_sql_storage', 'storage_active' => '1', 'locked' => '0', - 'data' => 'a:7:{s:12:"translatable";s:1:"0";s:12:"entity_types";a:0:{}s:8:"settings";a:6:{s:11:"granularity";a:6:{s:5:"month";s:5:"month";s:3:"day";s:3:"day";s:4:"hour";s:4:"hour";s:6:"minute";s:6:"minute";s:4:"year";s:4:"year";s:6:"second";i:0;}s:11:"tz_handling";s:4:"site";s:11:"timezone_db";s:3:"UTC";s:13:"cache_enabled";i:0;s:11:"cache_count";s:1:"4";s:6:"todate";s:0:"";}s:7:"storage";a:5:{s:4:"type";s:17:"field_sql_storage";s:8:"settings";a:0:{}s:6:"module";s:17:"field_sql_storage";s:6:"active";s:1:"1";s:7:"details";a:1:{s:3:"sql";a:2:{s:18:"FIELD_LOAD_CURRENT";a:1:{s:21:"field_data_field_date";a:1:{s:5:"value";s:16:"field_date_value";}}s:19:"FIELD_LOAD_REVISION";a:1:{s:25:"field_revision_field_date";a:1:{s:5:"value";s:16:"field_date_value";}}}}}s:12:"foreign keys";a:0:{}s:7:"indexes";a:0:{}s:2:"id";s:1:"9";}', + 'data' => 'a:7:{s:12:"translatable";s:1:"0";s:12:"entity_types";a:0:{}s:8:"settings";a:6:{s:11:"granularity";a:6:{s:5:"month";s:5:"month";s:3:"day";s:3:"day";s:4:"hour";s:4:"hour";s:6:"minute";s:6:"minute";s:4:"year";s:4:"year";s:6:"second";i:0;}s:11:"tz_handling";s:4:"site";s:11:"timezone_db";s:3:"UTC";s:13:"cache_enabled";i:0;s:11:"cache_count";s:1:"4";s:6:"todate";s:0:"";}s:7:"storage";a:5:{s:4:"type";s:17:"field_sql_storage";s:8:"settings";a:0:{}s:6:"module";s:17:"field_sql_storage";s:6:"active";s:1:"1";s:7:"details";a:1:{s:3:"sql";a:2:{s:18:"FIELD_LOAD_CURRENT";a:1:{s:21:"field_data_field_date";a:1:{s:5:"value";s:16:"field_date_value";}}s:19:"FIELD_LOAD_REVISION";a:1:{s:25:"field_revision_field_date";a:1:{s:5:"value";s:16:"field_date_value";}}}}}s:12:"foreign keys";a:0:{}s:7:"indexes";a:1:{s:5:"value";a:1:{i:0;s:5:"value";}}s:2:"id";s:1:"9";}', 'cardinality' => '1', 'translatable' => '0', 'deleted' => '0', @@ -3892,7 +3659,7 @@ 'storage_module' => 'field_sql_storage', 'storage_active' => '1', 'locked' => '0', - 'data' => 'a:7:{s:12:"translatable";s:1:"0";s:12:"entity_types";a:0:{}s:8:"settings";a:6:{s:11:"granularity";a:6:{s:5:"month";s:5:"month";s:3:"day";s:3:"day";s:4:"hour";s:4:"hour";s:6:"minute";s:6:"minute";s:4:"year";s:4:"year";s:6:"second";i:0;}s:11:"tz_handling";s:4:"site";s:11:"timezone_db";s:3:"UTC";s:13:"cache_enabled";i:0;s:11:"cache_count";s:1:"4";s:6:"todate";s:8:"optional";}s:7:"storage";a:5:{s:4:"type";s:17:"field_sql_storage";s:8:"settings";a:0:{}s:6:"module";s:17:"field_sql_storage";s:6:"active";s:1:"1";s:7:"details";a:1:{s:3:"sql";a:2:{s:18:"FIELD_LOAD_CURRENT";a:1:{s:35:"field_data_field_date_with_end_time";a:2:{s:5:"value";s:30:"field_date_with_end_time_value";s:6:"value2";s:31:"field_date_with_end_time_value2";}}s:19:"FIELD_LOAD_REVISION";a:1:{s:39:"field_revision_field_date_with_end_time";a:2:{s:5:"value";s:30:"field_date_with_end_time_value";s:6:"value2";s:31:"field_date_with_end_time_value2";}}}}}s:12:"foreign keys";a:0:{}s:7:"indexes";a:0:{}s:2:"id";s:2:"10";}', + 'data' => 'a:7:{s:12:"translatable";s:1:"0";s:12:"entity_types";a:0:{}s:8:"settings";a:6:{s:11:"granularity";a:6:{s:5:"month";s:5:"month";s:3:"day";s:3:"day";s:4:"hour";s:4:"hour";s:6:"minute";s:6:"minute";s:4:"year";s:4:"year";s:6:"second";i:0;}s:11:"tz_handling";s:4:"site";s:11:"timezone_db";s:3:"UTC";s:13:"cache_enabled";i:0;s:11:"cache_count";s:1:"4";s:6:"todate";s:8:"optional";}s:7:"storage";a:5:{s:4:"type";s:17:"field_sql_storage";s:8:"settings";a:0:{}s:6:"module";s:17:"field_sql_storage";s:6:"active";s:1:"1";s:7:"details";a:1:{s:3:"sql";a:2:{s:18:"FIELD_LOAD_CURRENT";a:1:{s:35:"field_data_field_date_with_end_time";a:2:{s:5:"value";s:30:"field_date_with_end_time_value";s:6:"value2";s:31:"field_date_with_end_time_value2";}}s:19:"FIELD_LOAD_REVISION";a:1:{s:39:"field_revision_field_date_with_end_time";a:2:{s:5:"value";s:30:"field_date_with_end_time_value";s:6:"value2";s:31:"field_date_with_end_time_value2";}}}}}s:12:"foreign keys";a:0:{}s:7:"indexes";a:2:{s:5:"value";a:2:{i:0;s:5:"value";i:1;s:6:"value2";}s:6:"value2";a:1:{i:0;s:6:"value2";}}s:2:"id";s:2:"10";}', 'cardinality' => '1', 'translatable' => '0', 'deleted' => '0', @@ -4252,7 +4019,7 @@ 'storage_module' => 'field_sql_storage', 'storage_active' => '1', 'locked' => '0', - 'data' => 'a:7:{s:12:"translatable";s:1:"0";s:12:"entity_types";a:0:{}s:8:"settings";a:6:{s:11:"granularity";a:6:{s:5:"month";s:5:"month";s:3:"day";s:3:"day";s:4:"hour";i:0;s:6:"minute";i:0;s:4:"year";s:4:"year";s:6:"second";i:0;}s:11:"tz_handling";s:4:"site";s:11:"timezone_db";s:3:"UTC";s:13:"cache_enabled";i:0;s:11:"cache_count";s:1:"4";s:6:"todate";s:0:"";}s:7:"storage";a:5:{s:4:"type";s:17:"field_sql_storage";s:8:"settings";a:0:{}s:6:"module";s:17:"field_sql_storage";s:6:"active";s:1:"1";s:7:"details";a:1:{s:3:"sql";a:2:{s:18:"FIELD_LOAD_CURRENT";a:1:{s:38:"field_data_field_datetime_without_time";a:1:{s:5:"value";s:33:"field_datetime_without_time_value";}}s:19:"FIELD_LOAD_REVISION";a:1:{s:42:"field_revision_field_datetime_without_time";a:1:{s:5:"value";s:33:"field_datetime_without_time_value";}}}}}s:12:"foreign keys";a:0:{}s:7:"indexes";a:0:{}s:2:"id";s:1:"9";}', + 'data' => 'a:7:{s:12:"translatable";s:1:"0";s:12:"entity_types";a:0:{}s:8:"settings";a:6:{s:11:"granularity";a:6:{s:5:"month";s:5:"month";s:3:"day";s:3:"day";s:4:"hour";i:0;s:6:"minute";i:0;s:4:"year";s:4:"year";s:6:"second";i:0;}s:11:"tz_handling";s:4:"site";s:11:"timezone_db";s:3:"UTC";s:13:"cache_enabled";i:0;s:11:"cache_count";s:1:"4";s:6:"todate";s:0:"";}s:7:"storage";a:5:{s:4:"type";s:17:"field_sql_storage";s:8:"settings";a:0:{}s:6:"module";s:17:"field_sql_storage";s:6:"active";s:1:"1";s:7:"details";a:1:{s:3:"sql";a:2:{s:18:"FIELD_LOAD_CURRENT";a:1:{s:38:"field_data_field_datetime_without_time";a:1:{s:5:"value";s:33:"field_datetime_without_time_value";}}s:19:"FIELD_LOAD_REVISION";a:1:{s:42:"field_revision_field_datetime_without_time";a:1:{s:5:"value";s:33:"field_datetime_without_time_value";}}}}}s:12:"foreign keys";a:0:{}s:7:"indexes";a:1:{s:5:"value";a:1:{i:0;s:5:"value";}}s:2:"id";s:1:"9";}', 'cardinality' => '1', 'translatable' => '0', 'deleted' => '0', @@ -4267,7 +4034,7 @@ 'storage_module' => 'field_sql_storage', 'storage_active' => '1', 'locked' => '0', - 'data' => 'a:7:{s:12:"translatable";s:1:"0";s:12:"entity_types";a:0:{}s:8:"settings";a:6:{s:11:"granularity";a:6:{s:5:"month";s:5:"month";s:3:"day";s:3:"day";s:4:"hour";i:0;s:6:"minute";i:0;s:4:"year";s:4:"year";s:6:"second";i:0;}s:11:"tz_handling";s:4:"site";s:11:"timezone_db";s:3:"UTC";s:13:"cache_enabled";i:0;s:11:"cache_count";s:1:"4";s:6:"todate";s:0:"";}s:7:"storage";a:5:{s:4:"type";s:17:"field_sql_storage";s:8:"settings";a:0:{}s:6:"module";s:17:"field_sql_storage";s:6:"active";s:1:"1";s:7:"details";a:1:{s:3:"sql";a:2:{s:18:"FIELD_LOAD_CURRENT";a:1:{s:34:"field_data_field_date_without_time";a:1:{s:5:"value";s:29:"field_date_without_time_value";}}s:19:"FIELD_LOAD_REVISION";a:1:{s:38:"field_revision_field_date_without_time";a:1:{s:5:"value";s:29:"field_date_without_time_value";}}}}}s:12:"foreign keys";a:0:{}s:7:"indexes";a:0:{}s:2:"id";s:1:"9";}', + 'data' => 'a:7:{s:12:"translatable";s:1:"0";s:12:"entity_types";a:0:{}s:8:"settings";a:6:{s:11:"granularity";a:6:{s:5:"month";s:5:"month";s:3:"day";s:3:"day";s:4:"hour";i:0;s:6:"minute";i:0;s:4:"year";s:4:"year";s:6:"second";i:0;}s:11:"tz_handling";s:4:"site";s:11:"timezone_db";s:3:"UTC";s:13:"cache_enabled";i:0;s:11:"cache_count";s:1:"4";s:6:"todate";s:0:"";}s:7:"storage";a:5:{s:4:"type";s:17:"field_sql_storage";s:8:"settings";a:0:{}s:6:"module";s:17:"field_sql_storage";s:6:"active";s:1:"1";s:7:"details";a:1:{s:3:"sql";a:2:{s:18:"FIELD_LOAD_CURRENT";a:1:{s:34:"field_data_field_date_without_time";a:1:{s:5:"value";s:29:"field_date_without_time_value";}}s:19:"FIELD_LOAD_REVISION";a:1:{s:38:"field_revision_field_date_without_time";a:1:{s:5:"value";s:29:"field_date_without_time_value";}}}}}s:12:"foreign keys";a:0:{}s:7:"indexes";a:1:{s:5:"value";a:1:{i:0;s:5:"value";}}s:2:"id";s:1:"9";}', 'cardinality' => '1', 'translatable' => '0', 'deleted' => '0', @@ -4642,12 +4409,12 @@ 'storage_module' => 'field_sql_storage', 'storage_active' => '1', 'locked' => '0', - 'data' => 'a:7:{s:12:"translatable";i:0;s:12:"entity_types";a:0:{}s:8:"settings";a:7:{s:11:"granularity";a:6:{s:5:"month";s:5:"month";s:3:"day";s:3:"day";s:4:"hour";s:4:"hour";s:6:"minute";s:6:"minute";s:4:"year";s:4:"year";s:6:"second";i:0;}s:11:"tz_handling";s:4:"site";s:11:"timezone_db";s:3:"UTC";s:13:"cache_enabled";i:0;s:11:"cache_count";s:1:"4";s:6:"todate";s:8:"optional";s:23:"entity_translation_sync";b:0;}s:7:"storage";a:5:{s:4:"type";s:17:"field_sql_storage";s:8:"settings";a:0:{}s:6:"module";s:17:"field_sql_storage";s:6:"active";s:1:"1";s:7:"details";a:1:{s:3:"sql";a:2:{s:18:"FIELD_LOAD_CURRENT";a:1:{s:22:"field_data_field_event";a:2:{s:5:"value";s:17:"field_event_value";s:6:"value2";s:18:"field_event_value2";}}s:19:"FIELD_LOAD_REVISION";a:1:{s:26:"field_revision_field_event";a:2:{s:5:"value";s:17:"field_event_value";s:6:"value2";s:18:"field_event_value2";}}}}}s:12:"foreign keys";a:0:{}s:7:"indexes";a:0:{}s:2:"id";s:2:"54";}', + 'data' => 'a:7:{s:12:"translatable";i:0;s:12:"entity_types";a:0:{}s:8:"settings";a:7:{s:11:"granularity";a:6:{s:5:"month";s:5:"month";s:3:"day";s:3:"day";s:4:"hour";s:4:"hour";s:6:"minute";s:6:"minute";s:4:"year";s:4:"year";s:6:"second";i:0;}s:11:"tz_handling";s:4:"site";s:11:"timezone_db";s:3:"UTC";s:13:"cache_enabled";i:0;s:11:"cache_count";s:1:"4";s:6:"todate";s:8:"optional";s:23:"entity_translation_sync";b:0;}s:7:"storage";a:5:{s:4:"type";s:17:"field_sql_storage";s:8:"settings";a:0:{}s:6:"module";s:17:"field_sql_storage";s:6:"active";s:1:"1";s:7:"details";a:1:{s:3:"sql";a:2:{s:18:"FIELD_LOAD_CURRENT";a:1:{s:22:"field_data_field_event";a:2:{s:5:"value";s:17:"field_event_value";s:6:"value2";s:18:"field_event_value2";}}s:19:"FIELD_LOAD_REVISION";a:1:{s:26:"field_revision_field_event";a:2:{s:5:"value";s:17:"field_event_value";s:6:"value2";s:18:"field_event_value2";}}}}}s:12:"foreign keys";a:0:{}s:7:"indexes";a:2:{s:5:"value";a:2:{i:0;s:5:"value";i:1;s:6:"value2";}s:6:"value2";a:1:{i:0;s:6:"value2";}}s:2:"id";s:2:"54";}', 'cardinality' => '1', 'translatable' => '0', 'deleted' => '0', )) - ->execute(); +->execute(); $connection->schema()->createTable('field_config_instance', array( 'fields' => array( 'id' => array( @@ -4874,7 +4641,7 @@ 'field_name' => 'field_date_with_end_time', 'entity_type' => 'node', 'bundle' => 'test_content_type', - 'data' => 'a:6:{s:5:"label";s:18:"Date With End Time";s:6:"widget";a:5:{s:6:"weight";s:1:"3";s:4:"type";s:9:"date_text";s:6:"module";s:4:"date";s:6:"active";i:1;s:8:"settings";a:6:{s:12:"input_format";s:13:"m/d/Y - H:i:s";s:19:"input_format_custom";s:0:"";s:10:"year_range";s:5:"-3:+3";s:9:"increment";i:15;s:14:"label_position";s:5:"above";s:10:"text_parts";a:0:{}}}s:8:"settings";a:5:{s:13:"default_value";s:3:"now";s:18:"default_value_code";s:0:"";s:14:"default_value2";s:4:"same";s:19:"default_value_code2";s:0:"";s:18:"user_register_form";b:0;}s:7:"display";a:1:{s:7:"default";a:5:{s:5:"label";s:5:"above";s:4:"type";s:12:"date_default";s:6:"weight";s:1:"4";s:8:"settings";a:5:{s:11:"format_type";s:4:"long";s:15:"multiple_number";s:0:"";s:13:"multiple_from";s:0:"";s:11:"multiple_to";s:0:"";s:6:"fromto";s:4:"both";}s:6:"module";s:4:"date";}}s:8:"required";i:0;s:11:"description";s:0:"";}', + 'data' => 'a:6:{s:5:"label";s:18:"Date With End Time";s:6:"widget";a:5:{s:6:"weight";s:1:"3";s:4:"type";s:9:"date_text";s:6:"module";s:4:"date";s:6:"active";i:1;s:8:"settings";a:6:{s:12:"input_format";s:13:"m/d/Y - H:i:s";s:19:"input_format_custom";s:0:"";s:10:"year_range";s:5:"-3:+3";s:9:"increment";i:1;s:14:"label_position";s:5:"above";s:10:"text_parts";a:0:{}}}s:8:"settings";a:5:{s:13:"default_value";s:3:"now";s:18:"default_value_code";s:0:"";s:14:"default_value2";s:4:"same";s:19:"default_value_code2";s:0:"";s:18:"user_register_form";b:0;}s:7:"display";a:1:{s:7:"default";a:5:{s:5:"label";s:5:"above";s:4:"type";s:12:"date_default";s:6:"weight";s:1:"4";s:8:"settings";a:5:{s:11:"format_type";s:4:"long";s:15:"multiple_number";s:0:"";s:13:"multiple_from";s:0:"";s:11:"multiple_to";s:0:"";s:6:"fromto";s:4:"both";}s:6:"module";s:4:"date";}}s:8:"required";i:0;s:11:"description";s:0:"";}', 'deleted' => '0', )) ->values(array( @@ -5516,7 +5283,7 @@ 'data' => 'a:7:{s:5:"label";s:8:"checkbox";s:6:"widget";a:5:{s:6:"weight";s:2:"25";s:4:"type";s:15:"options_buttons";s:6:"module";s:7:"options";s:6:"active";i:1;s:8:"settings";a:0:{}}s:8:"settings";a:2:{s:18:"user_register_form";b:0;s:23:"entity_translation_sync";b:0;}s:7:"display";a:1:{s:7:"default";a:5:{s:5:"label";s:5:"above";s:4:"type";s:12:"list_default";s:8:"settings";a:0:{}s:6:"module";s:4:"list";s:6:"weight";i:25;}}s:8:"required";i:0;s:11:"description";s:0:"";s:13:"default_value";N;}', 'deleted' => '0', )) - ->values(array( +->values(array( 'id' => '94', 'field_id' => '62', 'field_name' => 'field_event', @@ -5682,211 +5449,129 @@ 'body_format' => 'filtered_html', )) ->execute(); -$connection->schema()->createTable('field_data_field_checkbox', array( - 'fields' => array( - 'entity_type' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '128', - 'default' => '', - ), - 'bundle' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '128', - 'default' => '', - ), - 'deleted' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'tiny', - 'default' => '0', - ), - 'entity_id' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'unsigned' => TRUE, - ), - 'revision_id' => array( - 'type' => 'int', - 'not null' => FALSE, - 'size' => 'normal', - 'unsigned' => TRUE, - ), - 'language' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '32', - 'default' => '', - ), - 'delta' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'unsigned' => TRUE, - ), - 'field_checkbox_value' => array( - 'type' => 'int', - 'not null' => FALSE, - 'size' => 'normal', - ), - ), - 'primary key' => array( - 'entity_type', - 'entity_id', - 'deleted', - 'delta', - 'language', - ), - 'indexes' => array( - 'entity_type' => array( - 'entity_type', - ), - 'bundle' => array( - 'bundle', - ), - 'deleted' => array( - 'deleted', - ), - 'entity_id' => array( - 'entity_id', - ), - 'revision_id' => array( - 'revision_id', - ), - 'language' => array( - 'language', - ), - 'field_checkbox_value' => array( - 'field_checkbox_value', - ), - ), - 'mysql_character_set' => 'utf8', - )); -$connection->schema()->createTable('field_data_comment_body', array( - 'fields' => array( - 'entity_type' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '128', - 'default' => '', - ), - 'bundle' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '128', - 'default' => '', - ), - 'deleted' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - ), - 'entity_id' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'unsigned' => TRUE, - ), - 'revision_id' => array( - 'type' => 'int', - 'not null' => FALSE, - 'size' => 'normal', - 'unsigned' => TRUE, - ), - 'language' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '32', - 'default' => '', - ), - 'delta' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'unsigned' => TRUE, - ), - 'comment_body_value' => array( - 'type' => 'text', - 'not null' => FALSE, - 'size' => 'normal', - ), - 'comment_body_format' => array( - 'type' => 'varchar', - 'not null' => FALSE, - 'length' => '255', - ), - ), - 'primary key' => array( - 'entity_type', - 'deleted', - 'entity_id', - 'language', - 'delta', - ), - 'mysql_character_set' => 'utf8', -)); - -$connection->insert('field_data_comment_body') -->fields(array( - 'entity_type', - 'bundle', - 'deleted', - 'entity_id', - 'revision_id', - 'language', - 'delta', - 'comment_body_value', - 'comment_body_format', -)) -->values(array( - 'entity_type' => 'comment', - 'bundle' => 'comment_node_test_content_type', - 'deleted' => '0', - 'entity_id' => '1', - 'revision_id' => '1', - 'language' => 'und', - 'delta' => '0', - 'comment_body_value' => 'This is a comment', - 'comment_body_format' => 'filtered_html', -)) -->values(array( - 'entity_type' => 'comment', - 'bundle' => 'comment_node_article', - 'deleted' => '0', - 'entity_id' => '2', - 'revision_id' => '2', - 'language' => 'und', - 'delta' => '0', - 'comment_body_value' => 'TNG is better than DS9.', - 'comment_body_format' => 'filtered_html', -)) -->values(array( - 'entity_type' => 'comment', - 'bundle' => 'comment_node_article', - 'deleted' => '0', - 'entity_id' => '3', - 'revision_id' => '3', - 'language' => 'und', - 'delta' => '0', - 'comment_body_value' => 'This is a comment to an Icelandic translation.', - 'comment_body_format' => 'filtered_html', -)) -->values(array( - 'entity_type' => 'comment', - 'bundle' => 'comment_node_test_content_type', - 'deleted' => '0', - 'entity_id' => '4', - 'revision_id' => '4', - 'language' => 'und', - 'delta' => '0', - 'comment_body_value' => 'A comment without language (migrated from Drupal 6)', - 'comment_body_format' => 'filtered_html', -)) -->execute(); -$connection->schema()->createTable('field_data_description_field', array( +$connection->schema()->createTable('field_data_comment_body', array( + 'fields' => array( + 'entity_type' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '128', + 'default' => '', + ), + 'bundle' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '128', + 'default' => '', + ), + 'deleted' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + ), + 'entity_id' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'revision_id' => array( + 'type' => 'int', + 'not null' => FALSE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'language' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '32', + 'default' => '', + ), + 'delta' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'comment_body_value' => array( + 'type' => 'text', + 'not null' => FALSE, + 'size' => 'normal', + ), + 'comment_body_format' => array( + 'type' => 'varchar', + 'not null' => FALSE, + 'length' => '255', + ), + ), + 'primary key' => array( + 'entity_type', + 'deleted', + 'entity_id', + 'language', + 'delta', + ), + 'mysql_character_set' => 'utf8', +)); + +$connection->insert('field_data_comment_body') +->fields(array( + 'entity_type', + 'bundle', + 'deleted', + 'entity_id', + 'revision_id', + 'language', + 'delta', + 'comment_body_value', + 'comment_body_format', +)) +->values(array( + 'entity_type' => 'comment', + 'bundle' => 'comment_node_test_content_type', + 'deleted' => '0', + 'entity_id' => '1', + 'revision_id' => '1', + 'language' => 'und', + 'delta' => '0', + 'comment_body_value' => 'This is a comment', + 'comment_body_format' => 'filtered_html', +)) +->values(array( + 'entity_type' => 'comment', + 'bundle' => 'comment_node_article', + 'deleted' => '0', + 'entity_id' => '2', + 'revision_id' => '2', + 'language' => 'und', + 'delta' => '0', + 'comment_body_value' => 'TNG is better than DS9.', + 'comment_body_format' => 'filtered_html', +)) +->values(array( + 'entity_type' => 'comment', + 'bundle' => 'comment_node_article', + 'deleted' => '0', + 'entity_id' => '3', + 'revision_id' => '3', + 'language' => 'und', + 'delta' => '0', + 'comment_body_value' => 'This is a comment to an Icelandic translation.', + 'comment_body_format' => 'filtered_html', +)) +->values(array( + 'entity_type' => 'comment', + 'bundle' => 'comment_node_test_content_type', + 'deleted' => '0', + 'entity_id' => '4', + 'revision_id' => '4', + 'language' => 'und', + 'delta' => '0', + 'comment_body_value' => 'A comment without language (migrated from Drupal 6)', + 'comment_body_format' => 'filtered_html', +)) +->execute(); +$connection->schema()->createTable('field_data_description_field', array( 'fields' => array( 'entity_type' => array( 'type' => 'varchar', @@ -6230,7 +5915,10 @@ 'language', ), 'field_chancellor_format' => array( - 'field_chancellor_format', + array( + 'field_chancellor_format', + '191', + ), ), ), 'mysql_character_set' => 'utf8', @@ -6271,6 +5959,89 @@ 'field_chancellor_format' => NULL, )) ->execute(); +$connection->schema()->createTable('field_data_field_checkbox', array( + 'fields' => array( + 'entity_type' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '128', + 'default' => '', + ), + 'bundle' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '128', + 'default' => '', + ), + 'deleted' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'tiny', + 'default' => '0', + ), + 'entity_id' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'revision_id' => array( + 'type' => 'int', + 'not null' => FALSE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'language' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '32', + 'default' => '', + ), + 'delta' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'field_checkbox_value' => array( + 'type' => 'int', + 'not null' => FALSE, + 'size' => 'normal', + ), + ), + 'primary key' => array( + 'entity_type', + 'entity_id', + 'deleted', + 'delta', + 'language', + ), + 'indexes' => array( + 'entity_type' => array( + 'entity_type', + ), + 'bundle' => array( + 'bundle', + ), + 'deleted' => array( + 'deleted', + ), + 'entity_id' => array( + 'entity_id', + ), + 'revision_id' => array( + 'revision_id', + ), + 'language' => array( + 'language', + ), + 'field_checkbox_value' => array( + 'field_checkbox_value', + ), + ), + 'mysql_character_set' => 'utf8', +)); + $connection->schema()->createTable('field_data_field_color', array( 'fields' => array( 'entity_type' => array( @@ -6456,6 +6227,11 @@ 'language', 'delta', ), + 'indexes' => array( + 'field_date_value' => array( + 'field_date_value', + ), + ), 'mysql_character_set' => 'utf8', )); @@ -6528,12 +6304,12 @@ 'field_date_with_end_time_value' => array( 'type' => 'int', 'not null' => FALSE, - 'size' => 'normal', + 'size' => 'big', ), 'field_date_with_end_time_value2' => array( 'type' => 'int', 'not null' => FALSE, - 'size' => 'normal', + 'size' => 'big', ), ), 'primary key' => array( @@ -6543,6 +6319,15 @@ 'language', 'delta', ), + 'indexes' => array( + 'field_date_with_end_time_value' => array( + 'field_date_with_end_time_value', + 'field_date_with_end_time_value2', + ), + 'field_date_with_end_time_value2' => array( + 'field_date_with_end_time_value2', + ), + ), 'mysql_character_set' => 'utf8', )); @@ -6627,6 +6412,11 @@ 'language', 'delta', ), + 'indexes' => array( + 'field_date_without_time_value' => array( + 'field_date_without_time_value', + ), + ), 'mysql_character_set' => 'utf8', )); @@ -6712,6 +6502,11 @@ 'language', 'delta', ), + 'indexes' => array( + 'field_datetime_without_time_value' => array( + 'field_datetime_without_time_value', + ), + ), 'mysql_character_set' => 'utf8', )); @@ -6916,6 +6711,13 @@ 'language' => array( 'language', ), + 'field_event_value' => array( + 'field_event_value', + 'field_event_value2', + ), + 'field_event_value2' => array( + 'field_event_value2', + ), ), 'mysql_character_set' => 'utf8', )); @@ -7421,6 +7223,7 @@ ), 'mysql_character_set' => 'utf8', )); + $connection->schema()->createTable('field_data_field_image_miw', array( 'fields' => array( 'entity_type' => array( @@ -7741,6 +7544,16 @@ 'delta' => '0', 'field_integer_value' => '3000000', )) +->values(array( + 'entity_type' => 'comment', + 'bundle' => 'comment_node_test_content_type', + 'deleted' => '0', + 'entity_id' => '4', + 'revision_id' => '4', + 'language' => 'en', + 'delta' => '0', + 'field_integer_value' => '10', +)) ->values(array( 'entity_type' => 'node', 'bundle' => 'test_content_type', @@ -7772,74 +7585,64 @@ 'field_integer_value' => '7', )) ->values(array( - 'entity_type' => 'user', - 'bundle' => 'user', + 'entity_type' => 'taxonomy_term', + 'bundle' => 'test_vocabulary', 'deleted' => '0', - 'entity_id' => '2', - 'revision_id' => '2', + 'entity_id' => '4', + 'revision_id' => '4', 'language' => 'en', 'delta' => '0', - 'field_integer_value' => '99', + 'field_integer_value' => '6', )) ->values(array( - 'entity_type' => 'user', - 'bundle' => 'user', + 'entity_type' => 'taxonomy_term', + 'bundle' => 'test_vocabulary', 'deleted' => '0', - 'entity_id' => '2', - 'revision_id' => '2', + 'entity_id' => '4', + 'revision_id' => '4', 'language' => 'fr', 'delta' => '0', - 'field_integer_value' => '9', -)) -->values(array( - 'entity_type' => 'user', - 'bundle' => 'user', - 'deleted' => '0', - 'entity_id' => '2', - 'revision_id' => '2', - 'language' => 'is', - 'delta' => '0', - 'field_integer_value' => '1', + 'field_integer_value' => '5', )) ->values(array( - 'entity_type' => 'comment', - 'bundle' => 'comment_node_test_content_type', + 'entity_type' => 'taxonomy_term', + 'bundle' => 'test_vocabulary', 'deleted' => '0', 'entity_id' => '4', 'revision_id' => '4', - 'language' => 'en', + 'language' => 'is', 'delta' => '0', - 'field_integer_value' => '10', + 'field_integer_value' => '4', )) ->values(array( - 'entity_type' => 'taxonomy_term', - 'bundle' => 'test_vocabulary', + 'entity_type' => 'user', + 'bundle' => 'user', 'deleted' => '0', - 'entity_id' => '4', - 'revision_id' => '4', + 'entity_id' => '2', + 'revision_id' => '2', 'language' => 'en', 'delta' => '0', - 'field_integer_value' => '6', + 'field_integer_value' => '99', )) ->values(array( - 'entity_type' => 'taxonomy_term', - 'bundle' => 'test_vocabulary', + 'entity_type' => 'user', + 'bundle' => 'user', 'deleted' => '0', - 'entity_id' => '4', - 'revision_id' => '4', + 'entity_id' => '2', + 'revision_id' => '2', 'language' => 'fr', 'delta' => '0', - 'field_integer_value' => '5', + 'field_integer_value' => '9', )) ->values(array( - 'entity_type' => 'taxonomy_term', - 'bundle' => 'test_vocabulary', + 'entity_type' => 'user', + 'bundle' => 'user', 'deleted' => '0', - 'entity_id' => '4', - 'revision_id' => '4', + 'entity_id' => '2', + 'revision_id' => '2', 'language' => 'is', 'delta' => '0', - 'field_integer_value' => '4', + 'field_integer_value' => '1', )) ->execute(); $connection->schema()->createTable('field_data_field_integer_list', array( @@ -9022,7 +8825,10 @@ 'language', ), 'field_sector_format' => array( - 'field_sector_format', + array( + 'field_sector_format', + '191', + ), ), ), 'mysql_character_set' => 'utf8', @@ -9138,11 +8944,11 @@ 'entity_type' => 'node', 'bundle' => 'article', 'deleted' => '0', - 'entity_id' => '3', - 'revision_id' => '12', + 'entity_id' => '2', + 'revision_id' => '11', 'language' => 'und', - 'delta' => '0', - 'field_tags_tid' => '9', + 'delta' => '1', + 'field_tags_tid' => '14', )) ->values(array( 'entity_type' => 'node', @@ -9151,8 +8957,8 @@ 'entity_id' => '2', 'revision_id' => '11', 'language' => 'und', - 'delta' => '1', - 'field_tags_tid' => '14', + 'delta' => '2', + 'field_tags_tid' => '17', )) ->values(array( 'entity_type' => 'node', @@ -9161,18 +8967,18 @@ 'entity_id' => '3', 'revision_id' => '12', 'language' => 'und', - 'delta' => '1', - 'field_tags_tid' => '14', + 'delta' => '0', + 'field_tags_tid' => '9', )) ->values(array( 'entity_type' => 'node', 'bundle' => 'article', 'deleted' => '0', - 'entity_id' => '2', - 'revision_id' => '11', + 'entity_id' => '3', + 'revision_id' => '12', 'language' => 'und', - 'delta' => '2', - 'field_tags_tid' => '17', + 'delta' => '1', + 'field_tags_tid' => '14', )) ->values(array( 'entity_type' => 'node', @@ -9266,28 +9072,28 @@ )); $connection->insert('field_data_field_telephone') - ->fields(array( - 'entity_type', - 'bundle', - 'deleted', - 'entity_id', - 'revision_id', - 'language', - 'delta', - 'field_telephone_value', - )) - ->values(array( - 'entity_type' => 'node', - 'bundle' => 'test_content_type', - 'deleted' => '0', - 'entity_id' => '1', - 'revision_id' => '1', - 'language' => 'und', - 'delta' => '0', - 'field_telephone_value' => '99-99-99-99', - )) - ->execute(); -$connection->schema()->createTable('field_data_field_termplain', array( +->fields(array( + 'entity_type', + 'bundle', + 'deleted', + 'entity_id', + 'revision_id', + 'language', + 'delta', + 'field_telephone_value', +)) +->values(array( + 'entity_type' => 'node', + 'bundle' => 'test_content_type', + 'deleted' => '0', + 'entity_id' => '1', + 'revision_id' => '1', + 'language' => 'und', + 'delta' => '0', + 'field_telephone_value' => '99-99-99-99', +)) +->execute(); +$connection->schema()->createTable('field_data_field_term_entityreference', array( 'fields' => array( 'entity_type' => array( 'type' => 'varchar', @@ -9304,7 +9110,7 @@ 'deleted' => array( 'type' => 'int', 'not null' => TRUE, - 'size' => 'normal', + 'size' => 'tiny', 'default' => '0', ), 'entity_id' => array( @@ -9331,85 +9137,79 @@ 'size' => 'normal', 'unsigned' => TRUE, ), - 'field_termplain_tid' => array( + 'field_term_entityreference_target_id' => array( 'type' => 'int', - 'not null' => FALSE, + 'not null' => TRUE, 'size' => 'normal', 'unsigned' => TRUE, ), ), 'primary key' => array( 'entity_type', - 'deleted', 'entity_id', - 'language', + 'deleted', 'delta', + 'language', ), - 'mysql_character_set' => 'utf8', -)); - -$connection->schema()->createTable('field_data_field_termrss', array( - 'fields' => array( + 'indexes' => array( 'entity_type' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '128', - 'default' => '', + 'entity_type', ), 'bundle' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '128', - 'default' => '', + 'bundle', ), 'deleted' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', + 'deleted', ), 'entity_id' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'unsigned' => TRUE, + 'entity_id', ), 'revision_id' => array( - 'type' => 'int', - 'not null' => FALSE, - 'size' => 'normal', - 'unsigned' => TRUE, + 'revision_id', ), 'language' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '32', - 'default' => '', - ), - 'delta' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'unsigned' => TRUE, + 'language', ), - 'field_termrss_tid' => array( - 'type' => 'int', - 'not null' => FALSE, - 'size' => 'normal', - 'unsigned' => TRUE, + 'field_term_entityreference_target_id' => array( + 'field_term_entityreference_target_id', ), ), - 'primary key' => array( - 'entity_type', - 'deleted', - 'entity_id', - 'language', - 'delta', - ), 'mysql_character_set' => 'utf8', )); -$connection->schema()->createTable('field_data_field_term_entityreference', array( +$connection->insert('field_data_field_term_entityreference') +->fields(array( + 'entity_type', + 'bundle', + 'deleted', + 'entity_id', + 'revision_id', + 'language', + 'delta', + 'field_term_entityreference_target_id', +)) +->values(array( + 'entity_type' => 'node', + 'bundle' => 'test_content_type', + 'deleted' => '0', + 'entity_id' => '1', + 'revision_id' => '1', + 'language' => 'und', + 'delta' => '0', + 'field_term_entityreference_target_id' => '17', +)) +->values(array( + 'entity_type' => 'node', + 'bundle' => 'test_content_type', + 'deleted' => '0', + 'entity_id' => '1', + 'revision_id' => '1', + 'language' => 'und', + 'delta' => '1', + 'field_term_entityreference_target_id' => '15', +)) +->execute(); +$connection->schema()->createTable('field_data_field_term_reference', array( 'fields' => array( 'entity_type' => array( 'type' => 'varchar', @@ -9426,7 +9226,7 @@ 'deleted' => array( 'type' => 'int', 'not null' => TRUE, - 'size' => 'tiny', + 'size' => 'normal', 'default' => '0', ), 'entity_id' => array( @@ -9453,47 +9253,24 @@ 'size' => 'normal', 'unsigned' => TRUE, ), - 'field_term_entityreference_target_id' => array( + 'field_term_reference_tid' => array( 'type' => 'int', - 'not null' => TRUE, + 'not null' => FALSE, 'size' => 'normal', 'unsigned' => TRUE, ), ), 'primary key' => array( 'entity_type', - 'entity_id', 'deleted', - 'delta', + 'entity_id', 'language', - ), - 'indexes' => array( - 'entity_type' => array( - 'entity_type', - ), - 'bundle' => array( - 'bundle', - ), - 'deleted' => array( - 'deleted', - ), - 'entity_id' => array( - 'entity_id', - ), - 'revision_id' => array( - 'revision_id', - ), - 'language' => array( - 'language', - ), - 'field_term_entityreference_target_id' => array( - 'field_term_entityreference_target_id', - ), + 'delta', ), 'mysql_character_set' => 'utf8', )); -$connection->insert('field_data_field_term_entityreference') +$connection->insert('field_data_field_term_reference') ->fields(array( 'entity_type', 'bundle', @@ -9502,7 +9279,7 @@ 'revision_id', 'language', 'delta', - 'field_term_entityreference_target_id', + 'field_term_reference_tid', )) ->values(array( 'entity_type' => 'node', @@ -9512,20 +9289,20 @@ 'revision_id' => '1', 'language' => 'und', 'delta' => '0', - 'field_term_entityreference_target_id' => '17', + 'field_term_reference_tid' => '4', )) ->values(array( - 'entity_type' => 'node', - 'bundle' => 'test_content_type', + 'entity_type' => 'taxonomy_term', + 'bundle' => 'test_vocabulary', 'deleted' => '0', - 'entity_id' => '1', - 'revision_id' => '1', + 'entity_id' => '2', + 'revision_id' => '2', 'language' => 'und', - 'delta' => '1', - 'field_term_entityreference_target_id' => '15', + 'delta' => '0', + 'field_term_reference_tid' => '3', )) ->execute(); -$connection->schema()->createTable('field_data_field_term_reference', array( +$connection->schema()->createTable('field_data_field_termplain', array( 'fields' => array( 'entity_type' => array( 'type' => 'varchar', @@ -9569,7 +9346,68 @@ 'size' => 'normal', 'unsigned' => TRUE, ), - 'field_term_reference_tid' => array( + 'field_termplain_tid' => array( + 'type' => 'int', + 'not null' => FALSE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + ), + 'primary key' => array( + 'entity_type', + 'deleted', + 'entity_id', + 'language', + 'delta', + ), + 'mysql_character_set' => 'utf8', +)); + +$connection->schema()->createTable('field_data_field_termrss', array( + 'fields' => array( + 'entity_type' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '128', + 'default' => '', + ), + 'bundle' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '128', + 'default' => '', + ), + 'deleted' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + ), + 'entity_id' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'revision_id' => array( + 'type' => 'int', + 'not null' => FALSE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'language' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '32', + 'default' => '', + ), + 'delta' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'field_termrss_tid' => array( 'type' => 'int', 'not null' => FALSE, 'size' => 'normal', @@ -9586,38 +9424,6 @@ 'mysql_character_set' => 'utf8', )); -$connection->insert('field_data_field_term_reference') -->fields(array( - 'entity_type', - 'bundle', - 'deleted', - 'entity_id', - 'revision_id', - 'language', - 'delta', - 'field_term_reference_tid', -)) -->values(array( - 'entity_type' => 'node', - 'bundle' => 'test_content_type', - 'deleted' => '0', - 'entity_id' => '1', - 'revision_id' => '1', - 'language' => 'und', - 'delta' => '0', - 'field_term_reference_tid' => '4', -)) -->values(array( - 'entity_type' => 'taxonomy_term', - 'bundle' => 'test_vocabulary', - 'deleted' => '0', - 'entity_id' => '2', - 'revision_id' => '2', - 'language' => 'und', - 'delta' => '0', - 'field_term_reference_tid' => '3', -)) -->execute(); $connection->schema()->createTable('field_data_field_text', array( 'fields' => array( 'entity_type' => array( @@ -10061,6 +9867,7 @@ ), 'mysql_character_set' => 'utf8', )); + $connection->insert('field_data_field_text_long_plain') ->fields(array( 'entity_type', @@ -10118,7 +9925,6 @@ 'field_text_long_plain_format' => NULL, )) ->execute(); - $connection->schema()->createTable('field_data_field_text_long_plain_filtered', array( 'fields' => array( 'entity_type' => array( @@ -10797,7 +10603,10 @@ 'language', ), 'field_training_format' => array( - 'field_training_format', + array( + 'field_training_format', + '191', + ), ), ), 'mysql_character_set' => 'utf8', @@ -12302,214 +12111,130 @@ 'body_format' => 'filtered_html', )) ->execute(); -$connection->schema()->createTable('field_revision_field_checkbox', array( - 'fields' => array( - 'entity_type' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '128', - 'default' => '', - ), - 'bundle' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '128', - 'default' => '', - ), - 'deleted' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'tiny', - 'default' => '0', - ), - 'entity_id' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'unsigned' => TRUE, - ), - 'revision_id' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'unsigned' => TRUE, - ), - 'language' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '32', - 'default' => '', - ), - 'delta' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'unsigned' => TRUE, - ), - 'field_checkbox_value' => array( - 'type' => 'int', - 'not null' => FALSE, - 'size' => 'normal', - ), - ), - 'primary key' => array( - 'entity_type', - 'entity_id', - 'revision_id', - 'deleted', - 'delta', - 'language', - ), - 'indexes' => array( - 'entity_type' => array( - 'entity_type', - ), - 'bundle' => array( - 'bundle', - ), - 'deleted' => array( - 'deleted', - ), - 'entity_id' => array( - 'entity_id', - ), - 'revision_id' => array( - 'revision_id', - ), - 'language' => array( - 'language', - ), - 'field_checkbox_value' => array( - 'field_checkbox_value', - ), - ), - 'mysql_character_set' => 'utf8', -)); - -$connection->schema()->createTable('field_revision_comment_body', array( - 'fields' => array( - 'entity_type' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '128', - 'default' => '', - ), - 'bundle' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '128', - 'default' => '', - ), - 'deleted' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - ), - 'entity_id' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'unsigned' => TRUE, - ), - 'revision_id' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'unsigned' => TRUE, - ), - 'language' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '32', - 'default' => '', - ), - 'delta' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'unsigned' => TRUE, - ), - 'comment_body_value' => array( - 'type' => 'text', - 'not null' => FALSE, - 'size' => 'normal', - ), - 'comment_body_format' => array( - 'type' => 'varchar', - 'not null' => FALSE, - 'length' => '255', - ), - ), - 'primary key' => array( - 'entity_type', - 'deleted', - 'entity_id', - 'revision_id', - 'language', - 'delta', - ), - 'mysql_character_set' => 'utf8', -)); - -$connection->insert('field_revision_comment_body') -->fields(array( - 'entity_type', - 'bundle', - 'deleted', - 'entity_id', - 'revision_id', - 'language', - 'delta', - 'comment_body_value', - 'comment_body_format', -)) -->values(array( - 'entity_type' => 'comment', - 'bundle' => 'comment_node_test_content_type', - 'deleted' => '0', - 'entity_id' => '1', - 'revision_id' => '1', - 'language' => 'und', - 'delta' => '0', - 'comment_body_value' => 'This is a comment', - 'comment_body_format' => 'filtered_html', -)) -->values(array( - 'entity_type' => 'comment', - 'bundle' => 'comment_node_article', - 'deleted' => '0', - 'entity_id' => '2', - 'revision_id' => '2', - 'language' => 'und', - 'delta' => '0', - 'comment_body_value' => 'TNG is better than DS9.', - 'comment_body_format' => 'filtered_html', -)) -->values(array( - 'entity_type' => 'comment', - 'bundle' => 'comment_node_article', - 'deleted' => '0', - 'entity_id' => '3', - 'revision_id' => '3', - 'language' => 'und', - 'delta' => '0', - 'comment_body_value' => 'This is a comment to an Icelandic translation.', - 'comment_body_format' => 'filtered_html', -)) -->values(array( - 'entity_type' => 'comment', - 'bundle' => 'comment_node_test_content_type', - 'deleted' => '0', - 'entity_id' => '4', - 'revision_id' => '4', - 'language' => 'und', - 'delta' => '0', - 'comment_body_value' => 'A comment without language (migrated from Drupal 6)', - 'comment_body_format' => 'filtered_html', -)) -->execute(); -$connection->schema()->createTable('field_revision_description_field', array( +$connection->schema()->createTable('field_revision_comment_body', array( + 'fields' => array( + 'entity_type' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '128', + 'default' => '', + ), + 'bundle' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '128', + 'default' => '', + ), + 'deleted' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + ), + 'entity_id' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'revision_id' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'language' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '32', + 'default' => '', + ), + 'delta' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'comment_body_value' => array( + 'type' => 'text', + 'not null' => FALSE, + 'size' => 'normal', + ), + 'comment_body_format' => array( + 'type' => 'varchar', + 'not null' => FALSE, + 'length' => '255', + ), + ), + 'primary key' => array( + 'entity_type', + 'deleted', + 'entity_id', + 'revision_id', + 'language', + 'delta', + ), + 'mysql_character_set' => 'utf8', +)); + +$connection->insert('field_revision_comment_body') +->fields(array( + 'entity_type', + 'bundle', + 'deleted', + 'entity_id', + 'revision_id', + 'language', + 'delta', + 'comment_body_value', + 'comment_body_format', +)) +->values(array( + 'entity_type' => 'comment', + 'bundle' => 'comment_node_test_content_type', + 'deleted' => '0', + 'entity_id' => '1', + 'revision_id' => '1', + 'language' => 'und', + 'delta' => '0', + 'comment_body_value' => 'This is a comment', + 'comment_body_format' => 'filtered_html', +)) +->values(array( + 'entity_type' => 'comment', + 'bundle' => 'comment_node_article', + 'deleted' => '0', + 'entity_id' => '2', + 'revision_id' => '2', + 'language' => 'und', + 'delta' => '0', + 'comment_body_value' => 'TNG is better than DS9.', + 'comment_body_format' => 'filtered_html', +)) +->values(array( + 'entity_type' => 'comment', + 'bundle' => 'comment_node_article', + 'deleted' => '0', + 'entity_id' => '3', + 'revision_id' => '3', + 'language' => 'und', + 'delta' => '0', + 'comment_body_value' => 'This is a comment to an Icelandic translation.', + 'comment_body_format' => 'filtered_html', +)) +->values(array( + 'entity_type' => 'comment', + 'bundle' => 'comment_node_test_content_type', + 'deleted' => '0', + 'entity_id' => '4', + 'revision_id' => '4', + 'language' => 'und', + 'delta' => '0', + 'comment_body_value' => 'A comment without language (migrated from Drupal 6)', + 'comment_body_format' => 'filtered_html', +)) +->execute(); +$connection->schema()->createTable('field_revision_description_field', array( 'fields' => array( 'entity_type' => array( 'type' => 'varchar', @@ -12866,7 +12591,10 @@ 'language', ), 'field_chancellor_format' => array( - 'field_chancellor_format', + array( + 'field_chancellor_format', + '191', + ), ), ), 'mysql_character_set' => 'utf8', @@ -12907,6 +12635,90 @@ 'field_chancellor_format' => NULL, )) ->execute(); +$connection->schema()->createTable('field_revision_field_checkbox', array( + 'fields' => array( + 'entity_type' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '128', + 'default' => '', + ), + 'bundle' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '128', + 'default' => '', + ), + 'deleted' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'tiny', + 'default' => '0', + ), + 'entity_id' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'revision_id' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'language' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '32', + 'default' => '', + ), + 'delta' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'field_checkbox_value' => array( + 'type' => 'int', + 'not null' => FALSE, + 'size' => 'normal', + ), + ), + 'primary key' => array( + 'entity_type', + 'entity_id', + 'revision_id', + 'deleted', + 'delta', + 'language', + ), + 'indexes' => array( + 'entity_type' => array( + 'entity_type', + ), + 'bundle' => array( + 'bundle', + ), + 'deleted' => array( + 'deleted', + ), + 'entity_id' => array( + 'entity_id', + ), + 'revision_id' => array( + 'revision_id', + ), + 'language' => array( + 'language', + ), + 'field_checkbox_value' => array( + 'field_checkbox_value', + ), + ), + 'mysql_character_set' => 'utf8', +)); + $connection->schema()->createTable('field_revision_field_color', array( 'fields' => array( 'entity_type' => array( @@ -13094,6 +12906,11 @@ 'language', 'delta', ), + 'indexes' => array( + 'field_date_value' => array( + 'field_date_value', + ), + ), 'mysql_character_set' => 'utf8', )); @@ -13166,12 +12983,12 @@ 'field_date_with_end_time_value' => array( 'type' => 'int', 'not null' => FALSE, - 'size' => 'normal', + 'size' => 'big', ), 'field_date_with_end_time_value2' => array( 'type' => 'int', 'not null' => FALSE, - 'size' => 'normal', + 'size' => 'big', ), ), 'primary key' => array( @@ -13182,6 +12999,15 @@ 'language', 'delta', ), + 'indexes' => array( + 'field_date_with_end_time_value' => array( + 'field_date_with_end_time_value', + 'field_date_with_end_time_value2', + ), + 'field_date_with_end_time_value2' => array( + 'field_date_with_end_time_value2', + ), + ), 'mysql_character_set' => 'utf8', )); @@ -13267,6 +13093,11 @@ 'language', 'delta', ), + 'indexes' => array( + 'field_date_without_time_value' => array( + 'field_date_without_time_value', + ), + ), 'mysql_character_set' => 'utf8', )); @@ -13353,6 +13184,11 @@ 'language', 'delta', ), + 'indexes' => array( + 'field_datetime_without_time_value' => array( + 'field_datetime_without_time_value', + ), + ), 'mysql_character_set' => 'utf8', )); @@ -13559,6 +13395,13 @@ 'language' => array( 'language', ), + 'field_event_value' => array( + 'field_event_value', + 'field_event_value2', + ), + 'field_event_value2' => array( + 'field_event_value2', + ), ), 'mysql_character_set' => 'utf8', )); @@ -14393,6 +14236,16 @@ 'delta' => '0', 'field_integer_value' => '3000000', )) +->values(array( + 'entity_type' => 'comment', + 'bundle' => 'comment_node_test_content_type', + 'deleted' => '0', + 'entity_id' => '4', + 'revision_id' => '4', + 'language' => 'en', + 'delta' => '0', + 'field_integer_value' => '10', +)) ->values(array( 'entity_type' => 'node', 'bundle' => 'test_content_type', @@ -14423,26 +14276,6 @@ 'delta' => '0', 'field_integer_value' => '7', )) -->values(array( - 'entity_type' => 'user', - 'bundle' => 'user', - 'deleted' => '0', - 'entity_id' => '2', - 'revision_id' => '2', - 'language' => 'en', - 'delta' => '0', - 'field_integer_value' => '99', -)) -->values(array( - 'entity_type' => 'comment', - 'bundle' => 'comment_node_test_content_type', - 'deleted' => '0', - 'entity_id' => '4', - 'revision_id' => '4', - 'language' => 'en', - 'delta' => '0', - 'field_integer_value' => '10', -)) ->values(array( 'entity_type' => 'taxonomy_term', 'bundle' => 'test_vocabulary', @@ -14473,6 +14306,16 @@ 'delta' => '0', 'field_integer_value' => '4', )) +->values(array( + 'entity_type' => 'user', + 'bundle' => 'user', + 'deleted' => '0', + 'entity_id' => '2', + 'revision_id' => '2', + 'language' => 'en', + 'delta' => '0', + 'field_integer_value' => '99', +)) ->execute(); $connection->schema()->createTable('field_revision_field_integer_list', array( 'fields' => array( @@ -15789,7 +15632,10 @@ 'language', ), 'field_sector_format' => array( - 'field_sector_format', + array( + 'field_sector_format', + '191', + ), ), ), 'mysql_character_set' => 'utf8', @@ -15896,8 +15742,8 @@ 'entity_type' => 'node', 'bundle' => 'article', 'deleted' => '0', - 'entity_id' => '3', - 'revision_id' => '12', + 'entity_id' => '2', + 'revision_id' => '2', 'language' => 'und', 'delta' => '0', 'field_tags_tid' => '9', @@ -15909,25 +15755,25 @@ 'entity_id' => '2', 'revision_id' => '2', 'language' => 'und', - 'delta' => '0', - 'field_tags_tid' => '9', + 'delta' => '1', + 'field_tags_tid' => '14', )) ->values(array( 'entity_type' => 'node', 'bundle' => 'article', 'deleted' => '0', 'entity_id' => '2', - 'revision_id' => '11', + 'revision_id' => '2', 'language' => 'und', - 'delta' => '0', - 'field_tags_tid' => '9', + 'delta' => '2', + 'field_tags_tid' => '17', )) ->values(array( 'entity_type' => 'node', 'bundle' => 'article', 'deleted' => '0', - 'entity_id' => '3', - 'revision_id' => '3', + 'entity_id' => '2', + 'revision_id' => '11', 'language' => 'und', 'delta' => '0', 'field_tags_tid' => '9', @@ -15936,8 +15782,8 @@ 'entity_type' => 'node', 'bundle' => 'article', 'deleted' => '0', - 'entity_id' => '3', - 'revision_id' => '12', + 'entity_id' => '2', + 'revision_id' => '11', 'language' => 'und', 'delta' => '1', 'field_tags_tid' => '14', @@ -15947,20 +15793,20 @@ 'bundle' => 'article', 'deleted' => '0', 'entity_id' => '2', - 'revision_id' => '2', + 'revision_id' => '11', 'language' => 'und', - 'delta' => '1', - 'field_tags_tid' => '14', + 'delta' => '2', + 'field_tags_tid' => '17', )) ->values(array( 'entity_type' => 'node', 'bundle' => 'article', 'deleted' => '0', - 'entity_id' => '2', - 'revision_id' => '11', + 'entity_id' => '3', + 'revision_id' => '3', 'language' => 'und', - 'delta' => '1', - 'field_tags_tid' => '14', + 'delta' => '0', + 'field_tags_tid' => '9', )) ->values(array( 'entity_type' => 'node', @@ -15976,8 +15822,8 @@ 'entity_type' => 'node', 'bundle' => 'article', 'deleted' => '0', - 'entity_id' => '2', - 'revision_id' => '2', + 'entity_id' => '3', + 'revision_id' => '3', 'language' => 'und', 'delta' => '2', 'field_tags_tid' => '17', @@ -15986,21 +15832,21 @@ 'entity_type' => 'node', 'bundle' => 'article', 'deleted' => '0', - 'entity_id' => '2', - 'revision_id' => '11', + 'entity_id' => '3', + 'revision_id' => '12', 'language' => 'und', - 'delta' => '2', - 'field_tags_tid' => '17', + 'delta' => '0', + 'field_tags_tid' => '9', )) ->values(array( 'entity_type' => 'node', 'bundle' => 'article', 'deleted' => '0', 'entity_id' => '3', - 'revision_id' => '3', + 'revision_id' => '12', 'language' => 'und', - 'delta' => '2', - 'field_tags_tid' => '17', + 'delta' => '1', + 'field_tags_tid' => '14', )) ->values(array( 'entity_type' => 'node', @@ -16095,28 +15941,145 @@ )); $connection->insert('field_revision_field_telephone') - ->fields(array( +->fields(array( + 'entity_type', + 'bundle', + 'deleted', + 'entity_id', + 'revision_id', + 'language', + 'delta', + 'field_telephone_value', +)) +->values(array( + 'entity_type' => 'node', + 'bundle' => 'test_content_type', + 'deleted' => '0', + 'entity_id' => '1', + 'revision_id' => '1', + 'language' => 'und', + 'delta' => '0', + 'field_telephone_value' => '99-99-99-99', +)) +->execute(); +$connection->schema()->createTable('field_revision_field_term_entityreference', array( + 'fields' => array( + 'entity_type' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '128', + 'default' => '', + ), + 'bundle' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '128', + 'default' => '', + ), + 'deleted' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'tiny', + 'default' => '0', + ), + 'entity_id' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'revision_id' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'language' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '32', + 'default' => '', + ), + 'delta' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'field_term_entityreference_target_id' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + ), + 'primary key' => array( 'entity_type', - 'bundle', - 'deleted', 'entity_id', 'revision_id', - 'language', + 'deleted', 'delta', - 'field_telephone_value', - )) - ->values(array( - 'entity_type' => 'node', - 'bundle' => 'test_content_type', - 'deleted' => '0', - 'entity_id' => '1', - 'revision_id' => '1', - 'language' => 'und', - 'delta' => '0', - 'field_telephone_value' => '99-99-99-99', - )) - ->execute(); -$connection->schema()->createTable('field_revision_field_term_entityreference', array( + 'language', + ), + 'indexes' => array( + 'entity_type' => array( + 'entity_type', + ), + 'bundle' => array( + 'bundle', + ), + 'deleted' => array( + 'deleted', + ), + 'entity_id' => array( + 'entity_id', + ), + 'revision_id' => array( + 'revision_id', + ), + 'language' => array( + 'language', + ), + 'field_term_entityreference_target_id' => array( + 'field_term_entityreference_target_id', + ), + ), + 'mysql_character_set' => 'utf8', +)); + +$connection->insert('field_revision_field_term_entityreference') +->fields(array( + 'entity_type', + 'bundle', + 'deleted', + 'entity_id', + 'revision_id', + 'language', + 'delta', + 'field_term_entityreference_target_id', +)) +->values(array( + 'entity_type' => 'node', + 'bundle' => 'test_content_type', + 'deleted' => '0', + 'entity_id' => '1', + 'revision_id' => '1', + 'language' => 'und', + 'delta' => '0', + 'field_term_entityreference_target_id' => '17', +)) +->values(array( + 'entity_type' => 'node', + 'bundle' => 'test_content_type', + 'deleted' => '0', + 'entity_id' => '1', + 'revision_id' => '1', + 'language' => 'und', + 'delta' => '1', + 'field_term_entityreference_target_id' => '15', +)) +->execute(); +$connection->schema()->createTable('field_revision_field_term_reference', array( 'fields' => array( 'entity_type' => array( 'type' => 'varchar', @@ -16133,7 +16096,7 @@ 'deleted' => array( 'type' => 'int', 'not null' => TRUE, - 'size' => 'tiny', + 'size' => 'normal', 'default' => '0', ), 'entity_id' => array( @@ -16160,48 +16123,25 @@ 'size' => 'normal', 'unsigned' => TRUE, ), - 'field_term_entityreference_target_id' => array( + 'field_term_reference_tid' => array( 'type' => 'int', - 'not null' => TRUE, + 'not null' => FALSE, 'size' => 'normal', 'unsigned' => TRUE, ), ), 'primary key' => array( 'entity_type', + 'deleted', 'entity_id', 'revision_id', - 'deleted', - 'delta', 'language', - ), - 'indexes' => array( - 'entity_type' => array( - 'entity_type', - ), - 'bundle' => array( - 'bundle', - ), - 'deleted' => array( - 'deleted', - ), - 'entity_id' => array( - 'entity_id', - ), - 'revision_id' => array( - 'revision_id', - ), - 'language' => array( - 'language', - ), - 'field_term_entityreference_target_id' => array( - 'field_term_entityreference_target_id', - ), + 'delta', ), 'mysql_character_set' => 'utf8', )); -$connection->insert('field_revision_field_term_entityreference') +$connection->insert('field_revision_field_term_reference') ->fields(array( 'entity_type', 'bundle', @@ -16210,7 +16150,7 @@ 'revision_id', 'language', 'delta', - 'field_term_entityreference_target_id', + 'field_term_reference_tid', )) ->values(array( 'entity_type' => 'node', @@ -16220,20 +16160,19 @@ 'revision_id' => '1', 'language' => 'und', 'delta' => '0', - 'field_term_entityreference_target_id' => '17', + 'field_term_reference_tid' => '4', )) ->values(array( - 'entity_type' => 'node', - 'bundle' => 'test_content_type', + 'entity_type' => 'taxonomy_term', + 'bundle' => 'test_vocabulary', 'deleted' => '0', - 'entity_id' => '1', - 'revision_id' => '1', + 'entity_id' => '2', + 'revision_id' => '2', 'language' => 'und', - 'delta' => '1', - 'field_term_entityreference_target_id' => '15', + 'delta' => '0', + 'field_term_reference_tid' => '3', )) ->execute(); - $connection->schema()->createTable('field_revision_field_termplain', array( 'fields' => array( 'entity_type' => array( @@ -16358,100 +16297,6 @@ 'mysql_character_set' => 'utf8', )); -$connection->schema()->createTable('field_revision_field_term_reference', array( - 'fields' => array( - 'entity_type' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '128', - 'default' => '', - ), - 'bundle' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '128', - 'default' => '', - ), - 'deleted' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - ), - 'entity_id' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'unsigned' => TRUE, - ), - 'revision_id' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'unsigned' => TRUE, - ), - 'language' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '32', - 'default' => '', - ), - 'delta' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'unsigned' => TRUE, - ), - 'field_term_reference_tid' => array( - 'type' => 'int', - 'not null' => FALSE, - 'size' => 'normal', - 'unsigned' => TRUE, - ), - ), - 'primary key' => array( - 'entity_type', - 'deleted', - 'entity_id', - 'revision_id', - 'language', - 'delta', - ), - 'mysql_character_set' => 'utf8', -)); - -$connection->insert('field_revision_field_term_reference') -->fields(array( - 'entity_type', - 'bundle', - 'deleted', - 'entity_id', - 'revision_id', - 'language', - 'delta', - 'field_term_reference_tid', -)) -->values(array( - 'entity_type' => 'node', - 'bundle' => 'test_content_type', - 'deleted' => '0', - 'entity_id' => '1', - 'revision_id' => '1', - 'language' => 'und', - 'delta' => '0', - 'field_term_reference_tid' => '4', -)) -->values(array( - 'entity_type' => 'taxonomy_term', - 'bundle' => 'test_vocabulary', - 'deleted' => '0', - 'entity_id' => '2', - 'revision_id' => '2', - 'language' => 'und', - 'delta' => '0', - 'field_term_reference_tid' => '3', -)) -->execute(); $connection->schema()->createTable('field_revision_field_text', array( 'fields' => array( 'entity_type' => array( @@ -16900,6 +16745,7 @@ ), 'mysql_character_set' => 'utf8', )); + $connection->insert('field_revision_field_text_long_plain') ->fields(array( 'entity_type', @@ -16990,7 +16836,6 @@ 'field_text_long_plain_format' => NULL, )) ->execute(); - $connection->schema()->createTable('field_revision_field_text_long_plain_filtered', array( 'fields' => array( 'entity_type' => array( @@ -17676,7 +17521,10 @@ 'language', ), 'field_training_format' => array( - 'field_training_format', + array( + 'field_training_format', + '191', + ), ), ), 'mysql_character_set' => 'utf8', @@ -17717,7 +17565,7 @@ 'field_training_format' => NULL, )) ->execute(); -$connection->schema()->createTable('field_revision_field_user_entityreference', array( +$connection->schema()->createTable('field_revision_field_tree', array( 'fields' => array( 'entity_type' => array( 'type' => 'varchar', @@ -17761,11 +17609,15 @@ 'size' => 'normal', 'unsigned' => TRUE, ), - 'field_user_entityreference_target_id' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'unsigned' => TRUE, + 'field_tree_value' => array( + 'type' => 'varchar', + 'not null' => FALSE, + 'length' => '255', + ), + 'field_tree_format' => array( + 'type' => 'varchar', + 'not null' => FALSE, + 'length' => '255', ), ), 'primary key' => array( @@ -17795,13 +17647,203 @@ 'language' => array( 'language', ), - 'field_user_entityreference_target_id' => array( - 'field_user_entityreference_target_id', + 'field_tree_format' => array( + array( + 'field_tree_format', + '191', + ), ), ), 'mysql_character_set' => 'utf8', )); -$connection->schema()->createTable('field_revision_field_user_reference', array( + +$connection->insert('field_revision_field_tree') +->fields(array( + 'entity_type', + 'bundle', + 'deleted', + 'entity_id', + 'revision_id', + 'language', + 'delta', + 'field_tree_value', + 'field_tree_format', +)) +->values(array( + 'entity_type' => 'node', + 'bundle' => 'et', + 'deleted' => '0', + 'entity_id' => '11', + 'revision_id' => '15', + 'language' => 'en', + 'delta' => '0', + 'field_tree_value' => 'lancewood', + 'field_tree_format' => NULL, +)) +->values(array( + 'entity_type' => 'node', + 'bundle' => 'et', + 'deleted' => '0', + 'entity_id' => '11', + 'revision_id' => '16', + 'language' => 'en', + 'delta' => '0', + 'field_tree_value' => 'lancewood', + 'field_tree_format' => NULL, +)) +->values(array( + 'entity_type' => 'node', + 'bundle' => 'et', + 'deleted' => '0', + 'entity_id' => '11', + 'revision_id' => '16', + 'language' => 'is', + 'delta' => '0', + 'field_tree_value' => 'is - lancewood', + 'field_tree_format' => NULL, +)) +->values(array( + 'entity_type' => 'node', + 'bundle' => 'et', + 'deleted' => '0', + 'entity_id' => '11', + 'revision_id' => '17', + 'language' => 'en', + 'delta' => '0', + 'field_tree_value' => 'lancewood', + 'field_tree_format' => NULL, +)) +->values(array( + 'entity_type' => 'node', + 'bundle' => 'et', + 'deleted' => '0', + 'entity_id' => '11', + 'revision_id' => '17', + 'language' => 'is', + 'delta' => '0', + 'field_tree_value' => 'is - lancewood', + 'field_tree_format' => NULL, +)) +->values(array( + 'entity_type' => 'node', + 'bundle' => 'et', + 'deleted' => '0', + 'entity_id' => '11', + 'revision_id' => '18', + 'language' => 'en', + 'delta' => '0', + 'field_tree_value' => 'lancewood', + 'field_tree_format' => NULL, +)) +->values(array( + 'entity_type' => 'node', + 'bundle' => 'et', + 'deleted' => '0', + 'entity_id' => '11', + 'revision_id' => '18', + 'language' => 'fr', + 'delta' => '0', + 'field_tree_value' => 'fr - lancewood', + 'field_tree_format' => NULL, +)) +->values(array( + 'entity_type' => 'node', + 'bundle' => 'et', + 'deleted' => '0', + 'entity_id' => '11', + 'revision_id' => '18', + 'language' => 'is', + 'delta' => '0', + 'field_tree_value' => 'is - lancewood', + 'field_tree_format' => NULL, +)) +->execute(); +$connection->schema()->createTable('field_revision_field_user_entityreference', array( + 'fields' => array( + 'entity_type' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '128', + 'default' => '', + ), + 'bundle' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '128', + 'default' => '', + ), + 'deleted' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'tiny', + 'default' => '0', + ), + 'entity_id' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'revision_id' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'language' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '32', + 'default' => '', + ), + 'delta' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'field_user_entityreference_target_id' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + ), + 'primary key' => array( + 'entity_type', + 'entity_id', + 'revision_id', + 'deleted', + 'delta', + 'language', + ), + 'indexes' => array( + 'entity_type' => array( + 'entity_type', + ), + 'bundle' => array( + 'bundle', + ), + 'deleted' => array( + 'deleted', + ), + 'entity_id' => array( + 'entity_id', + ), + 'revision_id' => array( + 'revision_id', + ), + 'language' => array( + 'language', + ), + 'field_user_entityreference_target_id' => array( + 'field_user_entityreference_target_id', + ), + ), + 'mysql_character_set' => 'utf8', +)); + +$connection->schema()->createTable('field_revision_field_user_reference', array( 'fields' => array( 'entity_type' => array( 'type' => 'varchar', @@ -18862,199 +18904,6 @@ 'title_field_format' => NULL, )) ->execute(); -$connection->schema()->createTable('field_revision_field_tree', array( - 'fields' => array( - 'entity_type' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '128', - 'default' => '', - ), - 'bundle' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '128', - 'default' => '', - ), - 'deleted' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'tiny', - 'default' => '0', - ), - 'entity_id' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'unsigned' => TRUE, - ), - 'revision_id' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'unsigned' => TRUE, - ), - 'language' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '32', - 'default' => '', - ), - 'delta' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'unsigned' => TRUE, - ), - 'field_tree_value' => array( - 'type' => 'varchar', - 'not null' => FALSE, - 'length' => '255', - ), - 'field_tree_format' => array( - 'type' => 'varchar', - 'not null' => FALSE, - 'length' => '255', - ), - ), - 'primary key' => array( - 'entity_type', - 'entity_id', - 'revision_id', - 'deleted', - 'delta', - 'language', - ), - 'indexes' => array( - 'entity_type' => array( - 'entity_type', - ), - 'bundle' => array( - 'bundle', - ), - 'deleted' => array( - 'deleted', - ), - 'entity_id' => array( - 'entity_id', - ), - 'revision_id' => array( - 'revision_id', - ), - 'language' => array( - 'language', - ), - 'field_tree_format' => array( - array( - 'field_tree_format', - '191', - ), - ), - ), - 'mysql_character_set' => 'utf8', -)); - -$connection->insert('field_revision_field_tree') -->fields(array( - 'entity_type', - 'bundle', - 'deleted', - 'entity_id', - 'revision_id', - 'language', - 'delta', - 'field_tree_value', - 'field_tree_format', -)) -->values(array( - 'entity_type' => 'node', - 'bundle' => 'et', - 'deleted' => '0', - 'entity_id' => '11', - 'revision_id' => '15', - 'language' => 'en', - 'delta' => '0', - 'field_tree_value' => 'lancewood', - 'field_tree_format' => NULL, -)) -->values(array( - 'entity_type' => 'node', - 'bundle' => 'et', - 'deleted' => '0', - 'entity_id' => '11', - 'revision_id' => '16', - 'language' => 'en', - 'delta' => '0', - 'field_tree_value' => 'lancewood', - 'field_tree_format' => NULL, -)) -->values(array( - 'entity_type' => 'node', - 'bundle' => 'et', - 'deleted' => '0', - 'entity_id' => '11', - 'revision_id' => '17', - 'language' => 'en', - 'delta' => '0', - 'field_tree_value' => 'lancewood', - 'field_tree_format' => NULL, -)) -->values(array( - 'entity_type' => 'node', - 'bundle' => 'et', - 'deleted' => '0', - 'entity_id' => '11', - 'revision_id' => '18', - 'language' => 'en', - 'delta' => '0', - 'field_tree_value' => 'lancewood', - 'field_tree_format' => NULL, -)) -->values(array( - 'entity_type' => 'node', - 'bundle' => 'et', - 'deleted' => '0', - 'entity_id' => '11', - 'revision_id' => '18', - 'language' => 'fr', - 'delta' => '0', - 'field_tree_value' => 'fr - lancewood', - 'field_tree_format' => NULL, -)) -->values(array( - 'entity_type' => 'node', - 'bundle' => 'et', - 'deleted' => '0', - 'entity_id' => '11', - 'revision_id' => '16', - 'language' => 'is', - 'delta' => '0', - 'field_tree_value' => 'is - lancewood', - 'field_tree_format' => NULL, -)) -->values(array( - 'entity_type' => 'node', - 'bundle' => 'et', - 'deleted' => '0', - 'entity_id' => '11', - 'revision_id' => '17', - 'language' => 'is', - 'delta' => '0', - 'field_tree_value' => 'is - lancewood', - 'field_tree_format' => NULL, -)) -->values(array( - 'entity_type' => 'node', - 'bundle' => 'et', - 'deleted' => '0', - 'entity_id' => '11', - 'revision_id' => '18', - 'language' => 'is', - 'delta' => '0', - 'field_tree_value' => 'is - lancewood', - 'field_tree_format' => NULL, -)) -->execute(); $connection->schema()->createTable('file_managed', array( 'fields' => array( 'fid' => array( @@ -19772,6 +19621,7 @@ 'not null' => TRUE, 'size' => 'normal', 'default' => '0', + 'unsigned' => TRUE, ), 'timestamp' => array( 'type' => 'int', @@ -19784,9 +19634,36 @@ 'uid', 'nid', ), + 'indexes' => array( + 'nid' => array( + 'nid', + ), + ), 'mysql_character_set' => 'utf8', )); +$connection->insert('history') +->fields(array( + 'uid', + 'nid', + 'timestamp', +)) +->values(array( + 'uid' => '1', + 'nid' => '1', + 'timestamp' => '1664880277', +)) +->values(array( + 'uid' => '1', + 'nid' => '2', + 'timestamp' => '1664880274', +)) +->values(array( + 'uid' => '1', + 'nid' => '5', + 'timestamp' => '1664880304', +)) +->execute(); $connection->schema()->createTable('i18n_block_language', array( 'fields' => array( 'module' => array( @@ -20945,356 +20822,6 @@ 'objectindex' => '0', 'format' => '', )) -->values(array( - 'lid' => '674', - 'textgroup' => 'field', - 'context' => 'comment_body:comment_node_book:label', - 'objectid' => 'comment_node_book', - 'type' => 'comment_body', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '675', - 'textgroup' => 'field', - 'context' => 'comment_body:comment_node_forum:label', - 'objectid' => 'comment_node_forum', - 'type' => 'comment_body', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '676', - 'textgroup' => 'field', - 'context' => 'comment_body:comment_node_test_content_type:label', - 'objectid' => 'comment_node_test_content_type', - 'type' => 'comment_body', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '677', - 'textgroup' => 'field', - 'context' => 'body:page:label', - 'objectid' => 'page', - 'type' => 'body', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '678', - 'textgroup' => 'field', - 'context' => 'body:article:label', - 'objectid' => 'article', - 'type' => 'body', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '679', - 'textgroup' => 'field', - 'context' => 'body:blog:label', - 'objectid' => 'blog', - 'type' => 'body', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '680', - 'textgroup' => 'field', - 'context' => 'body:book:label', - 'objectid' => 'book', - 'type' => 'body', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '681', - 'textgroup' => 'field', - 'context' => 'body:forum:label', - 'objectid' => 'forum', - 'type' => 'body', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '682', - 'textgroup' => 'field', - 'context' => 'field_tags:article:label', - 'objectid' => 'article', - 'type' => 'field_tags', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '683', - 'textgroup' => 'field', - 'context' => 'field_tags:article:description', - 'objectid' => 'article', - 'type' => 'field_tags', - 'property' => 'description', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '684', - 'textgroup' => 'field', - 'context' => 'field_image:article:label', - 'objectid' => 'article', - 'type' => 'field_image', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '685', - 'textgroup' => 'field', - 'context' => 'field_image:article:description', - 'objectid' => 'article', - 'type' => 'field_image', - 'property' => 'description', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '686', - 'textgroup' => 'field', - 'context' => 'taxonomy_forums:forum:label', - 'objectid' => 'forum', - 'type' => 'taxonomy_forums', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '687', - 'textgroup' => 'field', - 'context' => 'field_boolean:#allowed_values:0', - 'objectid' => '#allowed_values', - 'type' => 'field_boolean', - 'property' => '0', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '688', - 'textgroup' => 'field', - 'context' => 'field_boolean:#allowed_values:1', - 'objectid' => '#allowed_values', - 'type' => 'field_boolean', - 'property' => '1', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '689', - 'textgroup' => 'field', - 'context' => 'field_boolean:test_content_type:label', - 'objectid' => 'test_content_type', - 'type' => 'field_boolean', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '754', - 'textgroup' => 'field', - 'context' => 'subject_field:comment_node_article:label', - 'objectid' => 'comment_node_article', - 'type' => 'subject_field', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '755', - 'textgroup' => 'field', - 'context' => 'subject_field:comment_node_test_content_type:label', - 'objectid' => 'comment_node_test_content_type', - 'type' => 'subject_field', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '756', - 'textgroup' => 'field', - 'context' => 'name_field:test_vocabulary:label', - 'objectid' => 'test_vocabulary', - 'type' => 'name_field', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '758', - 'textgroup' => 'field', - 'context' => 'field_vocab_localize:article:label', - 'objectid' => 'article', - 'type' => 'field_vocab_localize', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '759', - 'textgroup' => 'field', - 'context' => 'field_vocab_translate:article:label', - 'objectid' => 'article', - 'type' => 'field_vocab_translate', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '760', - 'textgroup' => 'field', - 'context' => 'field_vocab_fixed:article:label', - 'objectid' => 'article', - 'type' => 'field_vocab_fixed', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '761', - 'textgroup' => 'field', - 'context' => 'field_color:#allowed_values:0', - 'objectid' => '#allowed_values', - 'type' => 'field_color', - 'property' => '0', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '762', - 'textgroup' => 'field', - 'context' => 'field_color:#allowed_values:1', - 'objectid' => '#allowed_values', - 'type' => 'field_color', - 'property' => '1', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '763', - 'textgroup' => 'field', - 'context' => 'field_color:#allowed_values:2', - 'objectid' => '#allowed_values', - 'type' => 'field_color', - 'property' => '2', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '764', - 'textgroup' => 'field', - 'context' => 'field_color:blog:label', - 'objectid' => 'blog', - 'type' => 'field_color', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '765', - 'textgroup' => 'field', - 'context' => 'field_rating:#allowed_values:1', - 'objectid' => '#allowed_values', - 'type' => 'field_rating', - 'property' => '1', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '766', - 'textgroup' => 'field', - 'context' => 'field_rating:#allowed_values:2', - 'objectid' => '#allowed_values', - 'type' => 'field_rating', - 'property' => '2', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '767', - 'textgroup' => 'field', - 'context' => 'field_rating:#allowed_values:3', - 'objectid' => '#allowed_values', - 'type' => 'field_rating', - 'property' => '3', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '768', - 'textgroup' => 'field', - 'context' => 'field_rating:blog:label', - 'objectid' => 'blog', - 'type' => 'field_rating', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '780', - 'textgroup' => 'taxonomy', - 'context' => 'vocabulary:2:name', - 'objectid' => '2', - 'type' => 'vocabulary', - 'property' => 'name', - 'objectindex' => '2', - 'format' => '', -)) -->values(array( - 'lid' => '781', - 'textgroup' => 'taxonomy', - 'context' => 'vocabulary:2:description', - 'objectid' => '2', - 'type' => 'vocabulary', - 'property' => 'description', - 'objectindex' => '2', - 'format' => '', -)) -->values(array( - 'lid' => '794', - 'textgroup' => 'field', - 'context' => 'taxonomy_forums:forum:label', - 'objectid' => 'forum', - 'type' => 'taxonomy_forums', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '795', - 'textgroup' => 'field', - 'context' => 'comment_body:comment_node_article:label', - 'objectid' => 'comment_node_article', - 'type' => 'comment_body', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) -->values(array( - 'lid' => '796', - 'textgroup' => 'field', - 'context' => 'comment_body:comment_node_blog:label', - 'objectid' => 'comment_node_blog', - 'type' => 'comment_body', - 'property' => 'label', - 'objectindex' => '0', - 'format' => '', -)) ->values(array( 'lid' => '194', 'textgroup' => 'field', @@ -21326,32 +20853,352 @@ 'format' => '', )) ->values(array( - 'lid' => '800', - 'textgroup' => 'menu', - 'context' => 'menu:main-menu:title', - 'objectid' => 'main-menu', - 'type' => 'menu', - 'property' => 'title', + 'lid' => '674', + 'textgroup' => 'field', + 'context' => 'comment_body:comment_node_book:label', + 'objectid' => 'comment_node_book', + 'type' => 'comment_body', + 'property' => 'label', 'objectindex' => '0', 'format' => '', )) ->values(array( - 'lid' => '801', - 'textgroup' => 'menu', - 'context' => 'menu:main-menu:description', - 'objectid' => 'main-menu', - 'type' => 'menu', + 'lid' => '675', + 'textgroup' => 'field', + 'context' => 'comment_body:comment_node_forum:label', + 'objectid' => 'comment_node_forum', + 'type' => 'comment_body', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '676', + 'textgroup' => 'field', + 'context' => 'comment_body:comment_node_test_content_type:label', + 'objectid' => 'comment_node_test_content_type', + 'type' => 'comment_body', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '677', + 'textgroup' => 'field', + 'context' => 'body:page:label', + 'objectid' => 'page', + 'type' => 'body', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '678', + 'textgroup' => 'field', + 'context' => 'body:article:label', + 'objectid' => 'article', + 'type' => 'body', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '679', + 'textgroup' => 'field', + 'context' => 'body:blog:label', + 'objectid' => 'blog', + 'type' => 'body', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '680', + 'textgroup' => 'field', + 'context' => 'body:book:label', + 'objectid' => 'book', + 'type' => 'body', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '681', + 'textgroup' => 'field', + 'context' => 'body:forum:label', + 'objectid' => 'forum', + 'type' => 'body', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '682', + 'textgroup' => 'field', + 'context' => 'field_tags:article:label', + 'objectid' => 'article', + 'type' => 'field_tags', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '683', + 'textgroup' => 'field', + 'context' => 'field_tags:article:description', + 'objectid' => 'article', + 'type' => 'field_tags', 'property' => 'description', 'objectindex' => '0', 'format' => '', )) ->values(array( - 'lid' => '802', - 'textgroup' => 'menu', - 'context' => 'menu:menu-test-menu:description', - 'objectid' => 'menu-test-menu', - 'type' => 'menu', + 'lid' => '684', + 'textgroup' => 'field', + 'context' => 'field_image:article:label', + 'objectid' => 'article', + 'type' => 'field_image', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '685', + 'textgroup' => 'field', + 'context' => 'field_image:article:description', + 'objectid' => 'article', + 'type' => 'field_image', + 'property' => 'description', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '686', + 'textgroup' => 'field', + 'context' => 'taxonomy_forums:forum:label', + 'objectid' => 'forum', + 'type' => 'taxonomy_forums', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '687', + 'textgroup' => 'field', + 'context' => 'field_boolean:#allowed_values:0', + 'objectid' => '#allowed_values', + 'type' => 'field_boolean', + 'property' => '0', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '688', + 'textgroup' => 'field', + 'context' => 'field_boolean:#allowed_values:1', + 'objectid' => '#allowed_values', + 'type' => 'field_boolean', + 'property' => '1', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '689', + 'textgroup' => 'field', + 'context' => 'field_boolean:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_boolean', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '754', + 'textgroup' => 'field', + 'context' => 'subject_field:comment_node_article:label', + 'objectid' => 'comment_node_article', + 'type' => 'subject_field', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '755', + 'textgroup' => 'field', + 'context' => 'subject_field:comment_node_test_content_type:label', + 'objectid' => 'comment_node_test_content_type', + 'type' => 'subject_field', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '756', + 'textgroup' => 'field', + 'context' => 'name_field:test_vocabulary:label', + 'objectid' => 'test_vocabulary', + 'type' => 'name_field', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '758', + 'textgroup' => 'field', + 'context' => 'field_vocab_localize:article:label', + 'objectid' => 'article', + 'type' => 'field_vocab_localize', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '759', + 'textgroup' => 'field', + 'context' => 'field_vocab_translate:article:label', + 'objectid' => 'article', + 'type' => 'field_vocab_translate', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '760', + 'textgroup' => 'field', + 'context' => 'field_vocab_fixed:article:label', + 'objectid' => 'article', + 'type' => 'field_vocab_fixed', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '761', + 'textgroup' => 'field', + 'context' => 'field_color:#allowed_values:0', + 'objectid' => '#allowed_values', + 'type' => 'field_color', + 'property' => '0', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '762', + 'textgroup' => 'field', + 'context' => 'field_color:#allowed_values:1', + 'objectid' => '#allowed_values', + 'type' => 'field_color', + 'property' => '1', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '763', + 'textgroup' => 'field', + 'context' => 'field_color:#allowed_values:2', + 'objectid' => '#allowed_values', + 'type' => 'field_color', + 'property' => '2', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '764', + 'textgroup' => 'field', + 'context' => 'field_color:blog:label', + 'objectid' => 'blog', + 'type' => 'field_color', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '765', + 'textgroup' => 'field', + 'context' => 'field_rating:#allowed_values:1', + 'objectid' => '#allowed_values', + 'type' => 'field_rating', + 'property' => '1', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '766', + 'textgroup' => 'field', + 'context' => 'field_rating:#allowed_values:2', + 'objectid' => '#allowed_values', + 'type' => 'field_rating', + 'property' => '2', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '767', + 'textgroup' => 'field', + 'context' => 'field_rating:#allowed_values:3', + 'objectid' => '#allowed_values', + 'type' => 'field_rating', + 'property' => '3', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '768', + 'textgroup' => 'field', + 'context' => 'field_rating:blog:label', + 'objectid' => 'blog', + 'type' => 'field_rating', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '780', + 'textgroup' => 'taxonomy', + 'context' => 'vocabulary:2:name', + 'objectid' => '2', + 'type' => 'vocabulary', + 'property' => 'name', + 'objectindex' => '2', + 'format' => '', +)) +->values(array( + 'lid' => '781', + 'textgroup' => 'taxonomy', + 'context' => 'vocabulary:2:description', + 'objectid' => '2', + 'type' => 'vocabulary', 'property' => 'description', + 'objectindex' => '2', + 'format' => '', +)) +->values(array( + 'lid' => '794', + 'textgroup' => 'field', + 'context' => 'taxonomy_forums:forum:label', + 'objectid' => 'forum', + 'type' => 'taxonomy_forums', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '795', + 'textgroup' => 'field', + 'context' => 'comment_body:comment_node_article:label', + 'objectid' => 'comment_node_article', + 'type' => 'comment_body', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '796', + 'textgroup' => 'field', + 'context' => 'comment_body:comment_node_blog:label', + 'objectid' => 'comment_node_blog', + 'type' => 'comment_body', + 'property' => 'label', 'objectindex' => '0', 'format' => '', )) @@ -21375,7 +21222,37 @@ 'objectindex' => '25', 'format' => '', )) - ->values(array( +->values(array( + 'lid' => '800', + 'textgroup' => 'menu', + 'context' => 'menu:main-menu:title', + 'objectid' => 'main-menu', + 'type' => 'menu', + 'property' => 'title', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '801', + 'textgroup' => 'menu', + 'context' => 'menu:main-menu:description', + 'objectid' => 'main-menu', + 'type' => 'menu', + 'property' => 'description', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '802', + 'textgroup' => 'menu', + 'context' => 'menu:menu-test-menu:description', + 'objectid' => 'menu-test-menu', + 'type' => 'menu', + 'property' => 'description', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( 'lid' => '803', 'textgroup' => 'menu', 'context' => 'item:467:title', @@ -21933,7 +21810,7 @@ 'textgroup' => 'default', 'source' => 'Edit', 'context' => '', - 'version' => 'none', + 'version' => '7.92', )) ->values(array( 'lid' => '14', @@ -22583,831 +22460,3349 @@ 'context' => 'vocabulary:4:description', 'version' => '1', )) -->execute(); -$connection->schema()->createTable('locales_target', array( - 'fields' => array( - 'lid' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - ), - 'translation' => array( - 'type' => 'blob', - 'not null' => TRUE, - 'size' => 'normal', - ), - 'language' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '12', - 'default' => '', - ), - 'plid' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - ), - 'plural' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - ), - 'i18n_status' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - ), - ), - 'primary key' => array( - 'lid', - 'language', - 'plural', - ), - 'mysql_character_set' => 'utf8', -)); - -$connection->insert('locales_target') -->fields(array( - 'lid', - 'translation', - 'language', - 'plid', - 'plural', - 'i18n_status', +->values(array( + 'lid' => '95', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Public files', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '57', - 'translation' => 'fr - Mildly amusing limerick of the day', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '96', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Public local files served by the webserver.', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '60', - 'translation' => "fr - A fellow jumped off a high wall\r\nAnd had a most terrible fall\r\nHe went back to bed\r\nWith a bump on his head\r\nThat's why you don't jump off a wall", - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '97', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Temporary files', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '76', - 'translation' => 'fr - User login title', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '98', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Temporary local files for upload and previews.', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '77', - 'translation' => 'fr - DS9 (localized)', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '99', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Private files', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '78', - 'translation' => 'fr - Terok Nor (localized)', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '100', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Private local files served by Drupal.', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '87', - 'translation' => 'fr - VocabFixed', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '101', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Title', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '89', - 'translation' => 'fr - VocabLocalized', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '102', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Name', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '90', - 'translation' => 'fr - Vocabulary localize option', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '103', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Description', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '97', - 'translation' => 'fr - The email help text.', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '104', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Subject', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '113', - 'translation' => 'fr - Link', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '1', + 'lid' => '105', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Comment', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '163', - 'translation' => 'fr - User login title', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '106', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Full comment', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '678', - 'translation' => 'fr - Body', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '1', + 'lid' => '107', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Blog entry', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '684', - 'translation' => 'fr - Image', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '1', + 'lid' => '108', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Use for multi-user blogs. Every user gets a personal blog.', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '761', - 'translation' => 'Verte', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '109', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Forum topic', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '762', - 'translation' => 'Noire', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '110', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'A forum topic starts a new discussion thread within a forum.', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '763', - 'translation' => 'Blanche', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '111', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => '@node_type comment', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '764', - 'translation' => 'Color', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '112', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Menu link', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '765', - 'translation' => 'Haute', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '113', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Taxonomy term', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '766', - 'translation' => 'Moyenne', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '114', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Translation set', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '767', - 'translation' => 'Faible', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '115', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '768', - 'translation' => 'Rating', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '116', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Full content', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '57', - 'translation' => 'is - Mildly amusing limerick of the day', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '117', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Teaser', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '79', - 'translation' => 'Jupiter Station', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '118', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'RSS', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '80', - 'translation' => 'is - Holographic research. (localized)', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '119', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Search index', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '89', - 'translation' => 'is - VocabLocalized', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '120', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Search result highlighting input', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '90', - 'translation' => 'is - Vocabulary localize option', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '121', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'File', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '91', - 'translation' => 'is - VocabTranslate', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '122', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Taxonomy term page', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '92', - 'translation' => 'is - Vocabulary translate option', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '123', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Taxonomy vocabulary', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '95', - 'translation' => 'is - Some helpful text.', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '124', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'User', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '96', - 'translation' => 'is - Email', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '125', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'User account', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '97', - 'translation' => 'is - The email help text.', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '126', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Print', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '128', - 'translation' => 'is - Term Reference', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '127', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Nodes', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '687', - 'translation' => 'is - Off', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '128', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Users', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '688', - 'translation' => 'is - 1', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '129', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Files', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '758', - 'translation' => 'is field - vocab_localize', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '130', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Nodes represent the main site content items.', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '761', - 'translation' => 'Grænn', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '131', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Users who have created accounts on your site.', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '762', - 'translation' => 'Svartur', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '132', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Uploaded file.', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '763', - 'translation' => 'Hvítur', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '133', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Comments', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '764', - 'translation' => 'Color', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '134', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Remark or note that refers to a node.', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '765', - 'translation' => 'Hár', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '135', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Taxonomy terms', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '766', - 'translation' => 'Miðlungs', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '136', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Taxonomy terms are used for classifying content.', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '767', - 'translation' => 'Lágt', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '137', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Taxonomy vocabularies', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '768', - 'translation' => 'Rating', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '138', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Vocabularies contain related taxonomy terms, which are used for classifying content.', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '800', - 'translation' => 'is - Main menu', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '139', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Long', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '801', - 'translation' => 'is - Main menu description', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '140', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Medium', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '800', - 'translation' => 'fr - Main menu', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '141', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Short', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '801', - 'translation' => 'fr - Main menu description', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '142', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Simple (with optional filter by bundle)', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '802', - 'translation' => 'fr - Test menu description', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '143', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Recursive rendering detected when rendering entity @entity_type(@entity_id). Aborting rendering.', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '797', - 'translation' => 'fr - Emissary', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '144', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => '%type: !message in %function (line %line of %file).', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '798', - 'translation' => 'fr - Pilot episode', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '145', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Error', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '803', - 'translation' => 'fr - Google', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '146', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The website encountered an unexpected error. Please try again later.', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '804', - 'translation' => 'fr - Google description', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '147', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Search results', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '805', - 'translation' => 'is - Stop', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '148', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The results of a search using keywords.', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '806', - 'translation' => 'is - Go', - 'language' => 'is', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '149', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Keywords', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '805', - 'translation' => 'fr - Stop', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '150', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Widgets', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'lid' => '806', - 'translation' => 'Go', - 'language' => 'fr', - 'plid' => '0', - 'plural' => '0', - 'i18n_status' => '0', + 'lid' => '151', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Advanced search form', + 'context' => '', + 'version' => '7.92', )) -->execute(); -$connection->schema()->createTable('menu_custom', array( - 'fields' => array( - 'menu_name' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '32', - 'default' => '', - ), - 'title' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '255', - 'default' => '', - ), - 'description' => array( - 'type' => 'text', - 'not null' => FALSE, - 'size' => 'normal', - ), - 'language' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '12', - 'default' => 'und', - ), - 'i18n_mode' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - 'unsigned' => TRUE, - ), - ), - 'primary key' => array( - 'menu_name', - ), - 'mysql_character_set' => 'utf8', -)); - -$connection->insert('menu_custom') -->fields(array( - 'menu_name', - 'title', - 'description', - 'language', - 'i18n_mode', +->values(array( + 'lid' => '152', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'A search form with advanced options.', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'menu_name' => 'main-menu', - 'title' => 'Main menu', - 'description' => 'The Main menu is used on many sites to show the major sections of the site, often in a top navigation bar.', - 'language' => 'und', - 'i18n_mode' => '0', + 'lid' => '153', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Tokens', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'menu_name' => 'management', - 'title' => 'Management', - 'description' => 'The Management menu contains links for administrative tasks.', - 'language' => 'und', - 'i18n_mode' => '0', + 'lid' => '154', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Help', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'menu_name' => 'menu-fixedlang', - 'title' => 'FixedLang', - 'description' => '', - 'language' => 'is', - 'i18n_mode' => '2', + 'lid' => '155', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Add the help text of the current page as content.', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'menu_name' => 'menu-test-menu', - 'title' => 'Test Menu', - 'description' => 'Test menu description.', - 'language' => 'und', - 'i18n_mode' => '5', + 'lid' => '156', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Page elements', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'menu_name' => 'navigation', - 'title' => 'Navigation', - 'description' => 'The Navigation menu contains links intended for site visitors. Links are added to the Navigation menu automatically by some modules.', - 'language' => 'und', - 'i18n_mode' => '0', + 'lid' => '157', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Secondary navigation links', + 'context' => '', + 'version' => '7.92', )) ->values(array( - 'menu_name' => 'user-menu', - 'title' => 'User menu', - 'description' => "The User menu contains links related to the user's account, as well as the 'Log out' link.", - 'language' => 'und', - 'i18n_mode' => '0', + 'lid' => '158', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Add the secondary_links (local tasks) as content.', + 'context' => '', + 'version' => '7.92', )) -->execute(); -$connection->schema()->createTable('menu_links', array( - 'fields' => array( - 'menu_name' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '32', - 'default' => '', - ), - 'mlid' => array( - 'type' => 'serial', - 'not null' => TRUE, - 'size' => 'normal', - 'unsigned' => TRUE, - ), - 'plid' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - 'unsigned' => TRUE, - ), - 'link_path' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '255', - 'default' => '', - ), - 'router_path' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '255', - 'default' => '', - ), - 'link_title' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '255', - 'default' => '', - ), - 'options' => array( - 'type' => 'blob', - 'not null' => FALSE, - 'size' => 'normal', - ), - 'module' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '255', - 'default' => 'system', - ), - 'hidden' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - ), - 'external' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - ), - 'has_children' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - ), - 'expanded' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - ), - 'weight' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - ), - 'depth' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - ), - 'customized' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - ), - 'p1' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - 'unsigned' => TRUE, - ), - 'p2' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - 'unsigned' => TRUE, - ), - 'p3' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - 'unsigned' => TRUE, - ), - 'p4' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - 'unsigned' => TRUE, - ), - 'p5' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - 'unsigned' => TRUE, - ), - 'p6' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - 'unsigned' => TRUE, - ), - 'p7' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - 'unsigned' => TRUE, - ), - 'p8' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - 'unsigned' => TRUE, - ), - 'p9' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - 'unsigned' => TRUE, - ), - 'updated' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - ), - 'language' => array( - 'type' => 'varchar', - 'not null' => TRUE, - 'length' => '12', - 'default' => 'und', - ), - 'i18n_tsid' => array( - 'type' => 'int', - 'not null' => TRUE, - 'size' => 'normal', - 'default' => '0', - 'unsigned' => TRUE, - ), - ), - 'primary key' => array( - 'mlid', - ), - 'mysql_character_set' => 'utf8', -)); - -$connection->insert('menu_links') -->fields(array( - 'menu_name', - 'mlid', - 'plid', - 'link_path', - 'router_path', - 'link_title', - 'options', - 'module', - 'hidden', - 'external', - 'has_children', - 'expanded', - 'weight', - 'depth', - 'customized', - 'p1', - 'p2', - 'p3', - 'p4', - 'p5', - 'p6', - 'p7', - 'p8', - 'p9', - 'updated', - 'language', - 'i18n_tsid', +->values(array( + 'lid' => '159', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Site name', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '160', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The name of the site, optionally links to the front page.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '161', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Actions', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '162', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Add the action links (local tasks) as content.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '163', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Page title', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '164', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Add the page title as content.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '165', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Site logo', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '166', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Add the logo trail as content.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '167', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Feed icons', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '168', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Add the site feed_icons statement as content.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '169', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Site slogan', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '170', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => "Add the site's slogan as content.", + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '171', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Status messages', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '172', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Add the status messages of the current page as content.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '173', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Breadcrumb', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '174', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Add the breadcrumb trail as content.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '175', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Primary navigation links', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '176', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Add the primary_links (local tasks) as content.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '177', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Tabs', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '178', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Add the tabs (local tasks) as content.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '179', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'User contact form', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '180', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The site contact form that allows users to contact other users.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '181', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Contact form', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '182', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The site contact form that allows users to send a message to site administrators.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '183', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Vocabulary terms', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '184', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'All the terms in a vocabulary.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '185', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Vocabulary', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '186', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Block', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '187', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node form url path settings', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '188', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Publishing options on the Node form.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '189', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Form', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '190', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node form submit buttons', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '191', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Submit buttons for the node form.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '192', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node form comment settings', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '193', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Comment settings on the Node form.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '194', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node form languages', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '195', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The language selection form.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '196', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node form book options', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '197', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Book options for the node.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '198', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node form title field', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '199', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The node title form.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '200', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node form menu settings', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '201', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Menu settings on the Node form.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '202', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node form revision log message', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '203', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Revision log message for the node.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '204', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node form publishing options', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '205', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node form author information', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '206', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Author information on the Node form.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '207', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Entity extra field', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '208', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Entity field', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '209', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Custom content', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '210', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'General form', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '211', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Everything in the form that is not displayed by other content.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '212', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Book navigation', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '213', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The navigation menu the book the node belongs to.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '214', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node links', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '215', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node links of the referenced node.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '216', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Comment form', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '217', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'A form to add a new comment.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '218', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node last updated date', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '219', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The date the referenced node was last updated.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '220', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node terms', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '221', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Taxonomy terms of the referenced node.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '222', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Book children', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '223', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The children menu the book the node belongs to.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '224', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node comments', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '225', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The comments of the referenced node.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '226', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Attached files', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '227', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'A list of files attached to the node.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '228', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Comments and comment form.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '229', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The comments and comment form for the referenced node.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '230', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node content', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '231', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The content of the referenced node.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '232', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node type description', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '233', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node type description.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '234', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node title', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '235', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The title of the referenced node.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '236', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node body', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '237', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The body of the referenced node.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '238', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node author', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '239', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The author of the referenced node.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '240', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Node created date', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '241', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The date the referenced node was created.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '242', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Existing node', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '243', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Add a node from your site as content.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '244', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Custom', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '245', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'User signature', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '246', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The signature of a user.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '247', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'User links', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '248', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'User links of the referenced user.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '249', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'User profile', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '250', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The profile of a user.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '251', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'User picture', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '252', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The picture of a user.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '253', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Comment Reply Form', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '254', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'A form to add a new comment reply.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '255', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Comment links', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '256', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Comment links of the referenced comment.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '257', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Comment created date', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '258', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The date the referenced comment was created.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '259', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Term name', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '260', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'The name of this taxonomy term.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '261', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Term', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '262', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'List of related terms', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '263', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Terms related to an existing term; may be child, siblings or top level.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '264', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Term description', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '265', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Term description.', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '266', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Rendered entity', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '267', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Status message', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '268', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Error message', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '269', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Warning message', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '270', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Skip to main content', + 'context' => '', + 'version' => '7.92', +)) +->values(array( + 'lid' => '271', + 'location' => '/is/firefly-is', + 'textgroup' => 'default', + 'source' => 'Home', + 'context' => '', + 'version' => '7.92', +)) +->execute(); +$connection->schema()->createTable('locales_target', array( + 'fields' => array( + 'lid' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + ), + 'translation' => array( + 'type' => 'blob', + 'not null' => TRUE, + 'size' => 'normal', + ), + 'language' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '12', + 'default' => '', + ), + 'plid' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + ), + 'plural' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + ), + 'i18n_status' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + ), + ), + 'primary key' => array( + 'lid', + 'language', + 'plural', + ), + 'mysql_character_set' => 'utf8', +)); + +$connection->insert('locales_target') +->fields(array( + 'lid', + 'translation', + 'language', + 'plid', + 'plural', + 'i18n_status', +)) +->values(array( + 'lid' => '57', + 'translation' => 'fr - Mildly amusing limerick of the day', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '57', + 'translation' => 'is - Mildly amusing limerick of the day', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '60', + 'translation' => "fr - A fellow jumped off a high wall\r\nAnd had a most terrible fall\r\nHe went back to bed\r\nWith a bump on his head\r\nThat's why you don't jump off a wall", + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '76', + 'translation' => 'fr - User login title', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '77', + 'translation' => 'fr - DS9 (localized)', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '78', + 'translation' => 'fr - Terok Nor (localized)', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '79', + 'translation' => 'Jupiter Station', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '80', + 'translation' => 'is - Holographic research. (localized)', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '87', + 'translation' => 'fr - VocabFixed', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '89', + 'translation' => 'fr - VocabLocalized', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '89', + 'translation' => 'is - VocabLocalized', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '90', + 'translation' => 'fr - Vocabulary localize option', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '90', + 'translation' => 'is - Vocabulary localize option', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '91', + 'translation' => 'is - VocabTranslate', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '92', + 'translation' => 'is - Vocabulary translate option', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '95', + 'translation' => 'is - Some helpful text.', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '96', + 'translation' => 'is - Email', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '97', + 'translation' => 'fr - The email help text.', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '97', + 'translation' => 'is - The email help text.', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '113', + 'translation' => 'fr - Link', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '1', +)) +->values(array( + 'lid' => '128', + 'translation' => 'is - Term Reference', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '163', + 'translation' => 'fr - User login title', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '678', + 'translation' => 'fr - Body', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '1', +)) +->values(array( + 'lid' => '684', + 'translation' => 'fr - Image', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '1', +)) +->values(array( + 'lid' => '687', + 'translation' => 'is - Off', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '688', + 'translation' => 'is - 1', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '758', + 'translation' => 'is field - vocab_localize', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '761', + 'translation' => 'Verte', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '761', + 'translation' => 'Grænn', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '762', + 'translation' => 'Noire', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '762', + 'translation' => 'Svartur', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '763', + 'translation' => 'Blanche', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '763', + 'translation' => 'Hvítur', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '764', + 'translation' => 'Color', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '764', + 'translation' => 'Color', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '765', + 'translation' => 'Haute', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '765', + 'translation' => 'Hár', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '766', + 'translation' => 'Moyenne', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '766', + 'translation' => 'Miðlungs', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '767', + 'translation' => 'Faible', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '767', + 'translation' => 'Lágt', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '768', + 'translation' => 'Rating', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '768', + 'translation' => 'Rating', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '797', + 'translation' => 'fr - Emissary', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '798', + 'translation' => 'fr - Pilot episode', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '800', + 'translation' => 'fr - Main menu', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '800', + 'translation' => 'is - Main menu', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '801', + 'translation' => 'fr - Main menu description', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '801', + 'translation' => 'is - Main menu description', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '802', + 'translation' => 'fr - Test menu description', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '803', + 'translation' => 'fr - Google', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '804', + 'translation' => 'fr - Google description', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '805', + 'translation' => 'fr - Stop', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '805', + 'translation' => 'is - Stop', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '806', + 'translation' => 'Go', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '806', + 'translation' => 'is - Go', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->execute(); +$connection->schema()->createTable('menu_custom', array( + 'fields' => array( + 'menu_name' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '32', + 'default' => '', + ), + 'title' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '255', + 'default' => '', + ), + 'description' => array( + 'type' => 'text', + 'not null' => FALSE, + 'size' => 'normal', + ), + 'language' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '12', + 'default' => 'und', + ), + 'i18n_mode' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + 'unsigned' => TRUE, + ), + ), + 'primary key' => array( + 'menu_name', + ), + 'mysql_character_set' => 'utf8', +)); + +$connection->insert('menu_custom') +->fields(array( + 'menu_name', + 'title', + 'description', + 'language', + 'i18n_mode', +)) +->values(array( + 'menu_name' => 'main-menu', + 'title' => 'Main menu', + 'description' => 'The Main menu is used on many sites to show the major sections of the site, often in a top navigation bar.', + 'language' => 'und', + 'i18n_mode' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'title' => 'Management', + 'description' => 'The Management menu contains links for administrative tasks.', + 'language' => 'und', + 'i18n_mode' => '0', +)) +->values(array( + 'menu_name' => 'menu-fixedlang', + 'title' => 'FixedLang', + 'description' => '', + 'language' => 'is', + 'i18n_mode' => '2', +)) +->values(array( + 'menu_name' => 'menu-test-menu', + 'title' => 'Test Menu', + 'description' => 'Test menu description.', + 'language' => 'und', + 'i18n_mode' => '5', +)) +->values(array( + 'menu_name' => 'navigation', + 'title' => 'Navigation', + 'description' => 'The Navigation menu contains links intended for site visitors. Links are added to the Navigation menu automatically by some modules.', + 'language' => 'und', + 'i18n_mode' => '0', +)) +->values(array( + 'menu_name' => 'user-menu', + 'title' => 'User menu', + 'description' => "The User menu contains links related to the user's account, as well as the 'Log out' link.", + 'language' => 'und', + 'i18n_mode' => '0', +)) +->execute(); +$connection->schema()->createTable('menu_links', array( + 'fields' => array( + 'menu_name' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '32', + 'default' => '', + ), + 'mlid' => array( + 'type' => 'serial', + 'not null' => TRUE, + 'size' => 'normal', + 'unsigned' => TRUE, + ), + 'plid' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + 'unsigned' => TRUE, + ), + 'link_path' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '255', + 'default' => '', + ), + 'router_path' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '255', + 'default' => '', + ), + 'link_title' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '255', + 'default' => '', + ), + 'options' => array( + 'type' => 'blob', + 'not null' => FALSE, + 'size' => 'normal', + ), + 'module' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '255', + 'default' => 'system', + ), + 'hidden' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + ), + 'external' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + ), + 'has_children' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + ), + 'expanded' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + ), + 'weight' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + ), + 'depth' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + ), + 'customized' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + ), + 'p1' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + 'unsigned' => TRUE, + ), + 'p2' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + 'unsigned' => TRUE, + ), + 'p3' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + 'unsigned' => TRUE, + ), + 'p4' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + 'unsigned' => TRUE, + ), + 'p5' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + 'unsigned' => TRUE, + ), + 'p6' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + 'unsigned' => TRUE, + ), + 'p7' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + 'unsigned' => TRUE, + ), + 'p8' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + 'unsigned' => TRUE, + ), + 'p9' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + 'unsigned' => TRUE, + ), + 'updated' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + ), + 'language' => array( + 'type' => 'varchar', + 'not null' => TRUE, + 'length' => '12', + 'default' => 'und', + ), + 'i18n_tsid' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + 'unsigned' => TRUE, + ), + ), + 'primary key' => array( + 'mlid', + ), + 'mysql_character_set' => 'utf8', +)); + +$connection->insert('menu_links') +->fields(array( + 'menu_name', + 'mlid', + 'plid', + 'link_path', + 'router_path', + 'link_title', + 'options', + 'module', + 'hidden', + 'external', + 'has_children', + 'expanded', + 'weight', + 'depth', + 'customized', + 'p1', + 'p2', + 'p3', + 'p4', + 'p5', + 'p6', + 'p7', + 'p8', + 'p9', + 'updated', + 'language', + 'i18n_tsid', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '1', + 'plid' => '0', + 'link_path' => 'admin', + 'router_path' => 'admin', + 'link_title' => 'Administration', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '1', + 'expanded' => '0', + 'weight' => '9', + 'depth' => '1', + 'customized' => '0', + 'p1' => '1', + 'p2' => '0', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'user-menu', + 'mlid' => '2', + 'plid' => '0', + 'link_path' => 'user', + 'router_path' => 'user', + 'link_title' => 'User account', + 'options' => 'a:1:{s:5:"alter";b:1;}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '-10', + 'depth' => '1', + 'customized' => '0', + 'p1' => '2', + 'p2' => '0', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'navigation', + 'mlid' => '3', + 'plid' => '0', + 'link_path' => 'comment/%', + 'router_path' => 'comment/%', + 'link_title' => 'Comment permalink', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '1', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '1', + 'customized' => '0', + 'p1' => '3', + 'p2' => '0', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'navigation', + 'mlid' => '4', + 'plid' => '0', + 'link_path' => 'filter/tips', + 'router_path' => 'filter/tips', + 'link_title' => 'Compose tips', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '1', + 'external' => '0', + 'has_children' => '1', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '1', + 'customized' => '0', + 'p1' => '4', + 'p2' => '0', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'navigation', + 'mlid' => '5', + 'plid' => '0', + 'link_path' => 'node/%', + 'router_path' => 'node/%', + 'link_title' => '', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '1', + 'customized' => '0', + 'p1' => '5', + 'p2' => '0', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'navigation', + 'mlid' => '6', + 'plid' => '0', + 'link_path' => 'node/add', + 'router_path' => 'node/add', + 'link_title' => 'Add content', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '1', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '1', + 'customized' => '0', + 'p1' => '6', + 'p2' => '0', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '7', + 'plid' => '1', + 'link_path' => 'admin/appearance', + 'router_path' => 'admin/appearance', + 'link_title' => 'Appearance', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:33:"Select and configure your themes.";}}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '-6', + 'depth' => '2', + 'customized' => '0', + 'p1' => '1', + 'p2' => '7', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '8', + 'plid' => '1', + 'link_path' => 'admin/config', + 'router_path' => 'admin/config', + 'link_title' => 'Configuration', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:20:"Administer settings.";}}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '1', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '2', + 'customized' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '9', + 'plid' => '1', + 'link_path' => 'admin/content', + 'router_path' => 'admin/content', + 'link_title' => 'Content', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:32:"Administer content and comments.";}}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '1', + 'expanded' => '0', + 'weight' => '-10', + 'depth' => '2', + 'customized' => '0', + 'p1' => '1', + 'p2' => '9', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'user-menu', + 'mlid' => '10', + 'plid' => '2', + 'link_path' => 'user/register', + 'router_path' => 'user/register', + 'link_title' => 'Create new account', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '2', + 'customized' => '0', + 'p1' => '2', + 'p2' => '10', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '12', + 'plid' => '1', + 'link_path' => 'admin/index', + 'router_path' => 'admin/index', + 'link_title' => 'Index', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '-18', + 'depth' => '2', + 'customized' => '0', + 'p1' => '1', + 'p2' => '12', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'user-menu', + 'mlid' => '13', + 'plid' => '2', + 'link_path' => 'user/login', + 'router_path' => 'user/login', + 'link_title' => 'Log in', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '2', + 'customized' => '0', + 'p1' => '2', + 'p2' => '13', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'user-menu', + 'mlid' => '14', + 'plid' => '0', + 'link_path' => 'user/logout', + 'router_path' => 'user/logout', + 'link_title' => 'Log out', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '10', + 'depth' => '1', + 'customized' => '0', + 'p1' => '14', + 'p2' => '0', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '15', + 'plid' => '1', + 'link_path' => 'admin/modules', + 'router_path' => 'admin/modules', + 'link_title' => 'Modules', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:26:"Extend site functionality.";}}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '-2', + 'depth' => '2', + 'customized' => '0', + 'p1' => '1', + 'p2' => '15', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'navigation', + 'mlid' => '16', + 'plid' => '0', + 'link_path' => 'user/%', + 'router_path' => 'user/%', + 'link_title' => 'My account', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '1', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '1', + 'customized' => '0', + 'p1' => '16', + 'p2' => '0', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '17', + 'plid' => '1', + 'link_path' => 'admin/people', + 'router_path' => 'admin/people', + 'link_title' => 'People', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:45:"Manage user accounts, roles, and permissions.";}}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '-4', + 'depth' => '2', + 'customized' => '0', + 'p1' => '1', + 'p2' => '17', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '18', + 'plid' => '1', + 'link_path' => 'admin/reports', + 'router_path' => 'admin/reports', + 'link_title' => 'Reports', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:34:"View reports, updates, and errors.";}}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '1', + 'expanded' => '0', + 'weight' => '5', + 'depth' => '2', + 'customized' => '0', + 'p1' => '1', + 'p2' => '18', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'user-menu', + 'mlid' => '19', + 'plid' => '2', + 'link_path' => 'user/password', + 'router_path' => 'user/password', + 'link_title' => 'Request new password', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '2', + 'customized' => '0', + 'p1' => '2', + 'p2' => '19', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '20', + 'plid' => '1', + 'link_path' => 'admin/structure', + 'router_path' => 'admin/structure', + 'link_title' => 'Structure', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:45:"Administer blocks, content types, menus, etc.";}}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '1', + 'expanded' => '0', + 'weight' => '-8', + 'depth' => '2', + 'customized' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '21', + 'plid' => '1', + 'link_path' => 'admin/tasks', + 'router_path' => 'admin/tasks', + 'link_title' => 'Tasks', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '-20', + 'depth' => '2', + 'customized' => '0', + 'p1' => '1', + 'p2' => '21', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'navigation', + 'mlid' => '22', + 'plid' => '0', + 'link_path' => 'comment/reply/%', + 'router_path' => 'comment/reply/%', + 'link_title' => 'Add new comment', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '1', + 'customized' => '0', + 'p1' => '22', + 'p2' => '0', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'navigation', + 'mlid' => '23', + 'plid' => '3', + 'link_path' => 'comment/%/approve', + 'router_path' => 'comment/%/approve', + 'link_title' => 'Approve', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '1', + 'depth' => '2', + 'customized' => '0', + 'p1' => '3', + 'p2' => '23', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'navigation', + 'mlid' => '24', + 'plid' => '3', + 'link_path' => 'comment/%/delete', + 'router_path' => 'comment/%/delete', + 'link_title' => 'Delete', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '2', + 'depth' => '2', + 'customized' => '0', + 'p1' => '3', + 'p2' => '24', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'navigation', + 'mlid' => '25', + 'plid' => '3', + 'link_path' => 'comment/%/edit', + 'router_path' => 'comment/%/edit', + 'link_title' => 'Edit', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '2', + 'customized' => '0', + 'p1' => '3', + 'p2' => '25', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'navigation', + 'mlid' => '26', + 'plid' => '3', + 'link_path' => 'comment/%/view', + 'router_path' => 'comment/%/view', + 'link_title' => 'View comment', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '-10', + 'depth' => '2', + 'customized' => '0', + 'p1' => '3', + 'p2' => '26', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '27', + 'plid' => '17', + 'link_path' => 'admin/people/create', + 'router_path' => 'admin/people/create', + 'link_title' => 'Add user', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '3', + 'customized' => '0', + 'p1' => '1', + 'p2' => '17', + 'p3' => '27', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '28', + 'plid' => '20', + 'link_path' => 'admin/structure/block', + 'router_path' => 'admin/structure/block', + 'link_title' => 'Blocks', + 'options' => "a:1:{s:10:\"attributes\";a:1:{s:5:\"title\";s:79:\"Configure what block content appears in your site's sidebars and other regions.\";}}", + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '1', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '3', + 'customized' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '28', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'navigation', + 'mlid' => '29', + 'plid' => '16', + 'link_path' => 'user/%/cancel', + 'router_path' => 'user/%/cancel', + 'link_title' => 'Cancel account', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '1', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '2', + 'customized' => '0', + 'p1' => '16', + 'p2' => '29', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '30', + 'plid' => '9', + 'link_path' => 'admin/content/comment', + 'router_path' => 'admin/content/comment', + 'link_title' => 'Comments', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:59:"List and edit site comments and the comment approval queue.";}}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '3', + 'customized' => '0', + 'p1' => '1', + 'p2' => '9', + 'p3' => '30', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '32', + 'plid' => '9', + 'link_path' => 'admin/content/node', + 'router_path' => 'admin/content/node', + 'link_title' => 'Content', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '-10', + 'depth' => '3', + 'customized' => '0', + 'p1' => '1', + 'p2' => '9', + 'p3' => '32', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '33', + 'plid' => '8', + 'link_path' => 'admin/config/content', + 'router_path' => 'admin/config/content', + 'link_title' => 'Content authoring', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:53:"Settings related to formatting and authoring content.";}}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '1', + 'expanded' => '0', + 'weight' => '-15', + 'depth' => '3', + 'customized' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '33', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '34', + 'plid' => '20', + 'link_path' => 'admin/structure/types', + 'router_path' => 'admin/structure/types', + 'link_title' => 'Content types', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:92:"Manage content types, including default status, front page promotion, comment settings, etc.";}}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '1', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '3', + 'customized' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '34', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'navigation', + 'mlid' => '36', + 'plid' => '5', + 'link_path' => 'node/%/delete', + 'router_path' => 'node/%/delete', + 'link_title' => 'Delete', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '1', + 'depth' => '2', + 'customized' => '0', + 'p1' => '5', + 'p2' => '36', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '37', + 'plid' => '8', + 'link_path' => 'admin/config/development', + 'router_path' => 'admin/config/development', + 'link_title' => 'Development', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:18:"Development tools.";}}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '1', + 'expanded' => '0', + 'weight' => '-10', + 'depth' => '3', + 'customized' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '37', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'navigation', + 'mlid' => '38', + 'plid' => '16', + 'link_path' => 'user/%/edit', + 'router_path' => 'user/%/edit', + 'link_title' => 'Edit', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '2', + 'customized' => '0', + 'p1' => '16', + 'p2' => '38', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'navigation', + 'mlid' => '39', + 'plid' => '5', + 'link_path' => 'node/%/edit', + 'router_path' => 'node/%/edit', + 'link_title' => 'Edit', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '2', + 'customized' => '0', + 'p1' => '5', + 'p2' => '39', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '40', + 'plid' => '15', + 'link_path' => 'admin/modules/list', + 'router_path' => 'admin/modules/list', + 'link_title' => 'List', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '3', + 'customized' => '0', + 'p1' => '1', + 'p2' => '15', + 'p3' => '40', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '41', + 'plid' => '17', + 'link_path' => 'admin/people/people', + 'router_path' => 'admin/people/people', + 'link_title' => 'List', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:50:"Find and manage people interacting with your site.";}}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '-10', + 'depth' => '3', + 'customized' => '0', + 'p1' => '1', + 'p2' => '17', + 'p3' => '41', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', )) ->values(array( 'menu_name' => 'management', - 'mlid' => '1', - 'plid' => '0', - 'link_path' => 'admin', - 'router_path' => 'admin', - 'link_title' => 'Administration', - 'options' => 'a:0:{}', + 'mlid' => '42', + 'plid' => '7', + 'link_path' => 'admin/appearance/list', + 'router_path' => 'admin/appearance/list', + 'link_title' => 'List', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:31:"Select and configure your theme";}}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '9', - 'depth' => '1', + 'weight' => '-1', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '0', - 'p3' => '0', + 'p2' => '7', + 'p3' => '42', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -23419,24 +25814,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'user-menu', - 'mlid' => '2', - 'plid' => '0', - 'link_path' => 'user', - 'router_path' => 'user', - 'link_title' => 'User account', - 'options' => 'a:1:{s:5:"alter";b:1;}', + 'menu_name' => 'management', + 'mlid' => '43', + 'plid' => '8', + 'link_path' => 'admin/config/media', + 'router_path' => 'admin/config/media', + 'link_title' => 'Media', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:12:"Media tools.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', 'weight' => '-10', - 'depth' => '1', + 'depth' => '3', 'customized' => '0', - 'p1' => '2', - 'p2' => '0', - 'p3' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '43', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -23448,24 +25843,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '3', - 'plid' => '0', - 'link_path' => 'comment/%', - 'router_path' => 'comment/%', - 'link_title' => 'Comment permalink', - 'options' => 'a:0:{}', + 'menu_name' => 'management', + 'mlid' => '44', + 'plid' => '20', + 'link_path' => 'admin/structure/menu', + 'router_path' => 'admin/structure/menu', + 'link_title' => 'Menus', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:86:"Add new menus to your site, edit existing menus, and rename and reorganize menu links.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '1', 'expanded' => '0', 'weight' => '0', - 'depth' => '1', + 'depth' => '3', 'customized' => '0', - 'p1' => '3', - 'p2' => '0', - 'p3' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '44', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -23477,24 +25872,53 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '4', - 'plid' => '0', - 'link_path' => 'filter/tips', - 'router_path' => 'filter/tips', - 'link_title' => 'Compose tips', - 'options' => 'a:0:{}', + 'menu_name' => 'management', + 'mlid' => '45', + 'plid' => '8', + 'link_path' => 'admin/config/people', + 'router_path' => 'admin/config/people', + 'link_title' => 'People', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:24:"Configure user accounts.";}}', 'module' => 'system', - 'hidden' => '1', + 'hidden' => '0', 'external' => '0', 'has_children' => '1', 'expanded' => '0', + 'weight' => '-20', + 'depth' => '3', + 'customized' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '45', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '46', + 'plid' => '17', + 'link_path' => 'admin/people/permissions', + 'router_path' => 'admin/people/permissions', + 'link_title' => 'Permissions', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:64:"Determine access to features by selecting permissions for roles.";}}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', 'weight' => '0', - 'depth' => '1', + 'depth' => '3', 'customized' => '0', - 'p1' => '4', - 'p2' => '0', - 'p3' => '0', + 'p1' => '1', + 'p2' => '17', + 'p3' => '46', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -23506,24 +25930,53 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '5', - 'plid' => '0', - 'link_path' => 'node/%', - 'router_path' => 'node/%', - 'link_title' => '', - 'options' => 'a:0:{}', + 'menu_name' => 'management', + 'mlid' => '47', + 'plid' => '18', + 'link_path' => 'admin/reports/dblog', + 'router_path' => 'admin/reports/dblog', + 'link_title' => 'Recent log messages', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:43:"View events that have recently been logged.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '1', + 'weight' => '-1', + 'depth' => '3', 'customized' => '0', - 'p1' => '5', - 'p2' => '0', - 'p3' => '0', + 'p1' => '1', + 'p2' => '18', + 'p3' => '47', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '48', + 'plid' => '8', + 'link_path' => 'admin/config/regional', + 'router_path' => 'admin/config/regional', + 'link_title' => 'Regional and language', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:48:"Regional settings, localization and translation.";}}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '1', + 'expanded' => '0', + 'weight' => '-5', + 'depth' => '3', + 'customized' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '48', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -23536,22 +25989,22 @@ )) ->values(array( 'menu_name' => 'navigation', - 'mlid' => '6', - 'plid' => '0', - 'link_path' => 'node/add', - 'router_path' => 'node/add', - 'link_title' => 'Add content', + 'mlid' => '49', + 'plid' => '5', + 'link_path' => 'node/%/revisions', + 'router_path' => 'node/%/revisions', + 'link_title' => 'Revisions', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '1', 'expanded' => '0', - 'weight' => '0', - 'depth' => '1', + 'weight' => '2', + 'depth' => '2', 'customized' => '0', - 'p1' => '6', - 'p2' => '0', + 'p1' => '5', + 'p2' => '49', 'p3' => '0', 'p4' => '0', 'p5' => '0', @@ -23565,23 +26018,52 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '7', - 'plid' => '1', - 'link_path' => 'admin/appearance', - 'router_path' => 'admin/appearance', - 'link_title' => 'Appearance', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:33:"Select and configure your themes.";}}', + 'mlid' => '50', + 'plid' => '8', + 'link_path' => 'admin/config/search', + 'router_path' => 'admin/config/search', + 'link_title' => 'Search and metadata', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:36:"Local site search, metadata and SEO.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', + 'has_children' => '1', + 'expanded' => '0', + 'weight' => '-10', + 'depth' => '3', + 'customized' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '50', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '51', + 'plid' => '7', + 'link_path' => 'admin/appearance/settings', + 'router_path' => 'admin/appearance/settings', + 'link_title' => 'Settings', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:46:"Configure default and theme specific settings.";}}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-6', - 'depth' => '2', + 'weight' => '20', + 'depth' => '3', 'customized' => '0', 'p1' => '1', 'p2' => '7', - 'p3' => '0', + 'p3' => '51', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -23594,23 +26076,52 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '8', - 'plid' => '1', - 'link_path' => 'admin/config', - 'router_path' => 'admin/config', - 'link_title' => 'Configuration', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:20:"Administer settings.";}}', + 'mlid' => '52', + 'plid' => '18', + 'link_path' => 'admin/reports/status', + 'router_path' => 'admin/reports/status', + 'link_title' => 'Status report', + 'options' => "a:1:{s:10:\"attributes\";a:1:{s:5:\"title\";s:74:\"Get a status report about your site's operation and any detected problems.\";}}", + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '-60', + 'depth' => '3', + 'customized' => '0', + 'p1' => '1', + 'p2' => '18', + 'p3' => '52', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '53', + 'plid' => '8', + 'link_path' => 'admin/config/system', + 'router_path' => 'admin/config/system', + 'link_title' => 'System', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:37:"General system related configuration.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '1', 'expanded' => '0', - 'weight' => '0', - 'depth' => '2', + 'weight' => '-20', + 'depth' => '3', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '0', + 'p3' => '53', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -23623,22 +26134,138 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '9', - 'plid' => '1', - 'link_path' => 'admin/content', - 'router_path' => 'admin/content', - 'link_title' => 'Content', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:32:"Administer content and comments.";}}', + 'mlid' => '54', + 'plid' => '18', + 'link_path' => 'admin/reports/access-denied', + 'router_path' => 'admin/reports/access-denied', + 'link_title' => "Top 'access denied' errors", + 'options' => "a:1:{s:10:\"attributes\";a:1:{s:5:\"title\";s:35:\"View 'access denied' errors (403s).\";}}", + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '3', + 'customized' => '0', + 'p1' => '1', + 'p2' => '18', + 'p3' => '54', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '55', + 'plid' => '18', + 'link_path' => 'admin/reports/page-not-found', + 'router_path' => 'admin/reports/page-not-found', + 'link_title' => "Top 'page not found' errors", + 'options' => "a:1:{s:10:\"attributes\";a:1:{s:5:\"title\";s:36:\"View 'page not found' errors (404s).\";}}", + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '3', + 'customized' => '0', + 'p1' => '1', + 'p2' => '18', + 'p3' => '55', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '56', + 'plid' => '15', + 'link_path' => 'admin/modules/uninstall', + 'router_path' => 'admin/modules/uninstall', + 'link_title' => 'Uninstall', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '20', + 'depth' => '3', + 'customized' => '0', + 'p1' => '1', + 'p2' => '15', + 'p3' => '56', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '57', + 'plid' => '8', + 'link_path' => 'admin/config/user-interface', + 'router_path' => 'admin/config/user-interface', + 'link_title' => 'User interface', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:38:"Tools that enhance the user interface.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '1', 'expanded' => '0', + 'weight' => '-15', + 'depth' => '3', + 'customized' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '57', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'navigation', + 'mlid' => '58', + 'plid' => '5', + 'link_path' => 'node/%/view', + 'router_path' => 'node/%/view', + 'link_title' => 'View', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', 'weight' => '-10', 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '9', + 'p1' => '5', + 'p2' => '58', 'p3' => '0', 'p4' => '0', 'p5' => '0', @@ -23651,23 +26278,23 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'user-menu', - 'mlid' => '10', - 'plid' => '2', - 'link_path' => 'user/register', - 'router_path' => 'user/register', - 'link_title' => 'Create new account', + 'menu_name' => 'navigation', + 'mlid' => '59', + 'plid' => '16', + 'link_path' => 'user/%/view', + 'router_path' => 'user/%/view', + 'link_title' => 'View', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', + 'weight' => '-10', 'depth' => '2', 'customized' => '0', - 'p1' => '2', - 'p2' => '10', + 'p1' => '16', + 'p2' => '59', 'p3' => '0', 'p4' => '0', 'p5' => '0', @@ -23681,24 +26308,82 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '12', - 'plid' => '1', - 'link_path' => 'admin/index', - 'router_path' => 'admin/index', - 'link_title' => 'Index', - 'options' => 'a:0:{}', + 'mlid' => '60', + 'plid' => '8', + 'link_path' => 'admin/config/services', + 'router_path' => 'admin/config/services', + 'link_title' => 'Web services', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:30:"Tools related to web services.";}}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '1', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '3', + 'customized' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '60', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '61', + 'plid' => '8', + 'link_path' => 'admin/config/workflow', + 'router_path' => 'admin/config/workflow', + 'link_title' => 'Workflow', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:43:"Content workflow, editorial workflow tools.";}}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '5', + 'depth' => '3', + 'customized' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '61', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '66', + 'plid' => '45', + 'link_path' => 'admin/config/people/accounts', + 'router_path' => 'admin/config/people/accounts', + 'link_title' => 'Account settings', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:109:"Configure default behavior of users, including registration requirements, e-mails, fields, and user pictures.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-18', - 'depth' => '2', + 'weight' => '-10', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '12', - 'p3' => '0', - 'p4' => '0', + 'p2' => '8', + 'p3' => '45', + 'p4' => '66', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -23709,25 +26394,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'user-menu', - 'mlid' => '13', - 'plid' => '2', - 'link_path' => 'user/login', - 'router_path' => 'user/login', - 'link_title' => 'Log in', - 'options' => 'a:0:{}', + 'menu_name' => 'management', + 'mlid' => '67', + 'plid' => '53', + 'link_path' => 'admin/config/system/actions', + 'router_path' => 'admin/config/system/actions', + 'link_title' => 'Actions', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:41:"Manage the actions defined for your site.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', 'weight' => '0', - 'depth' => '2', + 'depth' => '4', 'customized' => '0', - 'p1' => '2', - 'p2' => '13', - 'p3' => '0', - 'p4' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '53', + 'p4' => '67', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -23738,25 +26423,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'user-menu', - 'mlid' => '14', - 'plid' => '0', - 'link_path' => 'user/logout', - 'router_path' => 'user/logout', - 'link_title' => 'Log out', + 'menu_name' => 'management', + 'mlid' => '68', + 'plid' => '28', + 'link_path' => 'admin/structure/block/add', + 'router_path' => 'admin/structure/block/add', + 'link_title' => 'Add block', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '10', - 'depth' => '1', + 'weight' => '0', + 'depth' => '4', 'customized' => '0', - 'p1' => '14', - 'p2' => '0', - 'p3' => '0', - 'p4' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '28', + 'p4' => '68', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -23768,24 +26453,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '15', - 'plid' => '1', - 'link_path' => 'admin/modules', - 'router_path' => 'admin/modules', - 'link_title' => 'Modules', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:26:"Extend site functionality.";}}', + 'mlid' => '69', + 'plid' => '34', + 'link_path' => 'admin/structure/types/add', + 'router_path' => 'admin/structure/types/add', + 'link_title' => 'Add content type', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-2', - 'depth' => '2', + 'weight' => '0', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '15', - 'p3' => '0', - 'p4' => '0', + 'p2' => '20', + 'p3' => '34', + 'p4' => '69', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -23796,25 +26481,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '16', - 'plid' => '0', - 'link_path' => 'user/%', - 'router_path' => 'user/%', - 'link_title' => 'My account', + 'menu_name' => 'management', + 'mlid' => '70', + 'plid' => '44', + 'link_path' => 'admin/structure/menu/add', + 'router_path' => 'admin/structure/menu/add', + 'link_title' => 'Add menu', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '1', + 'depth' => '4', 'customized' => '0', - 'p1' => '16', - 'p2' => '0', - 'p3' => '0', - 'p4' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '44', + 'p4' => '70', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -23826,24 +26511,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '17', - 'plid' => '1', - 'link_path' => 'admin/people', - 'router_path' => 'admin/people', - 'link_title' => 'People', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:45:"Manage user accounts, roles, and permissions.";}}', + 'mlid' => '71', + 'plid' => '51', + 'link_path' => 'admin/appearance/settings/bartik', + 'router_path' => 'admin/appearance/settings/bartik', + 'link_title' => 'Bartik', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-4', - 'depth' => '2', + 'weight' => '0', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '17', - 'p3' => '0', - 'p4' => '0', + 'p2' => '7', + 'p3' => '51', + 'p4' => '71', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -23855,24 +26540,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '18', - 'plid' => '1', - 'link_path' => 'admin/reports', - 'router_path' => 'admin/reports', - 'link_title' => 'Reports', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:34:"View reports, updates, and errors.";}}', + 'mlid' => '72', + 'plid' => '50', + 'link_path' => 'admin/config/search/clean-urls', + 'router_path' => 'admin/config/search/clean-urls', + 'link_title' => 'Clean URLs', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:43:"Enable or disable clean URLs for your site.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', 'weight' => '5', - 'depth' => '2', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '18', - 'p3' => '0', - 'p4' => '0', + 'p2' => '8', + 'p3' => '50', + 'p4' => '72', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -23883,25 +26568,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'user-menu', - 'mlid' => '19', - 'plid' => '2', - 'link_path' => 'user/password', - 'router_path' => 'user/password', - 'link_title' => 'Request new password', - 'options' => 'a:0:{}', + 'menu_name' => 'management', + 'mlid' => '73', + 'plid' => '53', + 'link_path' => 'admin/config/system/cron', + 'router_path' => 'admin/config/system/cron', + 'link_title' => 'Cron', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:40:"Manage automatic site maintenance tasks.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '2', + 'weight' => '20', + 'depth' => '4', 'customized' => '0', - 'p1' => '2', - 'p2' => '19', - 'p3' => '0', - 'p4' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '53', + 'p4' => '73', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -23913,24 +26598,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '20', - 'plid' => '1', - 'link_path' => 'admin/structure', - 'router_path' => 'admin/structure', - 'link_title' => 'Structure', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:45:"Administer blocks, content types, menus, etc.";}}', + 'mlid' => '74', + 'plid' => '48', + 'link_path' => 'admin/config/regional/date-time', + 'router_path' => 'admin/config/regional/date-time', + 'link_title' => 'Date and time', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:44:"Configure display formats for date and time.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '-8', - 'depth' => '2', + 'weight' => '-15', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '0', - 'p4' => '0', + 'p2' => '8', + 'p3' => '48', + 'p4' => '74', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -23942,23 +26627,23 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '21', - 'plid' => '1', - 'link_path' => 'admin/tasks', - 'router_path' => 'admin/tasks', - 'link_title' => 'Tasks', + 'mlid' => '75', + 'plid' => '18', + 'link_path' => 'admin/reports/event/%', + 'router_path' => 'admin/reports/event/%', + 'link_title' => 'Details', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-20', - 'depth' => '2', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '21', - 'p3' => '0', + 'p2' => '18', + 'p3' => '75', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -23970,25 +26655,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '22', - 'plid' => '0', - 'link_path' => 'comment/reply/%', - 'router_path' => 'comment/reply/%', - 'link_title' => 'Add new comment', - 'options' => 'a:0:{}', + 'menu_name' => 'management', + 'mlid' => '76', + 'plid' => '43', + 'link_path' => 'admin/config/media/file-system', + 'router_path' => 'admin/config/media/file-system', + 'link_title' => 'File system', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:68:"Tell Drupal where to store uploaded files and how they are accessed.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '1', + 'weight' => '-10', + 'depth' => '4', 'customized' => '0', - 'p1' => '22', - 'p2' => '0', - 'p3' => '0', - 'p4' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '43', + 'p4' => '76', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -23999,25 +26684,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '23', - 'plid' => '3', - 'link_path' => 'comment/%/approve', - 'router_path' => 'comment/%/approve', - 'link_title' => 'Approve', + 'menu_name' => 'management', + 'mlid' => '78', + 'plid' => '51', + 'link_path' => 'admin/appearance/settings/garland', + 'router_path' => 'admin/appearance/settings/garland', + 'link_title' => 'Garland', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '1', - 'depth' => '2', + 'weight' => '0', + 'depth' => '4', 'customized' => '0', - 'p1' => '3', - 'p2' => '23', - 'p3' => '0', - 'p4' => '0', + 'p1' => '1', + 'p2' => '7', + 'p3' => '51', + 'p4' => '78', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24028,25 +26713,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '24', - 'plid' => '3', - 'link_path' => 'comment/%/delete', - 'router_path' => 'comment/%/delete', - 'link_title' => 'Delete', + 'menu_name' => 'management', + 'mlid' => '79', + 'plid' => '51', + 'link_path' => 'admin/appearance/settings/global', + 'router_path' => 'admin/appearance/settings/global', + 'link_title' => 'Global settings', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '2', - 'depth' => '2', + 'weight' => '-1', + 'depth' => '4', 'customized' => '0', - 'p1' => '3', - 'p2' => '24', - 'p3' => '0', - 'p4' => '0', + 'p1' => '1', + 'p2' => '7', + 'p3' => '51', + 'p4' => '79', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24057,25 +26742,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '25', - 'plid' => '3', - 'link_path' => 'comment/%/edit', - 'router_path' => 'comment/%/edit', - 'link_title' => 'Edit', - 'options' => 'a:0:{}', + 'menu_name' => 'management', + 'mlid' => '80', + 'plid' => '45', + 'link_path' => 'admin/config/people/ip-blocking', + 'router_path' => 'admin/config/people/ip-blocking', + 'link_title' => 'IP address blocking', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:28:"Manage blocked IP addresses.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '0', - 'depth' => '2', + 'weight' => '10', + 'depth' => '4', 'customized' => '0', - 'p1' => '3', - 'p2' => '25', - 'p3' => '0', - 'p4' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '45', + 'p4' => '80', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24086,25 +26771,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '26', - 'plid' => '3', - 'link_path' => 'comment/%/view', - 'router_path' => 'comment/%/view', - 'link_title' => 'View comment', - 'options' => 'a:0:{}', + 'menu_name' => 'management', + 'mlid' => '81', + 'plid' => '43', + 'link_path' => 'admin/config/media/image-toolkit', + 'router_path' => 'admin/config/media/image-toolkit', + 'link_title' => 'Image toolkit', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:74:"Choose which image toolkit to use if you have installed optional toolkits.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '2', + 'weight' => '20', + 'depth' => '4', 'customized' => '0', - 'p1' => '3', - 'p2' => '26', - 'p3' => '0', - 'p4' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '43', + 'p4' => '81', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24116,11 +26801,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '27', - 'plid' => '17', - 'link_path' => 'admin/people/create', - 'router_path' => 'admin/people/create', - 'link_title' => 'Add user', + 'mlid' => '82', + 'plid' => '40', + 'link_path' => 'admin/modules/list/confirm', + 'router_path' => 'admin/modules/list/confirm', + 'link_title' => 'List', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -24128,12 +26813,12 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '17', - 'p3' => '27', - 'p4' => '0', + 'p2' => '15', + 'p3' => '40', + 'p4' => '82', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24145,24 +26830,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '28', - 'plid' => '20', - 'link_path' => 'admin/structure/block', - 'router_path' => 'admin/structure/block', - 'link_title' => 'Blocks', - 'options' => "a:1:{s:10:\"attributes\";a:1:{s:5:\"title\";s:79:\"Configure what block content appears in your site's sidebars and other regions.\";}}", + 'mlid' => '83', + 'plid' => '34', + 'link_path' => 'admin/structure/types/list', + 'router_path' => 'admin/structure/types/list', + 'link_title' => 'List', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '3', + 'weight' => '-10', + 'depth' => '4', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '28', - 'p4' => '0', + 'p3' => '34', + 'p4' => '83', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24173,25 +26858,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '29', - 'plid' => '16', - 'link_path' => 'user/%/cancel', - 'router_path' => 'user/%/cancel', - 'link_title' => 'Cancel account', + 'menu_name' => 'management', + 'mlid' => '84', + 'plid' => '44', + 'link_path' => 'admin/structure/menu/list', + 'router_path' => 'admin/structure/menu/list', + 'link_title' => 'List menus', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '2', + 'weight' => '-10', + 'depth' => '4', 'customized' => '0', - 'p1' => '16', - 'p2' => '29', - 'p3' => '0', - 'p4' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '44', + 'p4' => '84', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24203,24 +26888,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '30', - 'plid' => '9', - 'link_path' => 'admin/content/comment', - 'router_path' => 'admin/content/comment', - 'link_title' => 'Comments', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:59:"List and edit site comments and the comment approval queue.";}}', + 'mlid' => '85', + 'plid' => '37', + 'link_path' => 'admin/config/development/logging', + 'router_path' => 'admin/config/development/logging', + 'link_title' => 'Logging and errors', + 'options' => "a:1:{s:10:\"attributes\";a:1:{s:5:\"title\";s:154:\"Settings for logging and alerts modules. Various modules can route Drupal's system events to different destinations, such as syslog, database, email, etc.\";}}", 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '3', + 'weight' => '-15', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '9', - 'p3' => '30', - 'p4' => '0', + 'p2' => '8', + 'p3' => '37', + 'p4' => '85', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24232,24 +26917,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '32', - 'plid' => '9', - 'link_path' => 'admin/content/node', - 'router_path' => 'admin/content/node', - 'link_title' => 'Content', - 'options' => 'a:0:{}', + 'mlid' => '86', + 'plid' => '37', + 'link_path' => 'admin/config/development/maintenance', + 'router_path' => 'admin/config/development/maintenance', + 'link_title' => 'Maintenance mode', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:62:"Take the site offline for maintenance or bring it back online.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '-10', - 'depth' => '3', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '9', - 'p3' => '32', - 'p4' => '0', + 'p2' => '8', + 'p3' => '37', + 'p4' => '86', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24261,24 +26946,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '33', - 'plid' => '8', - 'link_path' => 'admin/config/content', - 'router_path' => 'admin/config/content', - 'link_title' => 'Content authoring', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:53:"Settings related to formatting and authoring content.";}}', + 'mlid' => '89', + 'plid' => '37', + 'link_path' => 'admin/config/development/performance', + 'router_path' => 'admin/config/development/performance', + 'link_title' => 'Performance', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:101:"Enable or disable page caching for anonymous users and set CSS and JS bandwidth optimization options.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '-15', - 'depth' => '3', + 'weight' => '-20', + 'depth' => '4', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '33', - 'p4' => '0', + 'p3' => '37', + 'p4' => '89', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24290,24 +26975,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '34', - 'plid' => '20', - 'link_path' => 'admin/structure/types', - 'router_path' => 'admin/structure/types', - 'link_title' => 'Content types', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:92:"Manage content types, including default status, front page promotion, comment settings, etc.";}}', + 'mlid' => '90', + 'plid' => '46', + 'link_path' => 'admin/people/permissions/list', + 'router_path' => 'admin/people/permissions/list', + 'link_title' => 'Permissions', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:64:"Determine access to features by selecting permissions for roles.";}}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '3', + 'weight' => '-8', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '0', + 'p2' => '17', + 'p3' => '46', + 'p4' => '90', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24318,25 +27003,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '36', - 'plid' => '5', - 'link_path' => 'node/%/delete', - 'router_path' => 'node/%/delete', - 'link_title' => 'Delete', + 'menu_name' => 'management', + 'mlid' => '93', + 'plid' => '30', + 'link_path' => 'admin/content/comment/new', + 'router_path' => 'admin/content/comment/new', + 'link_title' => 'Published comments', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '1', - 'depth' => '2', + 'weight' => '-10', + 'depth' => '4', 'customized' => '0', - 'p1' => '5', - 'p2' => '36', - 'p3' => '0', - 'p4' => '0', + 'p1' => '1', + 'p2' => '9', + 'p3' => '30', + 'p4' => '93', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24348,24 +27033,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '37', - 'plid' => '8', - 'link_path' => 'admin/config/development', - 'router_path' => 'admin/config/development', - 'link_title' => 'Development', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:18:"Development tools.";}}', + 'mlid' => '94', + 'plid' => '60', + 'link_path' => 'admin/config/services/rss-publishing', + 'router_path' => 'admin/config/services/rss-publishing', + 'link_title' => 'RSS publishing', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:114:"Configure the site description, the number of items per feed and whether feeds should be titles/teasers/full-text.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '3', + 'weight' => '0', + 'depth' => '4', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '37', - 'p4' => '0', + 'p3' => '60', + 'p4' => '94', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24376,25 +27061,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '38', - 'plid' => '16', - 'link_path' => 'user/%/edit', - 'router_path' => 'user/%/edit', - 'link_title' => 'Edit', - 'options' => 'a:0:{}', + 'menu_name' => 'management', + 'mlid' => '95', + 'plid' => '48', + 'link_path' => 'admin/config/regional/settings', + 'router_path' => 'admin/config/regional/settings', + 'link_title' => 'Regional settings', + 'options' => "a:1:{s:10:\"attributes\";a:1:{s:5:\"title\";s:54:\"Settings for the site's default time zone and country.\";}}", 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '2', + 'weight' => '-20', + 'depth' => '4', 'customized' => '0', - 'p1' => '16', - 'p2' => '38', - 'p3' => '0', - 'p4' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '48', + 'p4' => '95', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24405,25 +27090,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '39', - 'plid' => '5', - 'link_path' => 'node/%/edit', - 'router_path' => 'node/%/edit', - 'link_title' => 'Edit', - 'options' => 'a:0:{}', + 'menu_name' => 'management', + 'mlid' => '96', + 'plid' => '46', + 'link_path' => 'admin/people/permissions/roles', + 'router_path' => 'admin/people/permissions/roles', + 'link_title' => 'Roles', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:30:"List, edit, or add user roles.";}}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '0', - 'depth' => '2', + 'weight' => '-5', + 'depth' => '4', 'customized' => '0', - 'p1' => '5', - 'p2' => '39', - 'p3' => '0', - 'p4' => '0', + 'p1' => '1', + 'p2' => '17', + 'p3' => '46', + 'p4' => '96', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24435,24 +27120,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '40', - 'plid' => '15', - 'link_path' => 'admin/modules/list', - 'router_path' => 'admin/modules/list', - 'link_title' => 'List', + 'mlid' => '97', + 'plid' => '44', + 'link_path' => 'admin/structure/menu/settings', + 'router_path' => 'admin/structure/menu/settings', + 'link_title' => 'Settings', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '3', + 'weight' => '5', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '15', - 'p3' => '40', - 'p4' => '0', + 'p2' => '20', + 'p3' => '44', + 'p4' => '97', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24464,24 +27149,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '41', - 'plid' => '17', - 'link_path' => 'admin/people/people', - 'router_path' => 'admin/people/people', - 'link_title' => 'List', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:50:"Find and manage people interacting with your site.";}}', + 'mlid' => '98', + 'plid' => '51', + 'link_path' => 'admin/appearance/settings/seven', + 'router_path' => 'admin/appearance/settings/seven', + 'link_title' => 'Seven', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '3', + 'weight' => '0', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '17', - 'p3' => '41', - 'p4' => '0', + 'p2' => '7', + 'p3' => '51', + 'p4' => '98', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24493,24 +27178,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '42', - 'plid' => '7', - 'link_path' => 'admin/appearance/list', - 'router_path' => 'admin/appearance/list', - 'link_title' => 'List', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:31:"Select and configure your theme";}}', + 'mlid' => '99', + 'plid' => '53', + 'link_path' => 'admin/config/system/site-information', + 'router_path' => 'admin/config/system/site-information', + 'link_title' => 'Site information', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:104:"Change site name, e-mail address, slogan, default front page, and number of posts per page, error pages.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-1', - 'depth' => '3', + 'weight' => '-20', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '7', - 'p3' => '42', - 'p4' => '0', + 'p2' => '8', + 'p3' => '53', + 'p4' => '99', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24522,24 +27207,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '43', - 'plid' => '8', - 'link_path' => 'admin/config/media', - 'router_path' => 'admin/config/media', - 'link_title' => 'Media', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:12:"Media tools.";}}', + 'mlid' => '100', + 'plid' => '51', + 'link_path' => 'admin/appearance/settings/stark', + 'router_path' => 'admin/appearance/settings/stark', + 'link_title' => 'Stark', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '3', + 'weight' => '0', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '43', - 'p4' => '0', + 'p2' => '7', + 'p3' => '51', + 'p4' => '100', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24551,24 +27236,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '44', - 'plid' => '20', - 'link_path' => 'admin/structure/menu', - 'router_path' => 'admin/structure/menu', - 'link_title' => 'Menus', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:86:"Add new menus to your site, edit existing menus, and rename and reorganize menu links.";}}', + 'mlid' => '101', + 'plid' => '33', + 'link_path' => 'admin/config/content/formats', + 'router_path' => 'admin/config/content/formats', + 'link_title' => 'Text formats', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:127:"Configure how content input by users is filtered, including allowed HTML tags. Also allows enabling of module-provided filters.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '1', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '44', - 'p4' => '0', + 'p2' => '8', + 'p3' => '33', + 'p4' => '101', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24580,24 +27265,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '45', - 'plid' => '8', - 'link_path' => 'admin/config/people', - 'router_path' => 'admin/config/people', - 'link_title' => 'People', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:24:"Configure user accounts.";}}', + 'mlid' => '102', + 'plid' => '30', + 'link_path' => 'admin/content/comment/approval', + 'router_path' => 'admin/content/comment/approval', + 'link_title' => 'Unapproved comments', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '-20', - 'depth' => '3', + 'weight' => '0', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '45', - 'p4' => '0', + 'p2' => '9', + 'p3' => '30', + 'p4' => '102', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24609,24 +27294,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '46', - 'plid' => '17', - 'link_path' => 'admin/people/permissions', - 'router_path' => 'admin/people/permissions', - 'link_title' => 'Permissions', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:64:"Determine access to features by selecting permissions for roles.";}}', + 'mlid' => '103', + 'plid' => '56', + 'link_path' => 'admin/modules/uninstall/confirm', + 'router_path' => 'admin/modules/uninstall/confirm', + 'link_title' => 'Uninstall', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '17', - 'p3' => '46', - 'p4' => '0', + 'p2' => '15', + 'p3' => '56', + 'p4' => '103', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24637,24 +27322,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '47', - 'plid' => '18', - 'link_path' => 'admin/reports/dblog', - 'router_path' => 'admin/reports/dblog', - 'link_title' => 'Recent log messages', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:43:"View events that have recently been logged.";}}', + 'menu_name' => 'navigation', + 'mlid' => '104', + 'plid' => '38', + 'link_path' => 'user/%/edit/account', + 'router_path' => 'user/%/edit/account', + 'link_title' => 'Account', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-1', + 'weight' => '0', 'depth' => '3', 'customized' => '0', - 'p1' => '1', - 'p2' => '18', - 'p3' => '47', + 'p1' => '16', + 'p2' => '38', + 'p3' => '104', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -24667,25 +27352,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '48', - 'plid' => '8', - 'link_path' => 'admin/config/regional', - 'router_path' => 'admin/config/regional', - 'link_title' => 'Regional and language', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:48:"Regional settings, localization and translation.";}}', + 'mlid' => '105', + 'plid' => '101', + 'link_path' => 'admin/config/content/formats/%', + 'router_path' => 'admin/config/content/formats/%', + 'link_title' => '', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '1', 'expanded' => '0', - 'weight' => '-5', - 'depth' => '3', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '48', - 'p4' => '0', - 'p5' => '0', + 'p3' => '33', + 'p4' => '101', + 'p5' => '105', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -24695,26 +27380,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '49', - 'plid' => '5', - 'link_path' => 'node/%/revisions', - 'router_path' => 'node/%/revisions', - 'link_title' => 'Revisions', + 'menu_name' => 'management', + 'mlid' => '110', + 'plid' => '101', + 'link_path' => 'admin/config/content/formats/add', + 'router_path' => 'admin/config/content/formats/add', + 'link_title' => 'Add text format', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '2', - 'depth' => '2', + 'weight' => '1', + 'depth' => '5', 'customized' => '0', - 'p1' => '5', - 'p2' => '49', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '33', + 'p4' => '101', + 'p5' => '110', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -24725,24 +27410,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '50', - 'plid' => '8', - 'link_path' => 'admin/config/search', - 'router_path' => 'admin/config/search', - 'link_title' => 'Search and metadata', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:36:"Local site search, metadata and SEO.";}}', + 'mlid' => '111', + 'plid' => '28', + 'link_path' => 'admin/structure/block/list/bartik', + 'router_path' => 'admin/structure/block/list/bartik', + 'link_title' => 'Bartik', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', 'weight' => '-10', - 'depth' => '3', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '50', - 'p4' => '0', + 'p2' => '20', + 'p3' => '28', + 'p4' => '111', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24754,25 +27439,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '51', - 'plid' => '7', - 'link_path' => 'admin/appearance/settings', - 'router_path' => 'admin/appearance/settings', - 'link_title' => 'Settings', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:46:"Configure default and theme specific settings.";}}', + 'mlid' => '112', + 'plid' => '67', + 'link_path' => 'admin/config/system/actions/configure', + 'router_path' => 'admin/config/system/actions/configure', + 'link_title' => 'Configure an advanced action', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '20', - 'depth' => '3', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '7', - 'p3' => '51', - 'p4' => '0', - 'p5' => '0', + 'p2' => '8', + 'p3' => '53', + 'p4' => '67', + 'p5' => '112', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -24783,24 +27468,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '52', - 'plid' => '18', - 'link_path' => 'admin/reports/status', - 'router_path' => 'admin/reports/status', - 'link_title' => 'Status report', - 'options' => "a:1:{s:10:\"attributes\";a:1:{s:5:\"title\";s:74:\"Get a status report about your site's operation and any detected problems.\";}}", + 'mlid' => '113', + 'plid' => '44', + 'link_path' => 'admin/structure/menu/manage/%', + 'router_path' => 'admin/structure/menu/manage/%', + 'link_title' => 'Customize menu', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '-60', - 'depth' => '3', + 'weight' => '0', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '18', - 'p3' => '52', - 'p4' => '0', + 'p2' => '20', + 'p3' => '44', + 'p4' => '113', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24812,24 +27497,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '53', - 'plid' => '8', - 'link_path' => 'admin/config/system', - 'router_path' => 'admin/config/system', - 'link_title' => 'System', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:37:"General system related configuration.";}}', + 'mlid' => '114', + 'plid' => '34', + 'link_path' => 'admin/structure/types/manage/%', + 'router_path' => 'admin/structure/types/manage/%', + 'link_title' => 'Edit content type', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '1', 'expanded' => '0', - 'weight' => '-20', - 'depth' => '3', + 'weight' => '0', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '53', - 'p4' => '0', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24841,25 +27526,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '54', - 'plid' => '18', - 'link_path' => 'admin/reports/access-denied', - 'router_path' => 'admin/reports/access-denied', - 'link_title' => "Top 'access denied' errors", - 'options' => "a:1:{s:10:\"attributes\";a:1:{s:5:\"title\";s:35:\"View 'access denied' errors (403s).\";}}", + 'mlid' => '116', + 'plid' => '74', + 'link_path' => 'admin/config/regional/date-time/formats', + 'router_path' => 'admin/config/regional/date-time/formats', + 'link_title' => 'Formats', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:51:"Configure display format strings for date and time.";}}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '0', - 'depth' => '3', + 'weight' => '-9', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '18', - 'p3' => '54', - 'p4' => '0', - 'p5' => '0', + 'p2' => '8', + 'p3' => '48', + 'p4' => '74', + 'p5' => '116', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -24870,24 +27555,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '55', - 'plid' => '18', - 'link_path' => 'admin/reports/page-not-found', - 'router_path' => 'admin/reports/page-not-found', - 'link_title' => "Top 'page not found' errors", - 'options' => "a:1:{s:10:\"attributes\";a:1:{s:5:\"title\";s:36:\"View 'page not found' errors (404s).\";}}", + 'mlid' => '117', + 'plid' => '28', + 'link_path' => 'admin/structure/block/list/garland', + 'router_path' => 'admin/structure/block/list/garland', + 'link_title' => 'Garland', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '18', - 'p3' => '55', - 'p4' => '0', + 'p2' => '20', + 'p3' => '28', + 'p4' => '117', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -24899,25 +27584,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '56', - 'plid' => '15', - 'link_path' => 'admin/modules/uninstall', - 'router_path' => 'admin/modules/uninstall', - 'link_title' => 'Uninstall', + 'mlid' => '118', + 'plid' => '101', + 'link_path' => 'admin/config/content/formats/list', + 'router_path' => 'admin/config/content/formats/list', + 'link_title' => 'List', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '20', - 'depth' => '3', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '15', - 'p3' => '56', - 'p4' => '0', - 'p5' => '0', + 'p2' => '8', + 'p3' => '33', + 'p4' => '101', + 'p5' => '118', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -24928,25 +27613,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '57', - 'plid' => '8', - 'link_path' => 'admin/config/user-interface', - 'router_path' => 'admin/config/user-interface', - 'link_title' => 'User interface', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:38:"Tools that enhance the user interface.";}}', + 'mlid' => '119', + 'plid' => '67', + 'link_path' => 'admin/config/system/actions/manage', + 'router_path' => 'admin/config/system/actions/manage', + 'link_title' => 'Manage actions', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:41:"Manage the actions defined for your site.";}}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '-15', - 'depth' => '3', + 'weight' => '-2', + 'depth' => '5', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '57', - 'p4' => '0', - 'p5' => '0', + 'p3' => '53', + 'p4' => '67', + 'p5' => '119', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -24956,12 +27641,12 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '58', - 'plid' => '5', - 'link_path' => 'node/%/view', - 'router_path' => 'node/%/view', - 'link_title' => 'View', + 'menu_name' => 'management', + 'mlid' => '124', + 'plid' => '66', + 'link_path' => 'admin/config/people/accounts/settings', + 'router_path' => 'admin/config/people/accounts/settings', + 'link_title' => 'Settings', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -24969,13 +27654,13 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '-10', - 'depth' => '2', + 'depth' => '5', 'customized' => '0', - 'p1' => '5', - 'p2' => '58', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '45', + 'p4' => '66', + 'p5' => '124', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -24985,25 +27670,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '59', - 'plid' => '16', - 'link_path' => 'user/%/view', - 'router_path' => 'user/%/view', - 'link_title' => 'View', + 'menu_name' => 'management', + 'mlid' => '125', + 'plid' => '28', + 'link_path' => 'admin/structure/block/list/seven', + 'router_path' => 'admin/structure/block/list/seven', + 'link_title' => 'Seven', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '2', + 'weight' => '0', + 'depth' => '4', 'customized' => '0', - 'p1' => '16', - 'p2' => '59', - 'p3' => '0', - 'p4' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '28', + 'p4' => '125', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -25015,24 +27700,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '60', - 'plid' => '8', - 'link_path' => 'admin/config/services', - 'router_path' => 'admin/config/services', - 'link_title' => 'Web services', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:30:"Tools related to web services.";}}', + 'mlid' => '126', + 'plid' => '28', + 'link_path' => 'admin/structure/block/list/stark', + 'router_path' => 'admin/structure/block/list/stark', + 'link_title' => 'Stark', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '60', - 'p4' => '0', + 'p2' => '20', + 'p3' => '28', + 'p4' => '126', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -25044,25 +27729,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '61', - 'plid' => '8', - 'link_path' => 'admin/config/workflow', - 'router_path' => 'admin/config/workflow', - 'link_title' => 'Workflow', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:43:"Content workflow, editorial workflow tools.";}}', + 'mlid' => '127', + 'plid' => '74', + 'link_path' => 'admin/config/regional/date-time/types', + 'router_path' => 'admin/config/regional/date-time/types', + 'link_title' => 'Types', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:44:"Configure display formats for date and time.";}}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '5', - 'depth' => '3', + 'weight' => '-10', + 'depth' => '5', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '61', - 'p4' => '0', - 'p5' => '0', + 'p3' => '48', + 'p4' => '74', + 'p5' => '127', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -25072,25 +27757,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '66', - 'plid' => '45', - 'link_path' => 'admin/config/people/accounts', - 'router_path' => 'admin/config/people/accounts', - 'link_title' => 'Account settings', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:109:"Configure default behavior of users, including registration requirements, e-mails, fields, and user pictures.";}}', + 'menu_name' => 'navigation', + 'mlid' => '128', + 'plid' => '49', + 'link_path' => 'node/%/revisions/%/delete', + 'router_path' => 'node/%/revisions/%/delete', + 'link_title' => 'Delete earlier revision', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '4', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '45', - 'p4' => '66', + 'p1' => '5', + 'p2' => '49', + 'p3' => '128', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -25101,25 +27786,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '67', - 'plid' => '53', - 'link_path' => 'admin/config/system/actions', - 'router_path' => 'admin/config/system/actions', - 'link_title' => 'Actions', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:41:"Manage the actions defined for your site.";}}', + 'menu_name' => 'navigation', + 'mlid' => '129', + 'plid' => '49', + 'link_path' => 'node/%/revisions/%/revert', + 'router_path' => 'node/%/revisions/%/revert', + 'link_title' => 'Revert to earlier revision', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '3', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '53', - 'p4' => '67', + 'p1' => '5', + 'p2' => '49', + 'p3' => '129', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -25130,25 +27815,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '68', - 'plid' => '28', - 'link_path' => 'admin/structure/block/add', - 'router_path' => 'admin/structure/block/add', - 'link_title' => 'Add block', + 'menu_name' => 'navigation', + 'mlid' => '130', + 'plid' => '49', + 'link_path' => 'node/%/revisions/%/view', + 'router_path' => 'node/%/revisions/%/view', + 'link_title' => 'Revisions', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '3', 'customized' => '0', - 'p1' => '1', - 'p2' => '20', - 'p3' => '28', - 'p4' => '68', + 'p1' => '5', + 'p2' => '49', + 'p3' => '130', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -25160,11 +27845,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '69', - 'plid' => '34', - 'link_path' => 'admin/structure/types/add', - 'router_path' => 'admin/structure/types/add', - 'link_title' => 'Add content type', + 'mlid' => '136', + 'plid' => '117', + 'link_path' => 'admin/structure/block/list/garland/add', + 'router_path' => 'admin/structure/block/list/garland/add', + 'link_title' => 'Add block', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -25172,13 +27857,13 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '5', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '34', - 'p4' => '69', - 'p5' => '0', + 'p3' => '28', + 'p4' => '117', + 'p5' => '136', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -25189,11 +27874,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '70', - 'plid' => '44', - 'link_path' => 'admin/structure/menu/add', - 'router_path' => 'admin/structure/menu/add', - 'link_title' => 'Add menu', + 'mlid' => '141', + 'plid' => '125', + 'link_path' => 'admin/structure/block/list/seven/add', + 'router_path' => 'admin/structure/block/list/seven/add', + 'link_title' => 'Add block', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -25201,13 +27886,13 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '5', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '44', - 'p4' => '70', - 'p5' => '0', + 'p3' => '28', + 'p4' => '125', + 'p5' => '141', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -25218,11 +27903,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '71', - 'plid' => '51', - 'link_path' => 'admin/appearance/settings/bartik', - 'router_path' => 'admin/appearance/settings/bartik', - 'link_title' => 'Bartik', + 'mlid' => '142', + 'plid' => '126', + 'link_path' => 'admin/structure/block/list/stark/add', + 'router_path' => 'admin/structure/block/list/stark/add', + 'link_title' => 'Add block', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -25230,13 +27915,13 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '7', - 'p3' => '51', - 'p4' => '71', - 'p5' => '0', + 'p2' => '20', + 'p3' => '28', + 'p4' => '126', + 'p5' => '142', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -25247,26 +27932,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '72', - 'plid' => '50', - 'link_path' => 'admin/config/search/clean-urls', - 'router_path' => 'admin/config/search/clean-urls', - 'link_title' => 'Clean URLs', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:43:"Enable or disable clean URLs for your site.";}}', + 'mlid' => '143', + 'plid' => '127', + 'link_path' => 'admin/config/regional/date-time/types/add', + 'router_path' => 'admin/config/regional/date-time/types/add', + 'link_title' => 'Add date type', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:18:"Add new date type.";}}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '5', - 'depth' => '4', + 'weight' => '-10', + 'depth' => '6', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '50', - 'p4' => '72', - 'p5' => '0', - 'p6' => '0', + 'p3' => '48', + 'p4' => '74', + 'p5' => '127', + 'p6' => '143', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -25276,26 +27961,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '73', - 'plid' => '53', - 'link_path' => 'admin/config/system/cron', - 'router_path' => 'admin/config/system/cron', - 'link_title' => 'Cron', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:40:"Manage automatic site maintenance tasks.";}}', + 'mlid' => '144', + 'plid' => '116', + 'link_path' => 'admin/config/regional/date-time/formats/add', + 'router_path' => 'admin/config/regional/date-time/formats/add', + 'link_title' => 'Add format', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:43:"Allow users to add additional date formats.";}}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '20', - 'depth' => '4', + 'weight' => '-10', + 'depth' => '6', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '53', - 'p4' => '73', - 'p5' => '0', - 'p6' => '0', + 'p3' => '48', + 'p4' => '74', + 'p5' => '116', + 'p6' => '144', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -25305,25 +27990,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '74', - 'plid' => '48', - 'link_path' => 'admin/config/regional/date-time', - 'router_path' => 'admin/config/regional/date-time', - 'link_title' => 'Date and time', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:44:"Configure display formats for date and time.";}}', + 'mlid' => '145', + 'plid' => '113', + 'link_path' => 'admin/structure/menu/manage/%/add', + 'router_path' => 'admin/structure/menu/manage/%/add', + 'link_title' => 'Add link', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-15', - 'depth' => '4', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '48', - 'p4' => '74', - 'p5' => '0', + 'p2' => '20', + 'p3' => '44', + 'p4' => '113', + 'p5' => '145', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -25334,11 +28019,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '75', - 'plid' => '18', - 'link_path' => 'admin/reports/event/%', - 'router_path' => 'admin/reports/event/%', - 'link_title' => 'Details', + 'mlid' => '146', + 'plid' => '28', + 'link_path' => 'admin/structure/block/manage/%/%', + 'router_path' => 'admin/structure/block/manage/%/%', + 'link_title' => 'Configure block', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', @@ -25346,12 +28031,12 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '18', - 'p3' => '75', - 'p4' => '0', + 'p2' => '20', + 'p3' => '28', + 'p4' => '146', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -25362,25 +28047,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '76', - 'plid' => '43', - 'link_path' => 'admin/config/media/file-system', - 'router_path' => 'admin/config/media/file-system', - 'link_title' => 'File system', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:68:"Tell Drupal where to store uploaded files and how they are accessed.";}}', + 'menu_name' => 'navigation', + 'mlid' => '147', + 'plid' => '29', + 'link_path' => 'user/%/cancel/confirm/%/%', + 'router_path' => 'user/%/cancel/confirm/%/%', + 'link_title' => 'Confirm account cancellation', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '4', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '43', - 'p4' => '76', + 'p1' => '16', + 'p2' => '29', + 'p3' => '147', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -25392,25 +28077,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '78', - 'plid' => '51', - 'link_path' => 'admin/appearance/settings/garland', - 'router_path' => 'admin/appearance/settings/garland', - 'link_title' => 'Garland', + 'mlid' => '148', + 'plid' => '114', + 'link_path' => 'admin/structure/types/manage/%/delete', + 'router_path' => 'admin/structure/types/manage/%/delete', + 'link_title' => 'Delete', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '7', - 'p3' => '51', - 'p4' => '78', - 'p5' => '0', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '148', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -25421,25 +28106,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '79', - 'plid' => '51', - 'link_path' => 'admin/appearance/settings/global', - 'router_path' => 'admin/appearance/settings/global', - 'link_title' => 'Global settings', + 'mlid' => '149', + 'plid' => '80', + 'link_path' => 'admin/config/people/ip-blocking/delete/%', + 'router_path' => 'admin/config/people/ip-blocking/delete/%', + 'link_title' => 'Delete IP address', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-1', - 'depth' => '4', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '7', - 'p3' => '51', - 'p4' => '79', - 'p5' => '0', + 'p2' => '8', + 'p3' => '45', + 'p4' => '80', + 'p5' => '149', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -25450,25 +28135,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '80', - 'plid' => '45', - 'link_path' => 'admin/config/people/ip-blocking', - 'router_path' => 'admin/config/people/ip-blocking', - 'link_title' => 'IP address blocking', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:28:"Manage blocked IP addresses.";}}', + 'mlid' => '150', + 'plid' => '67', + 'link_path' => 'admin/config/system/actions/delete/%', + 'router_path' => 'admin/config/system/actions/delete/%', + 'link_title' => 'Delete action', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:17:"Delete an action.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '10', - 'depth' => '4', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '45', - 'p4' => '80', - 'p5' => '0', + 'p3' => '53', + 'p4' => '67', + 'p5' => '150', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -25479,25 +28164,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '81', - 'plid' => '43', - 'link_path' => 'admin/config/media/image-toolkit', - 'router_path' => 'admin/config/media/image-toolkit', - 'link_title' => 'Image toolkit', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:74:"Choose which image toolkit to use if you have installed optional toolkits.";}}', + 'mlid' => '151', + 'plid' => '113', + 'link_path' => 'admin/structure/menu/manage/%/delete', + 'router_path' => 'admin/structure/menu/manage/%/delete', + 'link_title' => 'Delete menu', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '20', - 'depth' => '4', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '43', - 'p4' => '81', - 'p5' => '0', + 'p2' => '20', + 'p3' => '44', + 'p4' => '113', + 'p5' => '151', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -25508,14 +28193,14 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '82', - 'plid' => '40', - 'link_path' => 'admin/modules/list/confirm', - 'router_path' => 'admin/modules/list/confirm', - 'link_title' => 'List', + 'mlid' => '152', + 'plid' => '44', + 'link_path' => 'admin/structure/menu/item/%/delete', + 'router_path' => 'admin/structure/menu/item/%/delete', + 'link_title' => 'Delete menu link', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', @@ -25523,9 +28208,9 @@ 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '15', - 'p3' => '40', - 'p4' => '82', + 'p2' => '20', + 'p3' => '44', + 'p4' => '152', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -25537,25 +28222,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '83', - 'plid' => '34', - 'link_path' => 'admin/structure/types/list', - 'router_path' => 'admin/structure/types/list', - 'link_title' => 'List', + 'mlid' => '153', + 'plid' => '96', + 'link_path' => 'admin/people/permissions/roles/delete/%', + 'router_path' => 'admin/people/permissions/roles/delete/%', + 'link_title' => 'Delete role', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '4', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '83', - 'p5' => '0', + 'p2' => '17', + 'p3' => '46', + 'p4' => '96', + 'p5' => '153', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -25566,26 +28251,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '84', - 'plid' => '44', - 'link_path' => 'admin/structure/menu/list', - 'router_path' => 'admin/structure/menu/list', - 'link_title' => 'List menus', + 'mlid' => '154', + 'plid' => '105', + 'link_path' => 'admin/config/content/formats/%/disable', + 'router_path' => 'admin/config/content/formats/%/disable', + 'link_title' => 'Disable text format', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '4', + 'weight' => '0', + 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '44', - 'p4' => '84', - 'p5' => '0', - 'p6' => '0', + 'p2' => '8', + 'p3' => '33', + 'p4' => '101', + 'p5' => '105', + 'p6' => '154', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -25595,25 +28280,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '85', - 'plid' => '37', - 'link_path' => 'admin/config/development/logging', - 'router_path' => 'admin/config/development/logging', - 'link_title' => 'Logging and errors', - 'options' => "a:1:{s:10:\"attributes\";a:1:{s:5:\"title\";s:154:\"Settings for logging and alerts modules. Various modules can route Drupal's system events to different destinations, such as syslog, database, email, etc.\";}}", + 'mlid' => '155', + 'plid' => '114', + 'link_path' => 'admin/structure/types/manage/%/edit', + 'router_path' => 'admin/structure/types/manage/%/edit', + 'link_title' => 'Edit', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-15', - 'depth' => '4', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '37', - 'p4' => '85', - 'p5' => '0', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '155', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -25624,25 +28309,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '86', - 'plid' => '37', - 'link_path' => 'admin/config/development/maintenance', - 'router_path' => 'admin/config/development/maintenance', - 'link_title' => 'Maintenance mode', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:62:"Take the site offline for maintenance or bring it back online.";}}', + 'mlid' => '156', + 'plid' => '113', + 'link_path' => 'admin/structure/menu/manage/%/edit', + 'router_path' => 'admin/structure/menu/manage/%/edit', + 'link_title' => 'Edit menu', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '4', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '37', - 'p4' => '86', - 'p5' => '0', + 'p2' => '20', + 'p3' => '44', + 'p4' => '113', + 'p5' => '156', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -25653,24 +28338,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '89', - 'plid' => '37', - 'link_path' => 'admin/config/development/performance', - 'router_path' => 'admin/config/development/performance', - 'link_title' => 'Performance', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:101:"Enable or disable page caching for anonymous users and set CSS and JS bandwidth optimization options.";}}', + 'mlid' => '157', + 'plid' => '44', + 'link_path' => 'admin/structure/menu/item/%/edit', + 'router_path' => 'admin/structure/menu/item/%/edit', + 'link_title' => 'Edit menu link', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-20', + 'weight' => '0', 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '37', - 'p4' => '89', + 'p2' => '20', + 'p3' => '44', + 'p4' => '157', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -25682,25 +28367,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '90', - 'plid' => '46', - 'link_path' => 'admin/people/permissions/list', - 'router_path' => 'admin/people/permissions/list', - 'link_title' => 'Permissions', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:64:"Determine access to features by selecting permissions for roles.";}}', + 'mlid' => '158', + 'plid' => '96', + 'link_path' => 'admin/people/permissions/roles/edit/%', + 'router_path' => 'admin/people/permissions/roles/edit/%', + 'link_title' => 'Edit role', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-8', - 'depth' => '4', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', 'p1' => '1', 'p2' => '17', 'p3' => '46', - 'p4' => '90', - 'p5' => '0', + 'p4' => '96', + 'p5' => '158', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -25711,11 +28396,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '93', - 'plid' => '30', - 'link_path' => 'admin/content/comment/new', - 'router_path' => 'admin/content/comment/new', - 'link_title' => 'Published comments', + 'mlid' => '159', + 'plid' => '113', + 'link_path' => 'admin/structure/menu/manage/%/list', + 'router_path' => 'admin/structure/menu/manage/%/list', + 'link_title' => 'List links', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -25723,13 +28408,13 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '-10', - 'depth' => '4', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '9', - 'p3' => '30', - 'p4' => '93', - 'p5' => '0', + 'p2' => '20', + 'p3' => '44', + 'p4' => '113', + 'p5' => '159', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -25740,12 +28425,12 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '94', - 'plid' => '60', - 'link_path' => 'admin/config/services/rss-publishing', - 'router_path' => 'admin/config/services/rss-publishing', - 'link_title' => 'RSS publishing', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:114:"Configure the site description, the number of items per feed and whether feeds should be titles/teasers/full-text.";}}', + 'mlid' => '160', + 'plid' => '44', + 'link_path' => 'admin/structure/menu/item/%/reset', + 'router_path' => 'admin/structure/menu/item/%/reset', + 'link_title' => 'Reset menu link', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', 'external' => '0', @@ -25755,9 +28440,9 @@ 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '60', - 'p4' => '94', + 'p2' => '20', + 'p3' => '44', + 'p4' => '160', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -25769,25 +28454,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '95', - 'plid' => '48', - 'link_path' => 'admin/config/regional/settings', - 'router_path' => 'admin/config/regional/settings', - 'link_title' => 'Regional settings', - 'options' => "a:1:{s:10:\"attributes\";a:1:{s:5:\"title\";s:54:\"Settings for the site's default time zone and country.\";}}", + 'mlid' => '161', + 'plid' => '114', + 'link_path' => 'admin/structure/types/manage/%/comment/display', + 'router_path' => 'admin/structure/types/manage/%/comment/display', + 'link_title' => 'Comment display', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-20', - 'depth' => '4', + 'weight' => '4', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '48', - 'p4' => '95', - 'p5' => '0', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '161', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -25798,25 +28483,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '96', - 'plid' => '46', - 'link_path' => 'admin/people/permissions/roles', - 'router_path' => 'admin/people/permissions/roles', - 'link_title' => 'Roles', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:30:"List, edit, or add user roles.";}}', + 'mlid' => '162', + 'plid' => '114', + 'link_path' => 'admin/structure/types/manage/%/comment/fields', + 'router_path' => 'admin/structure/types/manage/%/comment/fields', + 'link_title' => 'Comment fields', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '1', 'expanded' => '0', - 'weight' => '-5', - 'depth' => '4', + 'weight' => '3', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '17', - 'p3' => '46', - 'p4' => '96', - 'p5' => '0', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '162', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -25827,25 +28512,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '97', - 'plid' => '44', - 'link_path' => 'admin/structure/menu/settings', - 'router_path' => 'admin/structure/menu/settings', - 'link_title' => 'Settings', + 'mlid' => '163', + 'plid' => '146', + 'link_path' => 'admin/structure/block/manage/%/%/configure', + 'router_path' => 'admin/structure/block/manage/%/%/configure', + 'link_title' => 'Configure', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '5', - 'depth' => '4', + 'weight' => '-100', + 'depth' => '5', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '44', - 'p4' => '97', - 'p5' => '0', + 'p3' => '28', + 'p4' => '146', + 'p5' => '163', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -25856,11 +28541,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '98', - 'plid' => '51', - 'link_path' => 'admin/appearance/settings/seven', - 'router_path' => 'admin/appearance/settings/seven', - 'link_title' => 'Seven', + 'mlid' => '164', + 'plid' => '146', + 'link_path' => 'admin/structure/block/manage/%/%/delete', + 'router_path' => 'admin/structure/block/manage/%/%/delete', + 'link_title' => 'Delete block', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -25868,13 +28553,13 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '7', - 'p3' => '51', - 'p4' => '98', - 'p5' => '0', + 'p2' => '20', + 'p3' => '28', + 'p4' => '146', + 'p5' => '164', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -25885,26 +28570,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '99', - 'plid' => '53', - 'link_path' => 'admin/config/system/site-information', - 'router_path' => 'admin/config/system/site-information', - 'link_title' => 'Site information', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:104:"Change site name, e-mail address, slogan, default front page, and number of posts per page, error pages.";}}', + 'mlid' => '165', + 'plid' => '116', + 'link_path' => 'admin/config/regional/date-time/formats/%/delete', + 'router_path' => 'admin/config/regional/date-time/formats/%/delete', + 'link_title' => 'Delete date format', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:47:"Allow users to delete a configured date format.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-20', - 'depth' => '4', + 'weight' => '0', + 'depth' => '6', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '53', - 'p4' => '99', - 'p5' => '0', - 'p6' => '0', + 'p3' => '48', + 'p4' => '74', + 'p5' => '116', + 'p6' => '165', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -25914,26 +28599,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '100', - 'plid' => '51', - 'link_path' => 'admin/appearance/settings/stark', - 'router_path' => 'admin/appearance/settings/stark', - 'link_title' => 'Stark', - 'options' => 'a:0:{}', + 'mlid' => '166', + 'plid' => '127', + 'link_path' => 'admin/config/regional/date-time/types/%/delete', + 'router_path' => 'admin/config/regional/date-time/types/%/delete', + 'link_title' => 'Delete date type', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:45:"Allow users to delete a configured date type.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '7', - 'p3' => '51', - 'p4' => '100', - 'p5' => '0', - 'p6' => '0', + 'p2' => '8', + 'p3' => '48', + 'p4' => '74', + 'p5' => '127', + 'p6' => '166', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -25943,26 +28628,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '101', - 'plid' => '33', - 'link_path' => 'admin/config/content/formats', - 'router_path' => 'admin/config/content/formats', - 'link_title' => 'Text formats', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:127:"Configure how content input by users is filtered, including allowed HTML tags. Also allows enabling of module-provided filters.";}}', + 'mlid' => '167', + 'plid' => '116', + 'link_path' => 'admin/config/regional/date-time/formats/%/edit', + 'router_path' => 'admin/config/regional/date-time/formats/%/edit', + 'link_title' => 'Edit date format', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:45:"Allow users to edit a configured date format.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '6', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '33', - 'p4' => '101', - 'p5' => '0', - 'p6' => '0', + 'p3' => '48', + 'p4' => '74', + 'p5' => '116', + 'p6' => '167', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -25972,14 +28657,14 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '102', - 'plid' => '30', - 'link_path' => 'admin/content/comment/approval', - 'router_path' => 'admin/content/comment/approval', - 'link_title' => 'Unapproved comments', + 'mlid' => '168', + 'plid' => '44', + 'link_path' => 'admin/structure/menu/manage/main-menu', + 'router_path' => 'admin/structure/menu/manage/%', + 'link_title' => 'Main menu', 'options' => 'a:0:{}', - 'module' => 'system', - 'hidden' => '-1', + 'module' => 'menu', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', @@ -25987,9 +28672,9 @@ 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '9', - 'p3' => '30', - 'p4' => '102', + 'p2' => '20', + 'p3' => '44', + 'p4' => '168', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -26001,14 +28686,14 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '103', - 'plid' => '56', - 'link_path' => 'admin/modules/uninstall/confirm', - 'router_path' => 'admin/modules/uninstall/confirm', - 'link_title' => 'Uninstall', + 'mlid' => '169', + 'plid' => '44', + 'link_path' => 'admin/structure/menu/manage/management', + 'router_path' => 'admin/structure/menu/manage/%', + 'link_title' => 'Management', 'options' => 'a:0:{}', - 'module' => 'system', - 'hidden' => '-1', + 'module' => 'menu', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', @@ -26016,9 +28701,9 @@ 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '15', - 'p3' => '56', - 'p4' => '103', + 'p2' => '20', + 'p3' => '44', + 'p4' => '169', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -26029,25 +28714,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '104', - 'plid' => '38', - 'link_path' => 'user/%/edit/account', - 'router_path' => 'user/%/edit/account', - 'link_title' => 'Account', + 'menu_name' => 'management', + 'mlid' => '170', + 'plid' => '44', + 'link_path' => 'admin/structure/menu/manage/navigation', + 'router_path' => 'admin/structure/menu/manage/%', + 'link_title' => 'Navigation', 'options' => 'a:0:{}', - 'module' => 'system', - 'hidden' => '-1', + 'module' => 'menu', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '4', 'customized' => '0', - 'p1' => '16', - 'p2' => '38', - 'p3' => '104', - 'p4' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '44', + 'p4' => '170', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -26059,25 +28744,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '105', - 'plid' => '101', - 'link_path' => 'admin/config/content/formats/%', - 'router_path' => 'admin/config/content/formats/%', - 'link_title' => '', + 'mlid' => '171', + 'plid' => '44', + 'link_path' => 'admin/structure/menu/manage/user-menu', + 'router_path' => 'admin/structure/menu/manage/%', + 'link_title' => 'User menu', 'options' => 'a:0:{}', - 'module' => 'system', + 'module' => 'menu', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '33', - 'p4' => '101', - 'p5' => '105', + 'p2' => '20', + 'p3' => '44', + 'p4' => '171', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -26087,26 +28772,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '110', - 'plid' => '101', - 'link_path' => 'admin/config/content/formats/add', - 'router_path' => 'admin/config/content/formats/add', - 'link_title' => 'Add text format', + 'menu_name' => 'navigation', + 'mlid' => '172', + 'plid' => '0', + 'link_path' => 'search', + 'router_path' => 'search', + 'link_title' => 'Search', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '1', - 'depth' => '5', + 'weight' => '0', + 'depth' => '1', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '33', - 'p4' => '101', - 'p5' => '110', + 'p1' => '172', + 'p2' => '0', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -26116,12 +28801,12 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '111', - 'plid' => '28', - 'link_path' => 'admin/structure/block/list/bartik', - 'router_path' => 'admin/structure/block/list/bartik', - 'link_title' => 'Bartik', + 'menu_name' => 'navigation', + 'mlid' => '173', + 'plid' => '172', + 'link_path' => 'search/node', + 'router_path' => 'search/node', + 'link_title' => 'Content', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -26129,12 +28814,12 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '-10', - 'depth' => '4', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '20', - 'p3' => '28', - 'p4' => '111', + 'p1' => '172', + 'p2' => '173', + 'p3' => '0', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -26146,53 +28831,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '112', - 'plid' => '67', - 'link_path' => 'admin/config/system/actions/configure', - 'router_path' => 'admin/config/system/actions/configure', - 'link_title' => 'Configure an advanced action', - 'options' => 'a:0:{}', - 'module' => 'system', - 'hidden' => '-1', - 'external' => '0', - 'has_children' => '0', - 'expanded' => '0', - 'weight' => '0', - 'depth' => '5', - 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '53', - 'p4' => '67', - 'p5' => '112', - 'p6' => '0', - 'p7' => '0', - 'p8' => '0', - 'p9' => '0', - 'updated' => '0', - 'language' => 'und', - 'i18n_tsid' => '0', -)) -->values(array( - 'menu_name' => 'management', - 'mlid' => '113', - 'plid' => '44', - 'link_path' => 'admin/structure/menu/manage/%', - 'router_path' => 'admin/structure/menu/manage/%', - 'link_title' => 'Customize menu', - 'options' => 'a:0:{}', + 'mlid' => '175', + 'plid' => '1', + 'link_path' => 'admin/help', + 'router_path' => 'admin/help', + 'link_title' => 'Help', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:48:"Reference for usage, configuration, and modules.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '4', + 'weight' => '9', + 'depth' => '2', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '44', - 'p4' => '113', + 'p2' => '175', + 'p3' => '0', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -26203,25 +28859,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '114', - 'plid' => '34', - 'link_path' => 'admin/structure/types/manage/%', - 'router_path' => 'admin/structure/types/manage/%', - 'link_title' => 'Edit content type', + 'menu_name' => 'navigation', + 'mlid' => '176', + 'plid' => '0', + 'link_path' => 'taxonomy/term/%', + 'router_path' => 'taxonomy/term/%', + 'link_title' => 'Taxonomy term', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '1', 'customized' => '0', - 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '114', + 'p1' => '176', + 'p2' => '0', + 'p3' => '0', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -26232,26 +28888,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '116', - 'plid' => '74', - 'link_path' => 'admin/config/regional/date-time/formats', - 'router_path' => 'admin/config/regional/date-time/formats', - 'link_title' => 'Formats', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:51:"Configure display format strings for date and time.";}}', + 'menu_name' => 'navigation', + 'mlid' => '177', + 'plid' => '173', + 'link_path' => 'search/node/%', + 'router_path' => 'search/node/%', + 'link_title' => 'Content', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '-9', - 'depth' => '5', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '48', - 'p4' => '74', - 'p5' => '116', + 'p1' => '172', + 'p2' => '173', + 'p3' => '177', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -26262,24 +28918,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '117', - 'plid' => '28', - 'link_path' => 'admin/structure/block/list/garland', - 'router_path' => 'admin/structure/block/list/garland', - 'link_title' => 'Garland', - 'options' => 'a:0:{}', + 'mlid' => '178', + 'plid' => '18', + 'link_path' => 'admin/reports/fields', + 'router_path' => 'admin/reports/fields', + 'link_title' => 'Field list', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:39:"Overview of fields on all entity types.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '28', - 'p4' => '117', + 'p2' => '18', + 'p3' => '178', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -26290,12 +28946,12 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '118', - 'plid' => '101', - 'link_path' => 'admin/config/content/formats/list', - 'router_path' => 'admin/config/content/formats/list', - 'link_title' => 'List', + 'menu_name' => 'navigation', + 'mlid' => '179', + 'plid' => '16', + 'link_path' => 'user/%/shortcuts', + 'router_path' => 'user/%/shortcuts', + 'link_title' => 'Shortcuts', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -26303,13 +28959,13 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '33', - 'p4' => '101', - 'p5' => '118', + 'p1' => '16', + 'p2' => '179', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -26320,25 +28976,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '119', - 'plid' => '67', - 'link_path' => 'admin/config/system/actions/manage', - 'router_path' => 'admin/config/system/actions/manage', - 'link_title' => 'Manage actions', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:41:"Manage the actions defined for your site.";}}', + 'mlid' => '180', + 'plid' => '20', + 'link_path' => 'admin/structure/taxonomy', + 'router_path' => 'admin/structure/taxonomy', + 'link_title' => 'Taxonomy', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:67:"Manage tagging, categorization, and classification of your content.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '-2', - 'depth' => '5', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '53', - 'p4' => '67', - 'p5' => '119', + 'p2' => '20', + 'p3' => '180', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -26349,25 +29005,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '124', - 'plid' => '66', - 'link_path' => 'admin/config/people/accounts/settings', - 'router_path' => 'admin/config/people/accounts/settings', - 'link_title' => 'Settings', - 'options' => 'a:0:{}', + 'mlid' => '181', + 'plid' => '18', + 'link_path' => 'admin/reports/search', + 'router_path' => 'admin/reports/search', + 'link_title' => 'Top search phrases', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:33:"View most popular search phrases.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '5', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '45', - 'p4' => '66', - 'p5' => '124', + 'p2' => '18', + 'p3' => '181', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -26378,11 +29034,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '125', - 'plid' => '28', - 'link_path' => 'admin/structure/block/list/seven', - 'router_path' => 'admin/structure/block/list/seven', - 'link_title' => 'Seven', + 'mlid' => '183', + 'plid' => '175', + 'link_path' => 'admin/help/block', + 'router_path' => 'admin/help/block', + 'link_title' => 'block', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -26390,12 +29046,12 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '28', - 'p4' => '125', + 'p2' => '175', + 'p3' => '183', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -26407,11 +29063,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '126', - 'plid' => '28', - 'link_path' => 'admin/structure/block/list/stark', - 'router_path' => 'admin/structure/block/list/stark', - 'link_title' => 'Stark', + 'mlid' => '184', + 'plid' => '175', + 'link_path' => 'admin/help/color', + 'router_path' => 'admin/help/color', + 'link_title' => 'color', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -26419,12 +29075,12 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '28', - 'p4' => '126', + 'p2' => '175', + 'p3' => '184', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -26436,25 +29092,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '127', - 'plid' => '74', - 'link_path' => 'admin/config/regional/date-time/types', - 'router_path' => 'admin/config/regional/date-time/types', - 'link_title' => 'Types', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:44:"Configure display formats for date and time.";}}', + 'mlid' => '185', + 'plid' => '175', + 'link_path' => 'admin/help/comment', + 'router_path' => 'admin/help/comment', + 'link_title' => 'comment', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '5', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '48', - 'p4' => '74', - 'p5' => '127', + 'p2' => '175', + 'p3' => '185', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -26464,24 +29120,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '128', - 'plid' => '49', - 'link_path' => 'node/%/revisions/%/delete', - 'router_path' => 'node/%/revisions/%/delete', - 'link_title' => 'Delete earlier revision', + 'menu_name' => 'management', + 'mlid' => '186', + 'plid' => '175', + 'link_path' => 'admin/help/contextual', + 'router_path' => 'admin/help/contextual', + 'link_title' => 'contextual', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', 'depth' => '3', 'customized' => '0', - 'p1' => '5', - 'p2' => '49', - 'p3' => '128', + 'p1' => '1', + 'p2' => '175', + 'p3' => '186', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -26493,24 +29149,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '129', - 'plid' => '49', - 'link_path' => 'node/%/revisions/%/revert', - 'router_path' => 'node/%/revisions/%/revert', - 'link_title' => 'Revert to earlier revision', + 'menu_name' => 'management', + 'mlid' => '188', + 'plid' => '175', + 'link_path' => 'admin/help/dblog', + 'router_path' => 'admin/help/dblog', + 'link_title' => 'dblog', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', 'depth' => '3', 'customized' => '0', - 'p1' => '5', - 'p2' => '49', - 'p3' => '129', + 'p1' => '1', + 'p2' => '175', + 'p3' => '188', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -26522,24 +29178,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '130', - 'plid' => '49', - 'link_path' => 'node/%/revisions/%/view', - 'router_path' => 'node/%/revisions/%/view', - 'link_title' => 'Revisions', + 'menu_name' => 'management', + 'mlid' => '189', + 'plid' => '175', + 'link_path' => 'admin/help/field', + 'router_path' => 'admin/help/field', + 'link_title' => 'field', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', 'depth' => '3', 'customized' => '0', - 'p1' => '5', - 'p2' => '49', - 'p3' => '130', + 'p1' => '1', + 'p2' => '175', + 'p3' => '189', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -26552,11 +29208,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '136', - 'plid' => '117', - 'link_path' => 'admin/structure/block/list/garland/add', - 'router_path' => 'admin/structure/block/list/garland/add', - 'link_title' => 'Add block', + 'mlid' => '190', + 'plid' => '175', + 'link_path' => 'admin/help/field_sql_storage', + 'router_path' => 'admin/help/field_sql_storage', + 'link_title' => 'field_sql_storage', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -26564,13 +29220,13 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '28', - 'p4' => '117', - 'p5' => '136', + 'p2' => '175', + 'p3' => '190', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -26581,11 +29237,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '141', - 'plid' => '125', - 'link_path' => 'admin/structure/block/list/seven/add', - 'router_path' => 'admin/structure/block/list/seven/add', - 'link_title' => 'Add block', + 'mlid' => '191', + 'plid' => '175', + 'link_path' => 'admin/help/field_ui', + 'router_path' => 'admin/help/field_ui', + 'link_title' => 'field_ui', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -26593,13 +29249,13 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '28', - 'p4' => '125', - 'p5' => '141', + 'p2' => '175', + 'p3' => '191', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -26610,11 +29266,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '142', - 'plid' => '126', - 'link_path' => 'admin/structure/block/list/stark/add', - 'router_path' => 'admin/structure/block/list/stark/add', - 'link_title' => 'Add block', + 'mlid' => '192', + 'plid' => '175', + 'link_path' => 'admin/help/file', + 'router_path' => 'admin/help/file', + 'link_title' => 'file', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -26622,13 +29278,13 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '28', - 'p4' => '126', - 'p5' => '142', + 'p2' => '175', + 'p3' => '192', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -26639,26 +29295,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '143', - 'plid' => '127', - 'link_path' => 'admin/config/regional/date-time/types/add', - 'router_path' => 'admin/config/regional/date-time/types/add', - 'link_title' => 'Add date type', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:18:"Add new date type.";}}', + 'mlid' => '193', + 'plid' => '175', + 'link_path' => 'admin/help/filter', + 'router_path' => 'admin/help/filter', + 'link_title' => 'filter', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '6', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '48', - 'p4' => '74', - 'p5' => '127', - 'p6' => '143', + 'p2' => '175', + 'p3' => '193', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -26668,26 +29324,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '144', - 'plid' => '116', - 'link_path' => 'admin/config/regional/date-time/formats/add', - 'router_path' => 'admin/config/regional/date-time/formats/add', - 'link_title' => 'Add format', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:43:"Allow users to add additional date formats.";}}', + 'mlid' => '194', + 'plid' => '175', + 'link_path' => 'admin/help/help', + 'router_path' => 'admin/help/help', + 'link_title' => 'help', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '6', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '48', - 'p4' => '74', - 'p5' => '116', - 'p6' => '144', + 'p2' => '175', + 'p3' => '194', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -26697,11 +29353,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '145', - 'plid' => '113', - 'link_path' => 'admin/structure/menu/manage/%/add', - 'router_path' => 'admin/structure/menu/manage/%/add', - 'link_title' => 'Add link', + 'mlid' => '195', + 'plid' => '175', + 'link_path' => 'admin/help/image', + 'router_path' => 'admin/help/image', + 'link_title' => 'image', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -26709,13 +29365,13 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '44', - 'p4' => '113', - 'p5' => '145', + 'p2' => '175', + 'p3' => '195', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -26726,24 +29382,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '146', - 'plid' => '28', - 'link_path' => 'admin/structure/block/manage/%/%', - 'router_path' => 'admin/structure/block/manage/%/%', - 'link_title' => 'Configure block', + 'mlid' => '196', + 'plid' => '175', + 'link_path' => 'admin/help/list', + 'router_path' => 'admin/help/list', + 'link_title' => 'list', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '28', - 'p4' => '146', + 'p2' => '175', + 'p3' => '196', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -26754,24 +29410,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '147', - 'plid' => '29', - 'link_path' => 'user/%/cancel/confirm/%/%', - 'router_path' => 'user/%/cancel/confirm/%/%', - 'link_title' => 'Confirm account cancellation', + 'menu_name' => 'management', + 'mlid' => '197', + 'plid' => '175', + 'link_path' => 'admin/help/menu', + 'router_path' => 'admin/help/menu', + 'link_title' => 'menu', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', 'depth' => '3', 'customized' => '0', - 'p1' => '16', - 'p2' => '29', - 'p3' => '147', + 'p1' => '1', + 'p2' => '175', + 'p3' => '197', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -26784,25 +29440,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '148', - 'plid' => '114', - 'link_path' => 'admin/structure/types/manage/%/delete', - 'router_path' => 'admin/structure/types/manage/%/delete', - 'link_title' => 'Delete', + 'mlid' => '198', + 'plid' => '175', + 'link_path' => 'admin/help/node', + 'router_path' => 'admin/help/node', + 'link_title' => 'node', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '148', + 'p2' => '175', + 'p3' => '198', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -26813,25 +29469,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '149', - 'plid' => '80', - 'link_path' => 'admin/config/people/ip-blocking/delete/%', - 'router_path' => 'admin/config/people/ip-blocking/delete/%', - 'link_title' => 'Delete IP address', + 'mlid' => '199', + 'plid' => '175', + 'link_path' => 'admin/help/number', + 'router_path' => 'admin/help/number', + 'link_title' => 'number', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '45', - 'p4' => '80', - 'p5' => '149', + 'p2' => '175', + 'p3' => '199', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -26842,25 +29498,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '150', - 'plid' => '67', - 'link_path' => 'admin/config/system/actions/delete/%', - 'router_path' => 'admin/config/system/actions/delete/%', - 'link_title' => 'Delete action', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:17:"Delete an action.";}}', + 'mlid' => '200', + 'plid' => '175', + 'link_path' => 'admin/help/options', + 'router_path' => 'admin/help/options', + 'link_title' => 'options', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '53', - 'p4' => '67', - 'p5' => '150', + 'p2' => '175', + 'p3' => '200', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -26871,25 +29527,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '151', - 'plid' => '113', - 'link_path' => 'admin/structure/menu/manage/%/delete', - 'router_path' => 'admin/structure/menu/manage/%/delete', - 'link_title' => 'Delete menu', + 'mlid' => '202', + 'plid' => '175', + 'link_path' => 'admin/help/path', + 'router_path' => 'admin/help/path', + 'link_title' => 'path', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '44', - 'p4' => '113', - 'p5' => '151', + 'p2' => '175', + 'p3' => '202', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -26900,24 +29556,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '152', - 'plid' => '44', - 'link_path' => 'admin/structure/menu/item/%/delete', - 'router_path' => 'admin/structure/menu/item/%/delete', - 'link_title' => 'Delete menu link', + 'mlid' => '203', + 'plid' => '175', + 'link_path' => 'admin/help/rdf', + 'router_path' => 'admin/help/rdf', + 'link_title' => 'rdf', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '44', - 'p4' => '152', + 'p2' => '175', + 'p3' => '203', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -26929,25 +29585,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '153', - 'plid' => '96', - 'link_path' => 'admin/people/permissions/roles/delete/%', - 'router_path' => 'admin/people/permissions/roles/delete/%', - 'link_title' => 'Delete role', + 'mlid' => '204', + 'plid' => '175', + 'link_path' => 'admin/help/search', + 'router_path' => 'admin/help/search', + 'link_title' => 'search', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '17', - 'p3' => '46', - 'p4' => '96', - 'p5' => '153', + 'p2' => '175', + 'p3' => '204', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -26958,26 +29614,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '154', - 'plid' => '105', - 'link_path' => 'admin/config/content/formats/%/disable', - 'router_path' => 'admin/config/content/formats/%/disable', - 'link_title' => 'Disable text format', + 'mlid' => '205', + 'plid' => '175', + 'link_path' => 'admin/help/shortcut', + 'router_path' => 'admin/help/shortcut', + 'link_title' => 'shortcut', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '6', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '33', - 'p4' => '101', - 'p5' => '105', - 'p6' => '154', + 'p2' => '175', + 'p3' => '205', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -26987,11 +29643,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '155', - 'plid' => '114', - 'link_path' => 'admin/structure/types/manage/%/edit', - 'router_path' => 'admin/structure/types/manage/%/edit', - 'link_title' => 'Edit', + 'mlid' => '206', + 'plid' => '175', + 'link_path' => 'admin/help/system', + 'router_path' => 'admin/help/system', + 'link_title' => 'system', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -26999,13 +29655,13 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '155', + 'p2' => '175', + 'p3' => '206', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27016,11 +29672,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '156', - 'plid' => '113', - 'link_path' => 'admin/structure/menu/manage/%/edit', - 'router_path' => 'admin/structure/menu/manage/%/edit', - 'link_title' => 'Edit menu', + 'mlid' => '207', + 'plid' => '175', + 'link_path' => 'admin/help/taxonomy', + 'router_path' => 'admin/help/taxonomy', + 'link_title' => 'taxonomy', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -27028,13 +29684,13 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '44', - 'p4' => '113', - 'p5' => '156', + 'p2' => '175', + 'p3' => '207', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27045,24 +29701,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '157', - 'plid' => '44', - 'link_path' => 'admin/structure/menu/item/%/edit', - 'router_path' => 'admin/structure/menu/item/%/edit', - 'link_title' => 'Edit menu link', + 'mlid' => '208', + 'plid' => '175', + 'link_path' => 'admin/help/text', + 'router_path' => 'admin/help/text', + 'link_title' => 'text', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '44', - 'p4' => '157', + 'p2' => '175', + 'p3' => '208', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -27074,25 +29730,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '158', - 'plid' => '96', - 'link_path' => 'admin/people/permissions/roles/edit/%', - 'router_path' => 'admin/people/permissions/roles/edit/%', - 'link_title' => 'Edit role', + 'mlid' => '209', + 'plid' => '175', + 'link_path' => 'admin/help/user', + 'router_path' => 'admin/help/user', + 'link_title' => 'user', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '17', - 'p3' => '46', - 'p4' => '96', - 'p5' => '158', + 'p2' => '175', + 'p3' => '209', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27102,26 +29758,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '159', - 'plid' => '113', - 'link_path' => 'admin/structure/menu/manage/%/list', - 'router_path' => 'admin/structure/menu/manage/%/list', - 'link_title' => 'List links', + 'menu_name' => 'navigation', + 'mlid' => '210', + 'plid' => '176', + 'link_path' => 'taxonomy/term/%/edit', + 'router_path' => 'taxonomy/term/%/edit', + 'link_title' => 'Edit', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '5', + 'weight' => '10', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '20', - 'p3' => '44', - 'p4' => '113', - 'p5' => '159', + 'p1' => '176', + 'p2' => '210', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27131,25 +29787,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '160', - 'plid' => '44', - 'link_path' => 'admin/structure/menu/item/%/reset', - 'router_path' => 'admin/structure/menu/item/%/reset', - 'link_title' => 'Reset menu link', + 'menu_name' => 'navigation', + 'mlid' => '211', + 'plid' => '176', + 'link_path' => 'taxonomy/term/%/view', + 'router_path' => 'taxonomy/term/%/view', + 'link_title' => 'View', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '20', - 'p3' => '44', - 'p4' => '160', + 'p1' => '176', + 'p2' => '211', + 'p3' => '0', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -27161,25 +29817,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '161', - 'plid' => '114', - 'link_path' => 'admin/structure/types/manage/%/comment/display', - 'router_path' => 'admin/structure/types/manage/%/comment/display', - 'link_title' => 'Comment display', + 'mlid' => '212', + 'plid' => '180', + 'link_path' => 'admin/structure/taxonomy/%', + 'router_path' => 'admin/structure/taxonomy/%', + 'link_title' => '', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '4', - 'depth' => '5', + 'weight' => '0', + 'depth' => '4', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '161', + 'p3' => '180', + 'p4' => '212', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27190,25 +29846,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '162', - 'plid' => '114', - 'link_path' => 'admin/structure/types/manage/%/comment/fields', - 'router_path' => 'admin/structure/types/manage/%/comment/fields', - 'link_title' => 'Comment fields', + 'mlid' => '213', + 'plid' => '180', + 'link_path' => 'admin/structure/taxonomy/add', + 'router_path' => 'admin/structure/taxonomy/add', + 'link_title' => 'Add vocabulary', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '3', - 'depth' => '5', + 'weight' => '0', + 'depth' => '4', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '162', + 'p3' => '180', + 'p4' => '213', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27219,25 +29875,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '163', - 'plid' => '146', - 'link_path' => 'admin/structure/block/manage/%/%/configure', - 'router_path' => 'admin/structure/block/manage/%/%/configure', - 'link_title' => 'Configure block', - 'options' => 'a:0:{}', + 'mlid' => '214', + 'plid' => '43', + 'link_path' => 'admin/config/media/image-styles', + 'router_path' => 'admin/config/media/image-styles', + 'link_title' => 'Image styles', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:78:"Configure styles that can be used for resizing or adjusting images on display.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '28', - 'p4' => '146', - 'p5' => '163', + 'p2' => '8', + 'p3' => '43', + 'p4' => '214', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27248,25 +29904,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '164', - 'plid' => '146', - 'link_path' => 'admin/structure/block/manage/%/%/delete', - 'router_path' => 'admin/structure/block/manage/%/%/delete', - 'link_title' => 'Delete block', + 'mlid' => '215', + 'plid' => '180', + 'link_path' => 'admin/structure/taxonomy/list', + 'router_path' => 'admin/structure/taxonomy/list', + 'link_title' => 'List', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '5', + 'weight' => '-10', + 'depth' => '4', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '28', - 'p4' => '146', - 'p5' => '164', + 'p3' => '180', + 'p4' => '215', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27277,26 +29933,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '165', - 'plid' => '116', - 'link_path' => 'admin/config/regional/date-time/formats/%/delete', - 'router_path' => 'admin/config/regional/date-time/formats/%/delete', - 'link_title' => 'Delete date format', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:47:"Allow users to delete a configured date format.";}}', + 'mlid' => '216', + 'plid' => '50', + 'link_path' => 'admin/config/search/settings', + 'router_path' => 'admin/config/search/settings', + 'link_title' => 'Search settings', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:67:"Configure relevance settings for search and other indexing options.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '6', + 'weight' => '-10', + 'depth' => '4', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '48', - 'p4' => '74', - 'p5' => '116', - 'p6' => '165', + 'p3' => '50', + 'p4' => '216', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -27306,26 +29962,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '166', - 'plid' => '127', - 'link_path' => 'admin/config/regional/date-time/types/%/delete', - 'router_path' => 'admin/config/regional/date-time/types/%/delete', - 'link_title' => 'Delete date type', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:45:"Allow users to delete a configured date type.";}}', + 'mlid' => '217', + 'plid' => '57', + 'link_path' => 'admin/config/user-interface/shortcut', + 'router_path' => 'admin/config/user-interface/shortcut', + 'link_title' => 'Shortcuts', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:29:"Add and modify shortcut sets.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', 'weight' => '0', - 'depth' => '6', + 'depth' => '4', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '48', - 'p4' => '74', - 'p5' => '127', - 'p6' => '166', + 'p3' => '57', + 'p4' => '217', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -27335,26 +29991,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '167', - 'plid' => '116', - 'link_path' => 'admin/config/regional/date-time/formats/%/edit', - 'router_path' => 'admin/config/regional/date-time/formats/%/edit', - 'link_title' => 'Edit date format', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:45:"Allow users to edit a configured date format.";}}', + 'mlid' => '218', + 'plid' => '50', + 'link_path' => 'admin/config/search/path', + 'router_path' => 'admin/config/search/path', + 'link_title' => 'URL aliases', + 'options' => "a:1:{s:10:\"attributes\";a:1:{s:5:\"title\";s:46:\"Change your site's URL paths by aliasing them.\";}}", 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '0', - 'depth' => '6', + 'weight' => '-5', + 'depth' => '4', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '48', - 'p4' => '74', - 'p5' => '116', - 'p6' => '167', + 'p3' => '50', + 'p4' => '218', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -27364,25 +30020,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '168', - 'plid' => '44', - 'link_path' => 'admin/structure/menu/manage/main-menu', - 'router_path' => 'admin/structure/menu/manage/%', - 'link_title' => 'Main menu', + 'mlid' => '219', + 'plid' => '218', + 'link_path' => 'admin/config/search/path/add', + 'router_path' => 'admin/config/search/path/add', + 'link_title' => 'Add alias', 'options' => 'a:0:{}', - 'module' => 'menu', - 'hidden' => '0', + 'module' => 'system', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '44', - 'p4' => '168', - 'p5' => '0', + 'p2' => '8', + 'p3' => '50', + 'p4' => '218', + 'p5' => '219', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27393,25 +30049,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '169', - 'plid' => '44', - 'link_path' => 'admin/structure/menu/manage/management', - 'router_path' => 'admin/structure/menu/manage/%', - 'link_title' => 'Management', + 'mlid' => '220', + 'plid' => '217', + 'link_path' => 'admin/config/user-interface/shortcut/add-set', + 'router_path' => 'admin/config/user-interface/shortcut/add-set', + 'link_title' => 'Add shortcut set', 'options' => 'a:0:{}', - 'module' => 'menu', - 'hidden' => '0', + 'module' => 'system', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '44', - 'p4' => '169', - 'p5' => '0', + 'p2' => '8', + 'p3' => '57', + 'p4' => '217', + 'p5' => '220', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27422,25 +30078,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '170', - 'plid' => '44', - 'link_path' => 'admin/structure/menu/manage/navigation', - 'router_path' => 'admin/structure/menu/manage/%', - 'link_title' => 'Navigation', - 'options' => 'a:0:{}', - 'module' => 'menu', - 'hidden' => '0', + 'mlid' => '221', + 'plid' => '214', + 'link_path' => 'admin/config/media/image-styles/add', + 'router_path' => 'admin/config/media/image-styles/add', + 'link_title' => 'Add style', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:22:"Add a new image style.";}}', + 'module' => 'system', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '4', + 'weight' => '2', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '44', - 'p4' => '170', - 'p5' => '0', + 'p2' => '8', + 'p3' => '43', + 'p4' => '214', + 'p5' => '221', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27451,25 +30107,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '171', - 'plid' => '44', - 'link_path' => 'admin/structure/menu/manage/user-menu', - 'router_path' => 'admin/structure/menu/manage/%', - 'link_title' => 'User menu', + 'mlid' => '222', + 'plid' => '212', + 'link_path' => 'admin/structure/taxonomy/%/add', + 'router_path' => 'admin/structure/taxonomy/%/add', + 'link_title' => 'Add term', 'options' => 'a:0:{}', - 'module' => 'menu', - 'hidden' => '0', + 'module' => 'system', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '5', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '44', - 'p4' => '171', - 'p5' => '0', + 'p3' => '180', + 'p4' => '212', + 'p5' => '222', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27479,26 +30135,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '172', - 'plid' => '0', - 'link_path' => 'search', - 'router_path' => 'search', - 'link_title' => 'Search', + 'menu_name' => 'management', + 'mlid' => '223', + 'plid' => '216', + 'link_path' => 'admin/config/search/settings/reindex', + 'router_path' => 'admin/config/search/settings/reindex', + 'link_title' => 'Clear index', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '1', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '1', + 'depth' => '5', 'customized' => '0', - 'p1' => '172', - 'p2' => '0', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '50', + 'p4' => '216', + 'p5' => '223', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27508,12 +30164,12 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '173', - 'plid' => '172', - 'link_path' => 'search/node', - 'router_path' => 'search/node', - 'link_title' => 'Content', + 'menu_name' => 'management', + 'mlid' => '224', + 'plid' => '212', + 'link_path' => 'admin/structure/taxonomy/%/edit', + 'router_path' => 'admin/structure/taxonomy/%/edit', + 'link_title' => 'Edit', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -27521,13 +30177,13 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '-10', - 'depth' => '2', + 'depth' => '5', 'customized' => '0', - 'p1' => '172', - 'p2' => '173', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '180', + 'p4' => '212', + 'p5' => '224', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27537,26 +30193,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '174', - 'plid' => '172', - 'link_path' => 'search/user', - 'router_path' => 'search/user', - 'link_title' => 'Users', + 'menu_name' => 'management', + 'mlid' => '225', + 'plid' => '217', + 'link_path' => 'admin/config/user-interface/shortcut/%', + 'router_path' => 'admin/config/user-interface/shortcut/%', + 'link_title' => 'Edit shortcuts', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', 'weight' => '0', - 'depth' => '2', + 'depth' => '5', 'customized' => '0', - 'p1' => '172', - 'p2' => '174', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '57', + 'p4' => '217', + 'p5' => '225', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27567,25 +30223,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '175', - 'plid' => '1', - 'link_path' => 'admin/help', - 'router_path' => 'admin/help', - 'link_title' => 'Help', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:48:"Reference for usage, configuration, and modules.";}}', + 'mlid' => '226', + 'plid' => '212', + 'link_path' => 'admin/structure/taxonomy/%/list', + 'router_path' => 'admin/structure/taxonomy/%/list', + 'link_title' => 'List', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '9', - 'depth' => '2', + 'weight' => '-20', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', + 'p2' => '20', + 'p3' => '180', + 'p4' => '212', + 'p5' => '226', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27595,26 +30251,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '176', - 'plid' => '0', - 'link_path' => 'taxonomy/term/%', - 'router_path' => 'taxonomy/term/%', - 'link_title' => 'Taxonomy term', + 'menu_name' => 'management', + 'mlid' => '227', + 'plid' => '218', + 'link_path' => 'admin/config/search/path/list', + 'router_path' => 'admin/config/search/path/list', + 'link_title' => 'List', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '1', + 'weight' => '-10', + 'depth' => '5', 'customized' => '0', - 'p1' => '176', - 'p2' => '0', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '50', + 'p4' => '218', + 'p5' => '227', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27624,26 +30280,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '177', - 'plid' => '173', - 'link_path' => 'search/node/%', - 'router_path' => 'search/node/%', - 'link_title' => 'Content', - 'options' => 'a:0:{}', + 'menu_name' => 'management', + 'mlid' => '228', + 'plid' => '214', + 'link_path' => 'admin/config/media/image-styles/list', + 'router_path' => 'admin/config/media/image-styles/list', + 'link_title' => 'List', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:42:"List the current image styles on the site.";}}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '3', + 'weight' => '1', + 'depth' => '5', 'customized' => '0', - 'p1' => '172', - 'p2' => '173', - 'p3' => '177', - 'p4' => '0', - 'p5' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '43', + 'p4' => '214', + 'p5' => '228', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27654,26 +30310,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '178', - 'plid' => '18', - 'link_path' => 'admin/reports/fields', - 'router_path' => 'admin/reports/fields', - 'link_title' => 'Field list', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:39:"Overview of fields on all entity types.";}}', + 'mlid' => '229', + 'plid' => '225', + 'link_path' => 'admin/config/user-interface/shortcut/%/add-link', + 'router_path' => 'admin/config/user-interface/shortcut/%/add-link', + 'link_title' => 'Add shortcut', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '18', - 'p3' => '178', - 'p4' => '0', - 'p5' => '0', - 'p6' => '0', + 'p2' => '8', + 'p3' => '57', + 'p4' => '217', + 'p5' => '225', + 'p6' => '229', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -27682,26 +30338,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '179', - 'plid' => '16', - 'link_path' => 'user/%/shortcuts', - 'router_path' => 'user/%/shortcuts', - 'link_title' => 'Shortcuts', + 'menu_name' => 'management', + 'mlid' => '230', + 'plid' => '218', + 'link_path' => 'admin/config/search/path/delete/%', + 'router_path' => 'admin/config/search/path/delete/%', + 'link_title' => 'Delete alias', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '2', + 'depth' => '5', 'customized' => '0', - 'p1' => '16', - 'p2' => '179', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '50', + 'p4' => '218', + 'p5' => '230', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27712,26 +30368,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '180', - 'plid' => '20', - 'link_path' => 'admin/structure/taxonomy', - 'router_path' => 'admin/structure/taxonomy', - 'link_title' => 'Taxonomy', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:67:"Manage tagging, categorization, and classification of your content.";}}', + 'mlid' => '231', + 'plid' => '225', + 'link_path' => 'admin/config/user-interface/shortcut/%/delete', + 'router_path' => 'admin/config/user-interface/shortcut/%/delete', + 'link_title' => 'Delete shortcut set', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '180', - 'p4' => '0', - 'p5' => '0', - 'p6' => '0', + 'p2' => '8', + 'p3' => '57', + 'p4' => '217', + 'p5' => '225', + 'p6' => '231', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -27741,25 +30397,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '181', - 'plid' => '18', - 'link_path' => 'admin/reports/search', - 'router_path' => 'admin/reports/search', - 'link_title' => 'Top search phrases', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:33:"View most popular search phrases.";}}', + 'mlid' => '232', + 'plid' => '218', + 'link_path' => 'admin/config/search/path/edit/%', + 'router_path' => 'admin/config/search/path/edit/%', + 'link_title' => 'Edit alias', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '18', - 'p3' => '181', - 'p4' => '0', - 'p5' => '0', + 'p2' => '8', + 'p3' => '50', + 'p4' => '218', + 'p5' => '232', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27769,27 +30425,27 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '182', - 'plid' => '174', - 'link_path' => 'search/user/%', - 'router_path' => 'search/user/%', - 'link_title' => 'Users', + 'menu_name' => 'management', + 'mlid' => '233', + 'plid' => '225', + 'link_path' => 'admin/config/user-interface/shortcut/%/edit', + 'router_path' => 'admin/config/user-interface/shortcut/%/edit', + 'link_title' => 'Edit set name', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '3', + 'weight' => '10', + 'depth' => '6', 'customized' => '0', - 'p1' => '172', - 'p2' => '174', - 'p3' => '182', - 'p4' => '0', - 'p5' => '0', - 'p6' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '57', + 'p4' => '217', + 'p5' => '225', + 'p6' => '233', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -27799,25 +30455,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '183', - 'plid' => '175', - 'link_path' => 'admin/help/block', - 'router_path' => 'admin/help/block', - 'link_title' => 'block', + 'mlid' => '234', + 'plid' => '217', + 'link_path' => 'admin/config/user-interface/shortcut/link/%', + 'router_path' => 'admin/config/user-interface/shortcut/link/%', + 'link_title' => 'Edit shortcut', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '183', - 'p4' => '0', - 'p5' => '0', + 'p2' => '8', + 'p3' => '57', + 'p4' => '217', + 'p5' => '234', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27828,25 +30484,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '184', - 'plid' => '175', - 'link_path' => 'admin/help/color', - 'router_path' => 'admin/help/color', - 'link_title' => 'color', - 'options' => 'a:0:{}', + 'mlid' => '235', + 'plid' => '214', + 'link_path' => 'admin/config/media/image-styles/edit/%', + 'router_path' => 'admin/config/media/image-styles/edit/%', + 'link_title' => 'Edit style', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:25:"Configure an image style.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '184', - 'p4' => '0', - 'p5' => '0', + 'p2' => '8', + 'p3' => '43', + 'p4' => '214', + 'p5' => '235', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27857,11 +30513,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '185', - 'plid' => '175', - 'link_path' => 'admin/help/comment', - 'router_path' => 'admin/help/comment', - 'link_title' => 'comment', + 'mlid' => '236', + 'plid' => '225', + 'link_path' => 'admin/config/user-interface/shortcut/%/links', + 'router_path' => 'admin/config/user-interface/shortcut/%/links', + 'link_title' => 'List links', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -27869,14 +30525,14 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '185', - 'p4' => '0', - 'p5' => '0', - 'p6' => '0', + 'p2' => '8', + 'p3' => '57', + 'p4' => '217', + 'p5' => '225', + 'p6' => '236', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -27886,25 +30542,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '186', - 'plid' => '175', - 'link_path' => 'admin/help/contextual', - 'router_path' => 'admin/help/contextual', - 'link_title' => 'contextual', - 'options' => 'a:0:{}', + 'mlid' => '237', + 'plid' => '214', + 'link_path' => 'admin/config/media/image-styles/delete/%', + 'router_path' => 'admin/config/media/image-styles/delete/%', + 'link_title' => 'Delete style', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:22:"Delete an image style.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '186', - 'p4' => '0', - 'p5' => '0', + 'p2' => '8', + 'p3' => '43', + 'p4' => '214', + 'p5' => '237', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27915,25 +30571,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '188', - 'plid' => '175', - 'link_path' => 'admin/help/dblog', - 'router_path' => 'admin/help/dblog', - 'link_title' => 'dblog', - 'options' => 'a:0:{}', + 'mlid' => '238', + 'plid' => '214', + 'link_path' => 'admin/config/media/image-styles/revert/%', + 'router_path' => 'admin/config/media/image-styles/revert/%', + 'link_title' => 'Revert style', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:22:"Revert an image style.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '188', - 'p4' => '0', - 'p5' => '0', + 'p2' => '8', + 'p3' => '43', + 'p4' => '214', + 'p5' => '238', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -27944,26 +30600,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '189', - 'plid' => '175', - 'link_path' => 'admin/help/field', - 'router_path' => 'admin/help/field', - 'link_title' => 'field', + 'mlid' => '239', + 'plid' => '234', + 'link_path' => 'admin/config/user-interface/shortcut/link/%/delete', + 'router_path' => 'admin/config/user-interface/shortcut/link/%/delete', + 'link_title' => 'Delete shortcut', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '189', - 'p4' => '0', - 'p5' => '0', - 'p6' => '0', + 'p2' => '8', + 'p3' => '57', + 'p4' => '217', + 'p5' => '234', + 'p6' => '239', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -27973,26 +30629,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '190', - 'plid' => '175', - 'link_path' => 'admin/help/field_sql_storage', - 'router_path' => 'admin/help/field_sql_storage', - 'link_title' => 'field_sql_storage', - 'options' => 'a:0:{}', + 'mlid' => '240', + 'plid' => '235', + 'link_path' => 'admin/config/media/image-styles/edit/%/add/%', + 'router_path' => 'admin/config/media/image-styles/edit/%/add/%', + 'link_title' => 'Add image effect', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:28:"Add a new effect to a style.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '190', - 'p4' => '0', - 'p5' => '0', - 'p6' => '0', + 'p2' => '8', + 'p3' => '43', + 'p4' => '214', + 'p5' => '235', + 'p6' => '240', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -28002,26 +30658,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '191', - 'plid' => '175', - 'link_path' => 'admin/help/field_ui', - 'router_path' => 'admin/help/field_ui', - 'link_title' => 'field_ui', - 'options' => 'a:0:{}', + 'mlid' => '241', + 'plid' => '235', + 'link_path' => 'admin/config/media/image-styles/edit/%/effects/%', + 'router_path' => 'admin/config/media/image-styles/edit/%/effects/%', + 'link_title' => 'Edit image effect', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:39:"Edit an existing effect within a style.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '191', - 'p4' => '0', - 'p5' => '0', - 'p6' => '0', + 'p2' => '8', + 'p3' => '43', + 'p4' => '214', + 'p5' => '235', + 'p6' => '241', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -28031,27 +30687,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '192', - 'plid' => '175', - 'link_path' => 'admin/help/file', - 'router_path' => 'admin/help/file', - 'link_title' => 'file', - 'options' => 'a:0:{}', + 'mlid' => '242', + 'plid' => '241', + 'link_path' => 'admin/config/media/image-styles/edit/%/effects/%/delete', + 'router_path' => 'admin/config/media/image-styles/edit/%/effects/%/delete', + 'link_title' => 'Delete image effect', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:39:"Delete an existing effect from a style.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '7', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '192', - 'p4' => '0', - 'p5' => '0', - 'p6' => '0', - 'p7' => '0', + 'p2' => '8', + 'p3' => '43', + 'p4' => '214', + 'p5' => '235', + 'p6' => '241', + 'p7' => '242', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -28059,24 +30715,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '193', - 'plid' => '175', - 'link_path' => 'admin/help/filter', - 'router_path' => 'admin/help/filter', - 'link_title' => 'filter', + 'menu_name' => 'shortcut-set-1', + 'mlid' => '243', + 'plid' => '0', + 'link_path' => 'node/add', + 'router_path' => 'node/add', + 'link_title' => 'Add content', 'options' => 'a:0:{}', - 'module' => 'system', - 'hidden' => '-1', + 'module' => 'menu', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '3', + 'weight' => '-20', + 'depth' => '1', 'customized' => '0', - 'p1' => '1', - 'p2' => '175', - 'p3' => '193', + 'p1' => '243', + 'p2' => '0', + 'p3' => '0', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -28088,24 +30744,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '194', - 'plid' => '175', - 'link_path' => 'admin/help/help', - 'router_path' => 'admin/help/help', - 'link_title' => 'help', + 'menu_name' => 'shortcut-set-1', + 'mlid' => '244', + 'plid' => '0', + 'link_path' => 'admin/content', + 'router_path' => 'admin/content', + 'link_title' => 'Find content', 'options' => 'a:0:{}', - 'module' => 'system', - 'hidden' => '-1', + 'module' => 'menu', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '3', + 'weight' => '-19', + 'depth' => '1', 'customized' => '0', - 'p1' => '1', - 'p2' => '175', - 'p3' => '194', + 'p1' => '244', + 'p2' => '0', + 'p3' => '0', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -28117,24 +30773,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '195', - 'plid' => '175', - 'link_path' => 'admin/help/image', - 'router_path' => 'admin/help/image', - 'link_title' => 'image', + 'menu_name' => 'main-menu', + 'mlid' => '245', + 'plid' => '0', + 'link_path' => '', + 'router_path' => '', + 'link_title' => 'Home', 'options' => 'a:0:{}', - 'module' => 'system', - 'hidden' => '-1', - 'external' => '0', + 'module' => 'menu', + 'hidden' => '0', + 'external' => '1', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '1', 'customized' => '0', - 'p1' => '1', - 'p2' => '175', - 'p3' => '195', + 'p1' => '245', + 'p2' => '0', + 'p3' => '0', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -28146,24 +30802,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '196', - 'plid' => '175', - 'link_path' => 'admin/help/list', - 'router_path' => 'admin/help/list', - 'link_title' => 'list', - 'options' => 'a:0:{}', + 'menu_name' => 'navigation', + 'mlid' => '246', + 'plid' => '6', + 'link_path' => 'node/add/article', + 'router_path' => 'node/add/article', + 'link_title' => 'Article', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:89:"Use articles for time-sensitive content like news, press releases or blog posts.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '175', - 'p3' => '196', + 'p1' => '6', + 'p2' => '246', + 'p3' => '0', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -28175,24 +30831,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '197', - 'plid' => '175', - 'link_path' => 'admin/help/menu', - 'router_path' => 'admin/help/menu', - 'link_title' => 'menu', - 'options' => 'a:0:{}', + 'menu_name' => 'navigation', + 'mlid' => '247', + 'plid' => '6', + 'link_path' => 'node/add/page', + 'router_path' => 'node/add/page', + 'link_title' => 'Basic page', + 'options' => "a:1:{s:10:\"attributes\";a:1:{s:5:\"title\";s:77:\"Use basic pages for your static content, such as an 'About us' page.\";}}", 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '175', - 'p3' => '197', + 'p1' => '6', + 'p2' => '247', + 'p3' => '0', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -28205,11 +30861,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '198', + 'mlid' => '248', 'plid' => '175', - 'link_path' => 'admin/help/node', - 'router_path' => 'admin/help/node', - 'link_title' => 'node', + 'link_path' => 'admin/help/toolbar', + 'router_path' => 'admin/help/toolbar', + 'link_title' => 'toolbar', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -28221,7 +30877,7 @@ 'customized' => '0', 'p1' => '1', 'p2' => '175', - 'p3' => '198', + 'p3' => '248', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -28234,23 +30890,23 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '199', - 'plid' => '175', - 'link_path' => 'admin/help/number', - 'router_path' => 'admin/help/number', - 'link_title' => 'number', - 'options' => 'a:0:{}', + 'mlid' => '287', + 'plid' => '18', + 'link_path' => 'admin/reports/updates', + 'router_path' => 'admin/reports/updates', + 'link_title' => 'Available updates', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:82:"Get a status report about available updates for your installed modules and themes.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', + 'weight' => '-50', 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '199', + 'p2' => '18', + 'p3' => '287', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -28263,23 +30919,23 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '200', - 'plid' => '175', - 'link_path' => 'admin/help/options', - 'router_path' => 'admin/help/options', - 'link_title' => 'options', + 'mlid' => '288', + 'plid' => '15', + 'link_path' => 'admin/modules/install', + 'router_path' => 'admin/modules/install', + 'link_title' => 'Install new module', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', + 'weight' => '25', 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '200', + 'p2' => '15', + 'p3' => '288', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -28292,23 +30948,23 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '202', - 'plid' => '175', - 'link_path' => 'admin/help/path', - 'router_path' => 'admin/help/path', - 'link_title' => 'path', + 'mlid' => '289', + 'plid' => '7', + 'link_path' => 'admin/appearance/install', + 'router_path' => 'admin/appearance/install', + 'link_title' => 'Install new theme', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', + 'weight' => '25', 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '202', + 'p2' => '7', + 'p3' => '289', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -28321,23 +30977,23 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '203', - 'plid' => '175', - 'link_path' => 'admin/help/rdf', - 'router_path' => 'admin/help/rdf', - 'link_title' => 'rdf', + 'mlid' => '290', + 'plid' => '15', + 'link_path' => 'admin/modules/update', + 'router_path' => 'admin/modules/update', + 'link_title' => 'Update', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', + 'weight' => '10', 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '203', + 'p2' => '15', + 'p3' => '290', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -28350,23 +31006,23 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '204', - 'plid' => '175', - 'link_path' => 'admin/help/search', - 'router_path' => 'admin/help/search', - 'link_title' => 'search', + 'mlid' => '291', + 'plid' => '7', + 'link_path' => 'admin/appearance/update', + 'router_path' => 'admin/appearance/update', + 'link_title' => 'Update', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', + 'weight' => '10', 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '204', + 'p2' => '7', + 'p3' => '291', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -28379,11 +31035,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '205', + 'mlid' => '292', 'plid' => '175', - 'link_path' => 'admin/help/shortcut', - 'router_path' => 'admin/help/shortcut', - 'link_title' => 'shortcut', + 'link_path' => 'admin/help/update', + 'router_path' => 'admin/help/update', + 'link_title' => 'update', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -28395,7 +31051,7 @@ 'customized' => '0', 'p1' => '1', 'p2' => '175', - 'p3' => '205', + 'p3' => '292', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -28408,11 +31064,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '206', - 'plid' => '175', - 'link_path' => 'admin/help/system', - 'router_path' => 'admin/help/system', - 'link_title' => 'system', + 'mlid' => '293', + 'plid' => '287', + 'link_path' => 'admin/reports/updates/list', + 'router_path' => 'admin/reports/updates/list', + 'link_title' => 'List', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -28420,12 +31076,12 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '206', - 'p4' => '0', + 'p2' => '18', + 'p3' => '287', + 'p4' => '293', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -28437,24 +31093,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '207', - 'plid' => '175', - 'link_path' => 'admin/help/taxonomy', - 'router_path' => 'admin/help/taxonomy', - 'link_title' => 'taxonomy', + 'mlid' => '294', + 'plid' => '287', + 'link_path' => 'admin/reports/updates/settings', + 'router_path' => 'admin/reports/updates/settings', + 'link_title' => 'Settings', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '3', + 'weight' => '50', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '207', - 'p4' => '0', + 'p2' => '18', + 'p3' => '287', + 'p4' => '294', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -28466,24 +31122,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '208', - 'plid' => '175', - 'link_path' => 'admin/help/text', - 'router_path' => 'admin/help/text', - 'link_title' => 'text', + 'mlid' => '295', + 'plid' => '287', + 'link_path' => 'admin/reports/updates/install', + 'router_path' => 'admin/reports/updates/install', + 'link_title' => 'Install new module or theme', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '3', + 'weight' => '25', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '208', - 'p4' => '0', + 'p2' => '18', + 'p3' => '287', + 'p4' => '295', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -28495,24 +31151,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '209', - 'plid' => '175', - 'link_path' => 'admin/help/user', - 'router_path' => 'admin/help/user', - 'link_title' => 'user', + 'mlid' => '296', + 'plid' => '287', + 'link_path' => 'admin/reports/updates/update', + 'router_path' => 'admin/reports/updates/update', + 'link_title' => 'Update', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '3', + 'weight' => '10', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '209', - 'p4' => '0', + 'p2' => '18', + 'p3' => '287', + 'p4' => '296', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -28524,22 +31180,22 @@ )) ->values(array( 'menu_name' => 'navigation', - 'mlid' => '210', - 'plid' => '176', - 'link_path' => 'taxonomy/term/%/edit', - 'router_path' => 'taxonomy/term/%/edit', - 'link_title' => 'Edit', + 'mlid' => '335', + 'plid' => '0', + 'link_path' => 'blog', + 'router_path' => 'blog', + 'link_title' => 'Blogs', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '1', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '10', - 'depth' => '2', + 'weight' => '0', + 'depth' => '1', 'customized' => '0', - 'p1' => '176', - 'p2' => '210', + 'p1' => '335', + 'p2' => '0', 'p3' => '0', 'p4' => '0', 'p5' => '0', @@ -28553,22 +31209,22 @@ )) ->values(array( 'menu_name' => 'navigation', - 'mlid' => '211', - 'plid' => '176', - 'link_path' => 'taxonomy/term/%/view', - 'router_path' => 'taxonomy/term/%/view', - 'link_title' => 'View', + 'mlid' => '336', + 'plid' => '0', + 'link_path' => 'book', + 'router_path' => 'book', + 'link_title' => 'Books', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '2', + 'depth' => '1', 'customized' => '0', - 'p1' => '176', - 'p2' => '211', + 'p1' => '336', + 'p2' => '0', 'p3' => '0', 'p4' => '0', 'p5' => '0', @@ -28581,25 +31237,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '212', - 'plid' => '180', - 'link_path' => 'admin/structure/taxonomy/%', - 'router_path' => 'admin/structure/taxonomy/%', - 'link_title' => '', + 'menu_name' => 'navigation', + 'mlid' => '337', + 'plid' => '0', + 'link_path' => 'contact', + 'router_path' => 'contact', + 'link_title' => 'Contact', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '1', 'customized' => '0', - 'p1' => '1', - 'p2' => '20', - 'p3' => '180', - 'p4' => '212', + 'p1' => '337', + 'p2' => '0', + 'p3' => '0', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -28610,25 +31266,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '213', - 'plid' => '180', - 'link_path' => 'admin/structure/taxonomy/add', - 'router_path' => 'admin/structure/taxonomy/add', - 'link_title' => 'Add vocabulary', + 'menu_name' => 'navigation', + 'mlid' => '338', + 'plid' => '0', + 'link_path' => 'aggregator', + 'router_path' => 'aggregator', + 'link_title' => 'Feed aggregator', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '0', - 'depth' => '4', + 'weight' => '5', + 'depth' => '1', 'customized' => '0', - 'p1' => '1', - 'p2' => '20', - 'p3' => '180', - 'p4' => '213', + 'p1' => '338', + 'p2' => '0', + 'p3' => '0', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -28639,25 +31295,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '214', - 'plid' => '43', - 'link_path' => 'admin/config/media/image-styles', - 'router_path' => 'admin/config/media/image-styles', - 'link_title' => 'Image styles', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:78:"Configure styles that can be used for resizing or adjusting images on display.";}}', + 'menu_name' => 'navigation', + 'mlid' => '339', + 'plid' => '0', + 'link_path' => 'forum', + 'router_path' => 'forum', + 'link_title' => 'Forums', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '1', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '1', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '43', - 'p4' => '214', + 'p1' => '339', + 'p2' => '0', + 'p3' => '0', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -28668,25 +31324,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '215', - 'plid' => '180', - 'link_path' => 'admin/structure/taxonomy/list', - 'router_path' => 'admin/structure/taxonomy/list', - 'link_title' => 'List', + 'menu_name' => 'navigation', + 'mlid' => '340', + 'plid' => '0', + 'link_path' => 'tracker', + 'router_path' => 'tracker', + 'link_title' => 'Recent content', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '4', + 'weight' => '1', + 'depth' => '1', 'customized' => '0', - 'p1' => '1', - 'p2' => '20', - 'p3' => '180', - 'p4' => '215', + 'p1' => '340', + 'p2' => '0', + 'p3' => '0', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -28697,25 +31353,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '216', - 'plid' => '50', - 'link_path' => 'admin/config/search/settings', - 'router_path' => 'admin/config/search/settings', - 'link_title' => 'Search settings', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:67:"Configure relevance settings for search and other indexing options.";}}', + 'menu_name' => 'navigation', + 'mlid' => '341', + 'plid' => '340', + 'link_path' => 'tracker/all', + 'router_path' => 'tracker/all', + 'link_title' => 'All recent content', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '4', + 'weight' => '0', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '50', - 'p4' => '216', + 'p1' => '340', + 'p2' => '341', + 'p3' => '0', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -28726,25 +31382,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '217', - 'plid' => '57', - 'link_path' => 'admin/config/user-interface/shortcut', - 'router_path' => 'admin/config/user-interface/shortcut', - 'link_title' => 'Shortcuts', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:29:"Add and modify shortcut sets.";}}', + 'menu_name' => 'navigation', + 'mlid' => '342', + 'plid' => '338', + 'link_path' => 'aggregator/categories', + 'router_path' => 'aggregator/categories', + 'link_title' => 'Categories', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '1', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '57', - 'p4' => '217', + 'p1' => '338', + 'p2' => '342', + 'p3' => '0', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -28755,25 +31411,54 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '218', - 'plid' => '50', - 'link_path' => 'admin/config/search/path', - 'router_path' => 'admin/config/search/path', - 'link_title' => 'URL aliases', - 'options' => "a:1:{s:10:\"attributes\";a:1:{s:5:\"title\";s:46:\"Change your site's URL paths by aliasing them.\";}}", + 'menu_name' => 'navigation', + 'mlid' => '343', + 'plid' => '339', + 'link_path' => 'forum/%', + 'router_path' => 'forum/%', + 'link_title' => 'Forums', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '2', + 'customized' => '0', + 'p1' => '339', + 'p2' => '343', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'navigation', + 'mlid' => '344', + 'plid' => '335', + 'link_path' => 'blog/%', + 'router_path' => 'blog/%', + 'link_title' => 'My blog', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '-5', - 'depth' => '4', + 'weight' => '0', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '50', - 'p4' => '218', + 'p1' => '335', + 'p2' => '344', + 'p3' => '0', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -28784,12 +31469,12 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '219', - 'plid' => '218', - 'link_path' => 'admin/config/search/path/add', - 'router_path' => 'admin/config/search/path/add', - 'link_title' => 'Add alias', + 'menu_name' => 'navigation', + 'mlid' => '345', + 'plid' => '340', + 'link_path' => 'tracker/%', + 'router_path' => 'tracker/%', + 'link_title' => 'My recent content', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -28797,13 +31482,13 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '50', - 'p4' => '218', - 'p5' => '219', + 'p1' => '340', + 'p2' => '345', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -28813,26 +31498,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '220', - 'plid' => '217', - 'link_path' => 'admin/config/user-interface/shortcut/add-set', - 'router_path' => 'admin/config/user-interface/shortcut/add-set', - 'link_title' => 'Add shortcut set', + 'menu_name' => 'navigation', + 'mlid' => '346', + 'plid' => '338', + 'link_path' => 'aggregator/sources', + 'router_path' => 'aggregator/sources', + 'link_title' => 'Sources', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '57', - 'p4' => '217', - 'p5' => '220', + 'p1' => '338', + 'p2' => '346', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -28842,26 +31527,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '221', - 'plid' => '214', - 'link_path' => 'admin/config/media/image-styles/add', - 'router_path' => 'admin/config/media/image-styles/add', - 'link_title' => 'Add style', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:22:"Add a new image style.";}}', + 'menu_name' => 'navigation', + 'mlid' => '347', + 'plid' => '342', + 'link_path' => 'aggregator/categories/%', + 'router_path' => 'aggregator/categories/%', + 'link_title' => '', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '2', - 'depth' => '5', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '43', - 'p4' => '214', - 'p5' => '221', + 'p1' => '338', + 'p2' => '342', + 'p3' => '347', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -28871,26 +31556,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '222', - 'plid' => '212', - 'link_path' => 'admin/structure/taxonomy/%/add', - 'router_path' => 'admin/structure/taxonomy/%/add', - 'link_title' => 'Add term', + 'menu_name' => 'navigation', + 'mlid' => '348', + 'plid' => '346', + 'link_path' => 'aggregator/sources/%', + 'router_path' => 'aggregator/sources/%', + 'link_title' => '', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '3', 'customized' => '0', - 'p1' => '1', - 'p2' => '20', - 'p3' => '180', - 'p4' => '212', - 'p5' => '222', + 'p1' => '338', + 'p2' => '346', + 'p3' => '348', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -28900,26 +31585,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '223', - 'plid' => '216', - 'link_path' => 'admin/config/search/settings/reindex', - 'router_path' => 'admin/config/search/settings/reindex', - 'link_title' => 'Clear index', - 'options' => 'a:0:{}', + 'menu_name' => 'navigation', + 'mlid' => '349', + 'plid' => '6', + 'link_path' => 'node/add/blog', + 'router_path' => 'node/add/blog', + 'link_title' => 'Blog entry', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:58:"Use for multi-user blogs. Every user gets a personal blog.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '50', - 'p4' => '216', - 'p5' => '223', + 'p1' => '6', + 'p2' => '349', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -28929,26 +31614,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '224', - 'plid' => '212', - 'link_path' => 'admin/structure/taxonomy/%/edit', - 'router_path' => 'admin/structure/taxonomy/%/edit', - 'link_title' => 'Edit', - 'options' => 'a:0:{}', + 'menu_name' => 'navigation', + 'mlid' => '350', + 'plid' => '6', + 'link_path' => 'node/add/book', + 'router_path' => 'node/add/book', + 'link_title' => 'Book page', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:87:"Books have a built-in hierarchical navigation. Use for handbooks or tutorials.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '5', + 'weight' => '0', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '20', - 'p3' => '180', - 'p4' => '212', - 'p5' => '224', + 'p1' => '6', + 'p2' => '350', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -28959,25 +31644,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '225', - 'plid' => '217', - 'link_path' => 'admin/config/user-interface/shortcut/%', - 'router_path' => 'admin/config/user-interface/shortcut/%', - 'link_title' => 'Edit shortcuts', - 'options' => 'a:0:{}', + 'mlid' => '351', + 'plid' => '9', + 'link_path' => 'admin/content/book', + 'router_path' => 'admin/content/book', + 'link_title' => 'Books', + 'options' => "a:1:{s:10:\"attributes\";a:1:{s:5:\"title\";s:33:\"Manage your site's book outlines.\";}}", 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '57', - 'p4' => '217', - 'p5' => '225', + 'p2' => '9', + 'p3' => '351', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -28987,26 +31672,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '226', - 'plid' => '212', - 'link_path' => 'admin/structure/taxonomy/%/list', - 'router_path' => 'admin/structure/taxonomy/%/list', - 'link_title' => 'List', + 'menu_name' => 'navigation', + 'mlid' => '352', + 'plid' => '16', + 'link_path' => 'user/%/contact', + 'router_path' => 'user/%/contact', + 'link_title' => 'Contact', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-20', - 'depth' => '5', + 'weight' => '2', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '20', - 'p3' => '180', - 'p4' => '212', - 'p5' => '226', + 'p1' => '16', + 'p2' => '352', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -29017,25 +31702,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '227', - 'plid' => '218', - 'link_path' => 'admin/config/search/path/list', - 'router_path' => 'admin/config/search/path/list', - 'link_title' => 'List', - 'options' => 'a:0:{}', + 'mlid' => '353', + 'plid' => '20', + 'link_path' => 'admin/structure/contact', + 'router_path' => 'admin/structure/contact', + 'link_title' => 'Contact form', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:71:"Create a system contact form and set up categories for the form to use.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '5', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '50', - 'p4' => '218', - 'p5' => '227', + 'p2' => '20', + 'p3' => '353', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -29046,25 +31731,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '228', - 'plid' => '214', - 'link_path' => 'admin/config/media/image-styles/list', - 'router_path' => 'admin/config/media/image-styles/list', - 'link_title' => 'List', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:42:"List the current image styles on the site.";}}', + 'mlid' => '354', + 'plid' => '8', + 'link_path' => 'admin/config/date', + 'router_path' => 'admin/config/date', + 'link_title' => 'Date API', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:42:"Settings for modules the use the Date API.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '1', - 'depth' => '5', + 'weight' => '-10', + 'depth' => '3', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '43', - 'p4' => '214', - 'p5' => '228', + 'p3' => '354', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -29074,27 +31759,27 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '229', - 'plid' => '225', - 'link_path' => 'admin/config/user-interface/shortcut/%/add-link', - 'router_path' => 'admin/config/user-interface/shortcut/%/add-link', - 'link_title' => 'Add shortcut', - 'options' => 'a:0:{}', + 'menu_name' => 'navigation', + 'mlid' => '355', + 'plid' => '6', + 'link_path' => 'node/add/forum', + 'router_path' => 'node/add/forum', + 'link_title' => 'Forum topic', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:69:"A forum topic starts a new discussion thread within a forum.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '6', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '57', - 'p4' => '217', - 'p5' => '225', - 'p6' => '229', + 'p1' => '6', + 'p2' => '355', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -29104,25 +31789,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '230', - 'plid' => '218', - 'link_path' => 'admin/config/search/path/delete/%', - 'router_path' => 'admin/config/search/path/delete/%', - 'link_title' => 'Delete alias', - 'options' => 'a:0:{}', + 'mlid' => '356', + 'plid' => '20', + 'link_path' => 'admin/structure/forum', + 'router_path' => 'admin/structure/forum', + 'link_title' => 'Forums', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:33:"Control forum hierarchy settings.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '50', - 'p4' => '218', - 'p5' => '230', + 'p2' => '20', + 'p3' => '356', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -29132,27 +31817,27 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '231', - 'plid' => '225', - 'link_path' => 'admin/config/user-interface/shortcut/%/delete', - 'router_path' => 'admin/config/user-interface/shortcut/%/delete', - 'link_title' => 'Delete shortcut set', + 'menu_name' => 'navigation', + 'mlid' => '358', + 'plid' => '5', + 'link_path' => 'node/%/outline', + 'router_path' => 'node/%/outline', + 'link_title' => 'Outline', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '0', - 'depth' => '6', + 'weight' => '2', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '57', - 'p4' => '217', - 'p5' => '225', - 'p6' => '231', + 'p1' => '5', + 'p2' => '358', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -29162,25 +31847,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '232', - 'plid' => '218', - 'link_path' => 'admin/config/search/path/edit/%', - 'router_path' => 'admin/config/search/path/edit/%', - 'link_title' => 'Edit alias', - 'options' => 'a:0:{}', + 'mlid' => '359', + 'plid' => '18', + 'link_path' => 'admin/reports/hits', + 'router_path' => 'admin/reports/hits', + 'link_title' => 'Recent hits', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:43:"View pages that have recently been visited.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '50', - 'p4' => '218', - 'p5' => '232', + 'p2' => '18', + 'p3' => '359', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -29191,26 +31876,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '233', - 'plid' => '225', - 'link_path' => 'admin/config/user-interface/shortcut/%/edit', - 'router_path' => 'admin/config/user-interface/shortcut/%/edit', - 'link_title' => 'Edit set name', - 'options' => 'a:0:{}', + 'mlid' => '360', + 'plid' => '18', + 'link_path' => 'admin/reports/pages', + 'router_path' => 'admin/reports/pages', + 'link_title' => 'Top pages', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:41:"View pages that have been hit frequently.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '10', - 'depth' => '6', + 'weight' => '1', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '57', - 'p4' => '217', - 'p5' => '225', - 'p6' => '233', + 'p2' => '18', + 'p3' => '360', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -29220,25 +31905,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '234', - 'plid' => '217', - 'link_path' => 'admin/config/user-interface/shortcut/link/%', - 'router_path' => 'admin/config/user-interface/shortcut/link/%', - 'link_title' => 'Edit shortcut', - 'options' => 'a:0:{}', + 'mlid' => '361', + 'plid' => '18', + 'link_path' => 'admin/reports/referrers', + 'router_path' => 'admin/reports/referrers', + 'link_title' => 'Top referrers', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:19:"View top referrers.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '57', - 'p4' => '217', - 'p5' => '234', + 'p2' => '18', + 'p3' => '361', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -29249,25 +31934,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '235', - 'plid' => '214', - 'link_path' => 'admin/config/media/image-styles/edit/%', - 'router_path' => 'admin/config/media/image-styles/edit/%', - 'link_title' => 'Edit style', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:25:"Configure an image style.";}}', + 'mlid' => '362', + 'plid' => '18', + 'link_path' => 'admin/reports/visitors', + 'router_path' => 'admin/reports/visitors', + 'link_title' => 'Top visitors', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:34:"View visitors that hit many pages.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '5', + 'weight' => '2', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '43', - 'p4' => '214', - 'p5' => '235', + 'p2' => '18', + 'p3' => '362', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -29277,27 +31962,27 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '236', - 'plid' => '225', - 'link_path' => 'admin/config/user-interface/shortcut/%/links', - 'router_path' => 'admin/config/user-interface/shortcut/%/links', - 'link_title' => 'List links', + 'menu_name' => 'navigation', + 'mlid' => '363', + 'plid' => '5', + 'link_path' => 'node/%/track', + 'router_path' => 'node/%/track', + 'link_title' => 'Track', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '0', - 'depth' => '6', + 'weight' => '2', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '57', - 'p4' => '217', - 'p5' => '225', - 'p6' => '236', + 'p1' => '5', + 'p2' => '363', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -29306,26 +31991,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '237', - 'plid' => '214', - 'link_path' => 'admin/config/media/image-styles/delete/%', - 'router_path' => 'admin/config/media/image-styles/delete/%', - 'link_title' => 'Delete style', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:22:"Delete an image style.";}}', + 'menu_name' => 'navigation', + 'mlid' => '364', + 'plid' => '16', + 'link_path' => 'user/%/track', + 'router_path' => 'user/%/track', + 'link_title' => 'Track', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '43', - 'p4' => '214', - 'p5' => '237', + 'p1' => '16', + 'p2' => '364', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -29335,26 +32020,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '238', - 'plid' => '214', - 'link_path' => 'admin/config/media/image-styles/revert/%', - 'router_path' => 'admin/config/media/image-styles/revert/%', - 'link_title' => 'Revert style', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:22:"Revert an image style.";}}', + 'menu_name' => 'navigation', + 'mlid' => '365', + 'plid' => '5', + 'link_path' => 'node/%/translate', + 'router_path' => 'node/%/translate', + 'link_title' => 'Translate', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '0', - 'depth' => '5', + 'weight' => '1', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '43', - 'p4' => '214', - 'p5' => '238', + 'p1' => '5', + 'p2' => '365', + 'p3' => '0', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -29365,26 +32050,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '239', - 'plid' => '234', - 'link_path' => 'admin/config/user-interface/shortcut/link/%/delete', - 'router_path' => 'admin/config/user-interface/shortcut/link/%/delete', - 'link_title' => 'Delete shortcut', + 'mlid' => '369', + 'plid' => '175', + 'link_path' => 'admin/help/aggregator', + 'router_path' => 'admin/help/aggregator', + 'link_title' => 'aggregator', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '6', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '57', - 'p4' => '217', - 'p5' => '234', - 'p6' => '239', + 'p2' => '175', + 'p3' => '369', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -29394,26 +32079,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '240', - 'plid' => '235', - 'link_path' => 'admin/config/media/image-styles/edit/%/add/%', - 'router_path' => 'admin/config/media/image-styles/edit/%/add/%', - 'link_title' => 'Add image effect', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:28:"Add a new effect to a style.";}}', + 'mlid' => '370', + 'plid' => '175', + 'link_path' => 'admin/help/blog', + 'router_path' => 'admin/help/blog', + 'link_title' => 'blog', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '6', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '43', - 'p4' => '214', - 'p5' => '235', - 'p6' => '240', + 'p2' => '175', + 'p3' => '370', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -29423,26 +32108,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '241', - 'plid' => '235', - 'link_path' => 'admin/config/media/image-styles/edit/%/effects/%', - 'router_path' => 'admin/config/media/image-styles/edit/%/effects/%', - 'link_title' => 'Edit image effect', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:39:"Edit an existing effect within a style.";}}', + 'mlid' => '371', + 'plid' => '175', + 'link_path' => 'admin/help/book', + 'router_path' => 'admin/help/book', + 'link_title' => 'book', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '6', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '43', - 'p4' => '214', - 'p5' => '235', - 'p6' => '241', + 'p2' => '175', + 'p3' => '371', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -29452,27 +32137,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '242', - 'plid' => '241', - 'link_path' => 'admin/config/media/image-styles/edit/%/effects/%/delete', - 'router_path' => 'admin/config/media/image-styles/edit/%/effects/%/delete', - 'link_title' => 'Delete image effect', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:39:"Delete an existing effect from a style.";}}', + 'mlid' => '372', + 'plid' => '175', + 'link_path' => 'admin/help/contact', + 'router_path' => 'admin/help/contact', + 'link_title' => 'contact', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '7', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '43', - 'p4' => '214', - 'p5' => '235', - 'p6' => '241', - 'p7' => '242', + 'p2' => '175', + 'p3' => '372', + 'p4' => '0', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -29480,24 +32165,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'shortcut-set-1', - 'mlid' => '243', - 'plid' => '0', - 'link_path' => 'node/add', - 'router_path' => 'node/add', - 'link_title' => 'Add content', + 'menu_name' => 'management', + 'mlid' => '373', + 'plid' => '175', + 'link_path' => 'admin/help/date', + 'router_path' => 'admin/help/date', + 'link_title' => 'date', 'options' => 'a:0:{}', - 'module' => 'menu', - 'hidden' => '0', + 'module' => 'system', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-20', - 'depth' => '1', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', - 'p1' => '243', - 'p2' => '0', - 'p3' => '0', + 'p1' => '1', + 'p2' => '175', + 'p3' => '373', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -29509,24 +32194,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'shortcut-set-1', - 'mlid' => '244', - 'plid' => '0', - 'link_path' => 'admin/content', - 'router_path' => 'admin/content', - 'link_title' => 'Find content', + 'menu_name' => 'management', + 'mlid' => '374', + 'plid' => '175', + 'link_path' => 'admin/help/forum', + 'router_path' => 'admin/help/forum', + 'link_title' => 'forum', 'options' => 'a:0:{}', - 'module' => 'menu', - 'hidden' => '0', + 'module' => 'system', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-19', - 'depth' => '1', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', - 'p1' => '244', - 'p2' => '0', - 'p3' => '0', + 'p1' => '1', + 'p2' => '175', + 'p3' => '374', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -29538,24 +32223,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'main-menu', - 'mlid' => '245', - 'plid' => '0', - 'link_path' => '', - 'router_path' => '', - 'link_title' => 'Home', + 'menu_name' => 'management', + 'mlid' => '375', + 'plid' => '175', + 'link_path' => 'admin/help/locale', + 'router_path' => 'admin/help/locale', + 'link_title' => 'locale', 'options' => 'a:0:{}', - 'module' => 'menu', - 'hidden' => '0', - 'external' => '1', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '1', + 'depth' => '3', 'customized' => '0', - 'p1' => '245', - 'p2' => '0', - 'p3' => '0', + 'p1' => '1', + 'p2' => '175', + 'p3' => '375', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -29567,24 +32252,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '246', - 'plid' => '6', - 'link_path' => 'node/add/article', - 'router_path' => 'node/add/article', - 'link_title' => 'Article', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:89:"Use articles for time-sensitive content like news, press releases or blog posts.";}}', + 'menu_name' => 'management', + 'mlid' => '378', + 'plid' => '175', + 'link_path' => 'admin/help/statistics', + 'router_path' => 'admin/help/statistics', + 'link_title' => 'statistics', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '2', + 'depth' => '3', 'customized' => '0', - 'p1' => '6', - 'p2' => '246', - 'p3' => '0', + 'p1' => '1', + 'p2' => '175', + 'p3' => '378', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -29596,24 +32281,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '247', - 'plid' => '6', - 'link_path' => 'node/add/page', - 'router_path' => 'node/add/page', - 'link_title' => 'Basic page', - 'options' => "a:1:{s:10:\"attributes\";a:1:{s:5:\"title\";s:77:\"Use basic pages for your static content, such as an 'About us' page.\";}}", + 'menu_name' => 'management', + 'mlid' => '380', + 'plid' => '175', + 'link_path' => 'admin/help/tracker', + 'router_path' => 'admin/help/tracker', + 'link_title' => 'tracker', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '2', + 'depth' => '3', 'customized' => '0', - 'p1' => '6', - 'p2' => '247', - 'p3' => '0', + 'p1' => '1', + 'p2' => '175', + 'p3' => '380', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -29626,11 +32311,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '248', + 'mlid' => '381', 'plid' => '175', - 'link_path' => 'admin/help/toolbar', - 'router_path' => 'admin/help/toolbar', - 'link_title' => 'toolbar', + 'link_path' => 'admin/help/translation', + 'router_path' => 'admin/help/translation', + 'link_title' => 'translation', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -29642,7 +32327,7 @@ 'customized' => '0', 'p1' => '1', 'p2' => '175', - 'p3' => '248', + 'p3' => '381', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -29654,25 +32339,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '287', - 'plid' => '18', - 'link_path' => 'admin/reports/updates', - 'router_path' => 'admin/reports/updates', - 'link_title' => 'Available updates', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:82:"Get a status report about available updates for your installed modules and themes.";}}', + 'menu_name' => 'navigation', + 'mlid' => '383', + 'plid' => '347', + 'link_path' => 'aggregator/categories/%/categorize', + 'router_path' => 'aggregator/categories/%/categorize', + 'link_title' => 'Categorize', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-50', - 'depth' => '3', + 'weight' => '0', + 'depth' => '4', 'customized' => '0', - 'p1' => '1', - 'p2' => '18', - 'p3' => '287', - 'p4' => '0', + 'p1' => '338', + 'p2' => '342', + 'p3' => '347', + 'p4' => '383', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -29683,25 +32368,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '288', - 'plid' => '15', - 'link_path' => 'admin/modules/install', - 'router_path' => 'admin/modules/install', - 'link_title' => 'Install new module', + 'menu_name' => 'navigation', + 'mlid' => '384', + 'plid' => '348', + 'link_path' => 'aggregator/sources/%/categorize', + 'router_path' => 'aggregator/sources/%/categorize', + 'link_title' => 'Categorize', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '25', - 'depth' => '3', + 'weight' => '0', + 'depth' => '4', 'customized' => '0', - 'p1' => '1', - 'p2' => '15', - 'p3' => '288', - 'p4' => '0', + 'p1' => '338', + 'p2' => '346', + 'p3' => '348', + 'p4' => '384', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -29712,25 +32397,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '289', - 'plid' => '7', - 'link_path' => 'admin/appearance/install', - 'router_path' => 'admin/appearance/install', - 'link_title' => 'Install new theme', + 'menu_name' => 'navigation', + 'mlid' => '385', + 'plid' => '347', + 'link_path' => 'aggregator/categories/%/configure', + 'router_path' => 'aggregator/categories/%/configure', + 'link_title' => 'Configure', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '25', - 'depth' => '3', + 'weight' => '1', + 'depth' => '4', 'customized' => '0', - 'p1' => '1', - 'p2' => '7', - 'p3' => '289', - 'p4' => '0', + 'p1' => '338', + 'p2' => '342', + 'p3' => '347', + 'p4' => '385', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -29741,25 +32426,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '290', - 'plid' => '15', - 'link_path' => 'admin/modules/update', - 'router_path' => 'admin/modules/update', - 'link_title' => 'Update', + 'menu_name' => 'navigation', + 'mlid' => '386', + 'plid' => '348', + 'link_path' => 'aggregator/sources/%/configure', + 'router_path' => 'aggregator/sources/%/configure', + 'link_title' => 'Configure', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '10', - 'depth' => '3', + 'weight' => '1', + 'depth' => '4', 'customized' => '0', - 'p1' => '1', - 'p2' => '15', - 'p3' => '290', - 'p4' => '0', + 'p1' => '338', + 'p2' => '346', + 'p3' => '348', + 'p4' => '386', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -29770,25 +32455,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '291', - 'plid' => '7', - 'link_path' => 'admin/appearance/update', - 'router_path' => 'admin/appearance/update', - 'link_title' => 'Update', + 'menu_name' => 'navigation', + 'mlid' => '387', + 'plid' => '347', + 'link_path' => 'aggregator/categories/%/view', + 'router_path' => 'aggregator/categories/%/view', + 'link_title' => 'View', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '10', - 'depth' => '3', + 'weight' => '-10', + 'depth' => '4', 'customized' => '0', - 'p1' => '1', - 'p2' => '7', - 'p3' => '291', - 'p4' => '0', + 'p1' => '338', + 'p2' => '342', + 'p3' => '347', + 'p4' => '387', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -29799,25 +32484,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '292', - 'plid' => '175', - 'link_path' => 'admin/help/update', - 'router_path' => 'admin/help/update', - 'link_title' => 'update', + 'menu_name' => 'navigation', + 'mlid' => '388', + 'plid' => '348', + 'link_path' => 'aggregator/sources/%/view', + 'router_path' => 'aggregator/sources/%/view', + 'link_title' => 'View', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '3', + 'weight' => '-10', + 'depth' => '4', 'customized' => '0', - 'p1' => '1', - 'p2' => '175', - 'p3' => '292', - 'p4' => '0', + 'p1' => '338', + 'p2' => '346', + 'p3' => '348', + 'p4' => '388', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -29829,24 +32514,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '293', - 'plid' => '287', - 'link_path' => 'admin/reports/updates/list', - 'router_path' => 'admin/reports/updates/list', - 'link_title' => 'List', + 'mlid' => '389', + 'plid' => '353', + 'link_path' => 'admin/structure/contact/add', + 'router_path' => 'admin/structure/contact/add', + 'link_title' => 'Add category', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', + 'weight' => '1', 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '18', - 'p3' => '287', - 'p4' => '293', + 'p2' => '20', + 'p3' => '353', + 'p4' => '389', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -29858,24 +32543,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '294', - 'plid' => '287', - 'link_path' => 'admin/reports/updates/settings', - 'router_path' => 'admin/reports/updates/settings', - 'link_title' => 'Settings', - 'options' => 'a:0:{}', + 'mlid' => '391', + 'plid' => '18', + 'link_path' => 'admin/reports/access/%', + 'router_path' => 'admin/reports/access/%', + 'link_title' => 'Details', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:16:"View access log.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '50', - 'depth' => '4', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', 'p1' => '1', 'p2' => '18', - 'p3' => '287', - 'p4' => '294', + 'p3' => '391', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -29887,24 +32572,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '295', - 'plid' => '287', - 'link_path' => 'admin/reports/updates/install', - 'router_path' => 'admin/reports/updates/install', - 'link_title' => 'Install new module or theme', - 'options' => 'a:0:{}', + 'mlid' => '392', + 'plid' => '33', + 'link_path' => 'admin/config/content/email', + 'router_path' => 'admin/config/content/email', + 'link_title' => 'Email Contact Form Settings', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:57:"Administer flood control settings for email contact forms";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '25', + 'weight' => '0', 'depth' => '4', - 'customized' => '0', - 'p1' => '1', - 'p2' => '18', - 'p3' => '287', - 'p4' => '295', + 'customized' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '33', + 'p4' => '392', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -29916,24 +32601,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '296', - 'plid' => '287', - 'link_path' => 'admin/reports/updates/update', - 'router_path' => 'admin/reports/updates/update', - 'link_title' => 'Update', - 'options' => 'a:0:{}', + 'mlid' => '393', + 'plid' => '60', + 'link_path' => 'admin/config/services/aggregator', + 'router_path' => 'admin/config/services/aggregator', + 'link_title' => 'Feed aggregator', + 'options' => "a:1:{s:10:\"attributes\";a:1:{s:5:\"title\";s:116:\"Configure which content your site aggregates from other sites, how often it polls them, and how they're categorized.\";}}", 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', 'weight' => '10', 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '18', - 'p3' => '287', - 'p4' => '296', + 'p2' => '8', + 'p3' => '60', + 'p4' => '393', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -29945,25 +32630,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '297', - 'plid' => '212', - 'link_path' => 'admin/structure/taxonomy/%/display', - 'router_path' => 'admin/structure/taxonomy/%/display', - 'link_title' => 'Manage display', - 'options' => 'a:0:{}', + 'mlid' => '395', + 'plid' => '48', + 'link_path' => 'admin/config/regional/language', + 'router_path' => 'admin/config/regional/language', + 'link_title' => 'Languages', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:55:"Configure languages for content and the user interface.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '2', - 'depth' => '5', + 'weight' => '-10', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '180', - 'p4' => '212', - 'p5' => '297', + 'p2' => '8', + 'p3' => '48', + 'p4' => '395', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -29974,25 +32659,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '298', - 'plid' => '66', - 'link_path' => 'admin/config/people/accounts/display', - 'router_path' => 'admin/config/people/accounts/display', - 'link_title' => 'Manage display', + 'mlid' => '396', + 'plid' => '351', + 'link_path' => 'admin/content/book/list', + 'router_path' => 'admin/content/book/list', + 'link_title' => 'List', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '2', - 'depth' => '5', + 'weight' => '0', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '45', - 'p4' => '66', - 'p5' => '298', + 'p2' => '9', + 'p3' => '351', + 'p4' => '396', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -30003,25 +32688,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '299', - 'plid' => '212', - 'link_path' => 'admin/structure/taxonomy/%/fields', - 'router_path' => 'admin/structure/taxonomy/%/fields', - 'link_title' => 'Manage fields', + 'mlid' => '398', + 'plid' => '356', + 'link_path' => 'admin/structure/forum/list', + 'router_path' => 'admin/structure/forum/list', + 'link_title' => 'List', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '1', - 'depth' => '5', + 'weight' => '-10', + 'depth' => '4', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '180', - 'p4' => '212', - 'p5' => '299', + 'p3' => '356', + 'p4' => '398', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -30031,26 +32716,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '300', - 'plid' => '66', - 'link_path' => 'admin/config/people/accounts/fields', - 'router_path' => 'admin/config/people/accounts/fields', - 'link_title' => 'Manage fields', + 'menu_name' => 'navigation', + 'mlid' => '399', + 'plid' => '358', + 'link_path' => 'node/%/outline/remove', + 'router_path' => 'node/%/outline/remove', + 'link_title' => 'Remove from outline', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '1', - 'depth' => '5', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '45', - 'p4' => '66', - 'p5' => '300', + 'p1' => '5', + 'p2' => '358', + 'p3' => '399', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -30061,26 +32746,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '301', - 'plid' => '297', - 'link_path' => 'admin/structure/taxonomy/%/display/default', - 'router_path' => 'admin/structure/taxonomy/%/display/default', - 'link_title' => 'Default', + 'mlid' => '400', + 'plid' => '351', + 'link_path' => 'admin/content/book/settings', + 'router_path' => 'admin/content/book/settings', + 'link_title' => 'Settings', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '6', + 'weight' => '8', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '180', - 'p4' => '212', - 'p5' => '297', - 'p6' => '301', + 'p2' => '9', + 'p3' => '351', + 'p4' => '400', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -30090,26 +32775,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '302', - 'plid' => '298', - 'link_path' => 'admin/config/people/accounts/display/default', - 'router_path' => 'admin/config/people/accounts/display/default', - 'link_title' => 'Default', - 'options' => 'a:0:{}', + 'mlid' => '402', + 'plid' => '53', + 'link_path' => 'admin/config/system/statistics', + 'router_path' => 'admin/config/system/statistics', + 'link_title' => 'Statistics', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:68:"Control details about what and how your site logs access statistics.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '6', + 'weight' => '-15', + 'depth' => '4', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '45', - 'p4' => '66', - 'p5' => '298', - 'p6' => '302', + 'p3' => '53', + 'p4' => '402', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -30118,26 +32803,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '303', - 'plid' => '114', - 'link_path' => 'admin/structure/types/manage/%/display', - 'router_path' => 'admin/structure/types/manage/%/display', - 'link_title' => 'Manage display', + 'menu_name' => 'navigation', + 'mlid' => '411', + 'plid' => '364', + 'link_path' => 'user/%/track/content', + 'router_path' => 'user/%/track/content', + 'link_title' => 'Track content', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '2', - 'depth' => '5', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', - 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '303', + 'p1' => '16', + 'p2' => '364', + 'p3' => '411', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -30147,26 +32832,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '304', - 'plid' => '114', - 'link_path' => 'admin/structure/types/manage/%/fields', - 'router_path' => 'admin/structure/types/manage/%/fields', - 'link_title' => 'Manage fields', + 'menu_name' => 'navigation', + 'mlid' => '412', + 'plid' => '364', + 'link_path' => 'user/%/track/navigation', + 'router_path' => 'user/%/track/navigation', + 'link_title' => 'Track page visits', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '1', - 'depth' => '5', + 'weight' => '2', + 'depth' => '3', 'customized' => '0', - 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '304', + 'p1' => '16', + 'p2' => '364', + 'p3' => '412', + 'p4' => '0', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -30177,26 +32862,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '305', - 'plid' => '297', - 'link_path' => 'admin/structure/taxonomy/%/display/full', - 'router_path' => 'admin/structure/taxonomy/%/display/full', - 'link_title' => 'Taxonomy term page', - 'options' => 'a:0:{}', + 'mlid' => '413', + 'plid' => '48', + 'link_path' => 'admin/config/regional/translate', + 'router_path' => 'admin/config/regional/translate', + 'link_title' => 'Translate interface', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:59:"Translate the built in interface and optionally other text.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '0', - 'depth' => '6', + 'weight' => '-5', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '180', - 'p4' => '212', - 'p5' => '297', - 'p6' => '305', + 'p2' => '8', + 'p3' => '48', + 'p4' => '413', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -30206,26 +32891,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '306', - 'plid' => '298', - 'link_path' => 'admin/config/people/accounts/display/full', - 'router_path' => 'admin/config/people/accounts/display/full', - 'link_title' => 'User account', + 'mlid' => '417', + 'plid' => '356', + 'link_path' => 'admin/structure/forum/settings', + 'router_path' => 'admin/structure/forum/settings', + 'link_title' => 'Settings', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '6', + 'weight' => '5', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '45', - 'p4' => '66', - 'p5' => '298', - 'p6' => '306', + 'p2' => '20', + 'p3' => '356', + 'p4' => '417', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -30235,26 +32920,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '307', - 'plid' => '299', - 'link_path' => 'admin/structure/taxonomy/%/fields/%', - 'router_path' => 'admin/structure/taxonomy/%/fields/%', - 'link_title' => '', + 'mlid' => '418', + 'plid' => '395', + 'link_path' => 'admin/config/regional/language/add', + 'router_path' => 'admin/config/regional/language/add', + 'link_title' => 'Add language', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '6', + 'weight' => '5', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '180', - 'p4' => '212', - 'p5' => '299', - 'p6' => '307', + 'p2' => '8', + 'p3' => '48', + 'p4' => '395', + 'p5' => '418', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -30264,11 +32949,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '308', - 'plid' => '300', - 'link_path' => 'admin/config/people/accounts/fields/%', - 'router_path' => 'admin/config/people/accounts/fields/%', - 'link_title' => '', + 'mlid' => '421', + 'plid' => '353', + 'link_path' => 'admin/structure/contact/delete/%', + 'router_path' => 'admin/structure/contact/delete/%', + 'link_title' => 'Delete contact', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', @@ -30276,14 +32961,14 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '6', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '45', - 'p4' => '66', - 'p5' => '300', - 'p6' => '308', + 'p2' => '20', + 'p3' => '353', + 'p4' => '421', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -30293,26 +32978,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '309', - 'plid' => '303', - 'link_path' => 'admin/structure/types/manage/%/display/default', - 'router_path' => 'admin/structure/types/manage/%/display/default', - 'link_title' => 'Default', + 'mlid' => '422', + 'plid' => '395', + 'link_path' => 'admin/config/regional/language/configure', + 'router_path' => 'admin/config/regional/language/configure', + 'link_title' => 'Detection and selection', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '6', + 'weight' => '10', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '303', - 'p6' => '309', + 'p2' => '8', + 'p3' => '48', + 'p4' => '395', + 'p5' => '422', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -30322,26 +33007,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '310', - 'plid' => '303', - 'link_path' => 'admin/structure/types/manage/%/display/full', - 'router_path' => 'admin/structure/types/manage/%/display/full', - 'link_title' => 'Full content', + 'mlid' => '423', + 'plid' => '353', + 'link_path' => 'admin/structure/contact/edit/%', + 'router_path' => 'admin/structure/contact/edit/%', + 'link_title' => 'Edit contact category', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '6', + 'depth' => '4', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '303', - 'p6' => '310', + 'p3' => '353', + 'p4' => '423', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -30351,26 +33036,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '311', - 'plid' => '303', - 'link_path' => 'admin/structure/types/manage/%/display/rss', - 'router_path' => 'admin/structure/types/manage/%/display/rss', - 'link_title' => 'RSS', + 'mlid' => '424', + 'plid' => '413', + 'link_path' => 'admin/config/regional/translate/export', + 'router_path' => 'admin/config/regional/translate/export', + 'link_title' => 'Export', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '2', - 'depth' => '6', + 'weight' => '30', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '303', - 'p6' => '311', + 'p2' => '8', + 'p3' => '48', + 'p4' => '413', + 'p5' => '424', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -30380,26 +33065,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '312', - 'plid' => '303', - 'link_path' => 'admin/structure/types/manage/%/display/search_index', - 'router_path' => 'admin/structure/types/manage/%/display/search_index', - 'link_title' => 'Search index', + 'mlid' => '425', + 'plid' => '413', + 'link_path' => 'admin/config/regional/translate/import', + 'router_path' => 'admin/config/regional/translate/import', + 'link_title' => 'Import', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '3', - 'depth' => '6', + 'weight' => '20', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '303', - 'p6' => '312', + 'p2' => '8', + 'p3' => '48', + 'p4' => '413', + 'p5' => '425', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -30409,26 +33094,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '313', - 'plid' => '303', - 'link_path' => 'admin/structure/types/manage/%/display/search_result', - 'router_path' => 'admin/structure/types/manage/%/display/search_result', - 'link_title' => 'Search result highlighting input', + 'mlid' => '426', + 'plid' => '393', + 'link_path' => 'admin/config/services/aggregator/list', + 'router_path' => 'admin/config/services/aggregator/list', + 'link_title' => 'List', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '4', - 'depth' => '6', + 'weight' => '-10', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '303', - 'p6' => '313', + 'p2' => '8', + 'p3' => '60', + 'p4' => '393', + 'p5' => '426', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -30438,26 +33123,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '314', - 'plid' => '303', - 'link_path' => 'admin/structure/types/manage/%/display/teaser', - 'router_path' => 'admin/structure/types/manage/%/display/teaser', - 'link_title' => 'Teaser', + 'mlid' => '427', + 'plid' => '395', + 'link_path' => 'admin/config/regional/language/overview', + 'router_path' => 'admin/config/regional/language/overview', + 'link_title' => 'List', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '1', - 'depth' => '6', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '303', - 'p6' => '314', + 'p2' => '8', + 'p3' => '48', + 'p4' => '395', + 'p5' => '427', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -30467,26 +33152,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '315', - 'plid' => '304', - 'link_path' => 'admin/structure/types/manage/%/fields/%', - 'router_path' => 'admin/structure/types/manage/%/fields/%', - 'link_title' => '', - 'options' => 'a:0:{}', + 'mlid' => '429', + 'plid' => '74', + 'link_path' => 'admin/config/regional/date-time/locale', + 'router_path' => 'admin/config/regional/date-time/locale', + 'link_title' => 'Localize', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:38:"Configure date formats for each locale";}}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '0', - 'depth' => '6', + 'weight' => '-8', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '304', - 'p6' => '315', + 'p2' => '8', + 'p3' => '48', + 'p4' => '74', + 'p5' => '429', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -30496,27 +33181,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '316', - 'plid' => '307', - 'link_path' => 'admin/structure/taxonomy/%/fields/%/delete', - 'router_path' => 'admin/structure/taxonomy/%/fields/%/delete', - 'link_title' => 'Delete', + 'mlid' => '430', + 'plid' => '413', + 'link_path' => 'admin/config/regional/translate/overview', + 'router_path' => 'admin/config/regional/translate/overview', + 'link_title' => 'Overview', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '10', - 'depth' => '7', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '180', - 'p4' => '212', - 'p5' => '299', - 'p6' => '307', - 'p7' => '316', + 'p2' => '8', + 'p3' => '48', + 'p4' => '413', + 'p5' => '430', + 'p6' => '0', + 'p7' => '0', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -30525,27 +33210,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '317', - 'plid' => '307', - 'link_path' => 'admin/structure/taxonomy/%/fields/%/edit', - 'router_path' => 'admin/structure/taxonomy/%/fields/%/edit', - 'link_title' => 'Edit', - 'options' => 'a:0:{}', + 'mlid' => '432', + 'plid' => '393', + 'link_path' => 'admin/config/services/aggregator/settings', + 'router_path' => 'admin/config/services/aggregator/settings', + 'link_title' => 'Settings', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:129:"Configure the behavior of the feed aggregator, including when to discard feed items and how to present feed items and categories.";}}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '7', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '180', - 'p4' => '212', - 'p5' => '299', - 'p6' => '307', - 'p7' => '317', + 'p2' => '8', + 'p3' => '60', + 'p4' => '393', + 'p5' => '432', + 'p6' => '0', + 'p7' => '0', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -30554,27 +33239,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '318', - 'plid' => '307', - 'link_path' => 'admin/structure/taxonomy/%/fields/%/field-settings', - 'router_path' => 'admin/structure/taxonomy/%/fields/%/field-settings', - 'link_title' => 'Field settings', + 'mlid' => '433', + 'plid' => '413', + 'link_path' => 'admin/config/regional/translate/translate', + 'router_path' => 'admin/config/regional/translate/translate', + 'link_title' => 'Translate', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '7', + 'weight' => '10', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '180', - 'p4' => '212', - 'p5' => '299', - 'p6' => '307', - 'p7' => '318', + 'p2' => '8', + 'p3' => '48', + 'p4' => '413', + 'p5' => '433', + 'p6' => '0', + 'p7' => '0', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -30583,11 +33268,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '319', - 'plid' => '307', - 'link_path' => 'admin/structure/taxonomy/%/fields/%/widget-type', - 'router_path' => 'admin/structure/taxonomy/%/fields/%/widget-type', - 'link_title' => 'Widget type', + 'mlid' => '435', + 'plid' => '356', + 'link_path' => 'admin/structure/forum/add/container', + 'router_path' => 'admin/structure/forum/add/container', + 'link_title' => 'Add container', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -30595,15 +33280,15 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '7', + 'depth' => '4', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '180', - 'p4' => '212', - 'p5' => '299', - 'p6' => '307', - 'p7' => '319', + 'p3' => '356', + 'p4' => '435', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -30612,27 +33297,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '320', - 'plid' => '308', - 'link_path' => 'admin/config/people/accounts/fields/%/delete', - 'router_path' => 'admin/config/people/accounts/fields/%/delete', - 'link_title' => 'Delete', + 'mlid' => '436', + 'plid' => '356', + 'link_path' => 'admin/structure/forum/add/forum', + 'router_path' => 'admin/structure/forum/add/forum', + 'link_title' => 'Add forum', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '10', - 'depth' => '7', + 'weight' => '0', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '45', - 'p4' => '66', - 'p5' => '300', - 'p6' => '308', - 'p7' => '320', + 'p2' => '20', + 'p3' => '356', + 'p4' => '436', + 'p5' => '0', + 'p6' => '0', + 'p7' => '0', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -30641,11 +33326,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '321', - 'plid' => '308', - 'link_path' => 'admin/config/people/accounts/fields/%/edit', - 'router_path' => 'admin/config/people/accounts/fields/%/edit', - 'link_title' => 'Edit', + 'mlid' => '437', + 'plid' => '393', + 'link_path' => 'admin/config/services/aggregator/add/category', + 'router_path' => 'admin/config/services/aggregator/add/category', + 'link_title' => 'Add category', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -30653,15 +33338,15 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '7', + 'depth' => '5', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '45', - 'p4' => '66', - 'p5' => '300', - 'p6' => '308', - 'p7' => '321', + 'p3' => '60', + 'p4' => '393', + 'p5' => '437', + 'p6' => '0', + 'p7' => '0', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -30670,11 +33355,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '322', - 'plid' => '308', - 'link_path' => 'admin/config/people/accounts/fields/%/field-settings', - 'router_path' => 'admin/config/people/accounts/fields/%/field-settings', - 'link_title' => 'Field settings', + 'mlid' => '438', + 'plid' => '393', + 'link_path' => 'admin/config/services/aggregator/add/feed', + 'router_path' => 'admin/config/services/aggregator/add/feed', + 'link_title' => 'Add feed', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -30682,15 +33367,15 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '7', + 'depth' => '5', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '45', - 'p4' => '66', - 'p5' => '300', - 'p6' => '308', - 'p7' => '322', + 'p3' => '60', + 'p4' => '393', + 'p5' => '438', + 'p6' => '0', + 'p7' => '0', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -30699,27 +33384,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '323', - 'plid' => '308', - 'link_path' => 'admin/config/people/accounts/fields/%/widget-type', - 'router_path' => 'admin/config/people/accounts/fields/%/widget-type', - 'link_title' => 'Widget type', + 'mlid' => '440', + 'plid' => '395', + 'link_path' => 'admin/config/regional/language/delete/%', + 'router_path' => 'admin/config/regional/language/delete/%', + 'link_title' => 'Confirm', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '7', + 'depth' => '5', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '45', - 'p4' => '66', - 'p5' => '300', - 'p6' => '308', - 'p7' => '323', + 'p3' => '48', + 'p4' => '395', + 'p5' => '440', + 'p6' => '0', + 'p7' => '0', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -30728,26 +33413,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '324', - 'plid' => '161', - 'link_path' => 'admin/structure/types/manage/%/comment/display/default', - 'router_path' => 'admin/structure/types/manage/%/comment/display/default', - 'link_title' => 'Default', + 'mlid' => '441', + 'plid' => '413', + 'link_path' => 'admin/config/regional/translate/delete/%', + 'router_path' => 'admin/config/regional/translate/delete/%', + 'link_title' => 'Delete string', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '6', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '161', - 'p6' => '324', + 'p2' => '8', + 'p3' => '48', + 'p4' => '413', + 'p5' => '441', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -30757,26 +33442,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '325', - 'plid' => '161', - 'link_path' => 'admin/structure/types/manage/%/comment/display/full', - 'router_path' => 'admin/structure/types/manage/%/comment/display/full', - 'link_title' => 'Full comment', + 'mlid' => '442', + 'plid' => '356', + 'link_path' => 'admin/structure/forum/edit/container/%', + 'router_path' => 'admin/structure/forum/edit/container/%', + 'link_title' => 'Edit container', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '6', + 'depth' => '4', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '161', - 'p6' => '325', + 'p3' => '356', + 'p4' => '442', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -30786,11 +33471,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '326', - 'plid' => '162', - 'link_path' => 'admin/structure/types/manage/%/comment/fields/%', - 'router_path' => 'admin/structure/types/manage/%/comment/fields/%', - 'link_title' => '', + 'mlid' => '443', + 'plid' => '356', + 'link_path' => 'admin/structure/forum/edit/forum/%', + 'router_path' => 'admin/structure/forum/edit/forum/%', + 'link_title' => 'Edit forum', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', @@ -30798,14 +33483,14 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '6', + 'depth' => '4', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '162', - 'p6' => '326', + 'p3' => '356', + 'p4' => '443', + 'p5' => '0', + 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -30815,27 +33500,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '327', - 'plid' => '315', - 'link_path' => 'admin/structure/types/manage/%/fields/%/delete', - 'router_path' => 'admin/structure/types/manage/%/fields/%/delete', - 'link_title' => 'Delete', + 'mlid' => '444', + 'plid' => '395', + 'link_path' => 'admin/config/regional/language/edit/%', + 'router_path' => 'admin/config/regional/language/edit/%', + 'link_title' => 'Edit language', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '10', - 'depth' => '7', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '304', - 'p6' => '315', - 'p7' => '327', + 'p2' => '8', + 'p3' => '48', + 'p4' => '395', + 'p5' => '444', + 'p6' => '0', + 'p7' => '0', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -30844,27 +33529,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '328', - 'plid' => '315', - 'link_path' => 'admin/structure/types/manage/%/fields/%/edit', - 'router_path' => 'admin/structure/types/manage/%/fields/%/edit', - 'link_title' => 'Edit', + 'mlid' => '445', + 'plid' => '413', + 'link_path' => 'admin/config/regional/translate/edit/%', + 'router_path' => 'admin/config/regional/translate/edit/%', + 'link_title' => 'Edit string', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '7', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '304', - 'p6' => '315', - 'p7' => '328', + 'p2' => '8', + 'p3' => '48', + 'p4' => '413', + 'p5' => '445', + 'p6' => '0', + 'p7' => '0', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -30873,11 +33558,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '329', - 'plid' => '315', - 'link_path' => 'admin/structure/types/manage/%/fields/%/field-settings', - 'router_path' => 'admin/structure/types/manage/%/fields/%/field-settings', - 'link_title' => 'Field settings', + 'mlid' => '447', + 'plid' => '393', + 'link_path' => 'admin/config/services/aggregator/add/opml', + 'router_path' => 'admin/config/services/aggregator/add/opml', + 'link_title' => 'Import OPML', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -30885,15 +33570,15 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '7', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '304', - 'p6' => '315', - 'p7' => '329', + 'p2' => '8', + 'p3' => '60', + 'p4' => '393', + 'p5' => '447', + 'p6' => '0', + 'p7' => '0', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -30902,27 +33587,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '330', - 'plid' => '315', - 'link_path' => 'admin/structure/types/manage/%/fields/%/widget-type', - 'router_path' => 'admin/structure/types/manage/%/fields/%/widget-type', - 'link_title' => 'Widget type', + 'mlid' => '448', + 'plid' => '393', + 'link_path' => 'admin/config/services/aggregator/remove/%', + 'router_path' => 'admin/config/services/aggregator/remove/%', + 'link_title' => 'Remove items', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '7', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '304', - 'p6' => '315', - 'p7' => '330', + 'p2' => '8', + 'p3' => '60', + 'p4' => '393', + 'p5' => '448', + 'p6' => '0', + 'p7' => '0', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -30931,27 +33616,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '331', - 'plid' => '326', - 'link_path' => 'admin/structure/types/manage/%/comment/fields/%/delete', - 'router_path' => 'admin/structure/types/manage/%/comment/fields/%/delete', - 'link_title' => 'Delete', + 'mlid' => '449', + 'plid' => '422', + 'link_path' => 'admin/config/regional/language/configure/session', + 'router_path' => 'admin/config/regional/language/configure/session', + 'link_title' => 'Session language detection configuration', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '10', - 'depth' => '7', + 'weight' => '0', + 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '162', - 'p6' => '326', - 'p7' => '331', + 'p2' => '8', + 'p3' => '48', + 'p4' => '395', + 'p5' => '422', + 'p6' => '449', + 'p7' => '0', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -30960,11 +33645,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '332', - 'plid' => '326', - 'link_path' => 'admin/structure/types/manage/%/comment/fields/%/edit', - 'router_path' => 'admin/structure/types/manage/%/comment/fields/%/edit', - 'link_title' => 'Edit', + 'mlid' => '451', + 'plid' => '422', + 'link_path' => 'admin/config/regional/language/configure/url', + 'router_path' => 'admin/config/regional/language/configure/url', + 'link_title' => 'URL language detection configuration', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -30972,15 +33657,15 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '7', + 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '162', - 'p6' => '326', - 'p7' => '332', + 'p2' => '8', + 'p3' => '48', + 'p4' => '395', + 'p5' => '422', + 'p6' => '451', + 'p7' => '0', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -30989,27 +33674,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '333', - 'plid' => '326', - 'link_path' => 'admin/structure/types/manage/%/comment/fields/%/field-settings', - 'router_path' => 'admin/structure/types/manage/%/comment/fields/%/field-settings', - 'link_title' => 'Field settings', + 'mlid' => '452', + 'plid' => '393', + 'link_path' => 'admin/config/services/aggregator/update/%', + 'router_path' => 'admin/config/services/aggregator/update/%', + 'link_title' => 'Update items', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '7', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '162', - 'p6' => '326', - 'p7' => '333', + 'p2' => '8', + 'p3' => '60', + 'p4' => '393', + 'p5' => '452', + 'p6' => '0', + 'p7' => '0', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -31018,27 +33703,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '334', - 'plid' => '326', - 'link_path' => 'admin/structure/types/manage/%/comment/fields/%/widget-type', - 'router_path' => 'admin/structure/types/manage/%/comment/fields/%/widget-type', - 'link_title' => 'Widget type', + 'mlid' => '458', + 'plid' => '393', + 'link_path' => 'admin/config/services/aggregator/edit/category/%', + 'router_path' => 'admin/config/services/aggregator/edit/category/%', + 'link_title' => 'Edit category', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '7', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '34', - 'p4' => '114', - 'p5' => '162', - 'p6' => '326', - 'p7' => '334', + 'p2' => '8', + 'p3' => '60', + 'p4' => '393', + 'p5' => '458', + 'p6' => '0', + 'p7' => '0', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -31046,26 +33731,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '335', - 'plid' => '0', - 'link_path' => 'blog', - 'router_path' => 'blog', - 'link_title' => 'Blogs', + 'menu_name' => 'management', + 'mlid' => '459', + 'plid' => '393', + 'link_path' => 'admin/config/services/aggregator/edit/feed/%', + 'router_path' => 'admin/config/services/aggregator/edit/feed/%', + 'link_title' => 'Edit feed', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '1', + 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '1', + 'depth' => '5', 'customized' => '0', - 'p1' => '335', - 'p2' => '0', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '60', + 'p4' => '393', + 'p5' => '459', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -31075,27 +33760,27 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '336', - 'plid' => '0', - 'link_path' => 'book', - 'router_path' => 'book', - 'link_title' => 'Books', - 'options' => 'a:0:{}', + 'menu_name' => 'management', + 'mlid' => '461', + 'plid' => '429', + 'link_path' => 'admin/config/regional/date-time/locale/%/edit', + 'router_path' => 'admin/config/regional/date-time/locale/%/edit', + 'link_title' => 'Localize date formats', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:38:"Configure date formats for each locale";}}', 'module' => 'system', - 'hidden' => '1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '1', + 'depth' => '6', 'customized' => '0', - 'p1' => '336', - 'p2' => '0', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', - 'p6' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '48', + 'p4' => '74', + 'p5' => '429', + 'p6' => '461', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -31104,27 +33789,27 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '337', - 'plid' => '0', - 'link_path' => 'contact', - 'router_path' => 'contact', - 'link_title' => 'Contact', - 'options' => 'a:0:{}', + 'menu_name' => 'management', + 'mlid' => '463', + 'plid' => '429', + 'link_path' => 'admin/config/regional/date-time/locale/%/reset', + 'router_path' => 'admin/config/regional/date-time/locale/%/reset', + 'link_title' => 'Reset date formats', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:47:"Reset localized date formats to global defaults";}}', 'module' => 'system', - 'hidden' => '1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '1', + 'depth' => '6', 'customized' => '0', - 'p1' => '337', - 'p2' => '0', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', - 'p6' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '48', + 'p4' => '74', + 'p5' => '429', + 'p6' => '463', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -31134,22 +33819,22 @@ )) ->values(array( 'menu_name' => 'navigation', - 'mlid' => '338', - 'plid' => '0', - 'link_path' => 'aggregator', - 'router_path' => 'aggregator', - 'link_title' => 'Feed aggregator', - 'options' => 'a:0:{}', + 'mlid' => '465', + 'plid' => '6', + 'link_path' => 'node/add/test-content-type', + 'router_path' => 'node/add/test-content-type', + 'link_title' => 'Test content type', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:49:"This is the description of the test content type.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '5', - 'depth' => '1', + 'weight' => '0', + 'depth' => '2', 'customized' => '0', - 'p1' => '338', - 'p2' => '0', + 'p1' => '6', + 'p2' => '465', 'p3' => '0', 'p4' => '0', 'p5' => '0', @@ -31162,25 +33847,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '339', - 'plid' => '0', - 'link_path' => 'forum', - 'router_path' => 'forum', - 'link_title' => 'Forums', + 'menu_name' => 'management', + 'mlid' => '466', + 'plid' => '44', + 'link_path' => 'admin/structure/menu/manage/menu-test-menu', + 'router_path' => 'admin/structure/menu/manage/%', + 'link_title' => 'Test Menu', 'options' => 'a:0:{}', - 'module' => 'system', + 'module' => 'menu', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '1', + 'depth' => '4', 'customized' => '0', - 'p1' => '339', - 'p2' => '0', - 'p3' => '0', - 'p4' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '44', + 'p4' => '466', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -31191,23 +33876,23 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '340', - 'plid' => '0', - 'link_path' => 'tracker', - 'router_path' => 'tracker', - 'link_title' => 'Recent content', - 'options' => 'a:0:{}', - 'module' => 'system', + 'menu_name' => 'menu-test-menu', + 'mlid' => '467', + 'plid' => '469', + 'link_path' => 'http://google.com', + 'router_path' => '', + 'link_title' => 'Google', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:6:"Google";}}', + 'module' => 'menu', 'hidden' => '0', - 'external' => '0', + 'external' => '1', 'has_children' => '0', 'expanded' => '0', - 'weight' => '1', - 'depth' => '1', - 'customized' => '0', - 'p1' => '340', - 'p2' => '0', + 'weight' => '0', + 'depth' => '2', + 'customized' => '1', + 'p1' => '469', + 'p2' => '467', 'p3' => '0', 'p4' => '0', 'p5' => '0', @@ -31220,23 +33905,23 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '341', - 'plid' => '340', - 'link_path' => 'tracker/all', - 'router_path' => 'tracker/all', - 'link_title' => 'All recent content', - 'options' => 'a:0:{}', - 'module' => 'system', - 'hidden' => '-1', - 'external' => '0', + 'menu_name' => 'menu-test-menu', + 'mlid' => '468', + 'plid' => '0', + 'link_path' => 'http://yahoo.com', + 'router_path' => '', + 'link_title' => 'Yahoo', + 'options' => 'a:2:{s:10:"attributes";a:1:{s:5:"title";s:19:"english description";}s:5:"alter";b:1;}', + 'module' => 'menu', + 'hidden' => '0', + 'external' => '1', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '2', - 'customized' => '0', - 'p1' => '340', - 'p2' => '341', + 'depth' => '1', + 'customized' => '1', + 'p1' => '468', + 'p2' => '0', 'p3' => '0', 'p4' => '0', 'p5' => '0', @@ -31245,27 +33930,27 @@ 'p8' => '0', 'p9' => '0', 'updated' => '0', - 'language' => 'und', - 'i18n_tsid' => '0', + 'language' => 'en', + 'i18n_tsid' => '1', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '342', - 'plid' => '338', - 'link_path' => 'aggregator/categories', - 'router_path' => 'aggregator/categories', - 'link_title' => 'Categories', - 'options' => 'a:0:{}', - 'module' => 'system', + 'menu_name' => 'menu-test-menu', + 'mlid' => '469', + 'plid' => '0', + 'link_path' => 'http://bing.com', + 'router_path' => '', + 'link_title' => 'Bing', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:4:"Bing";}}', + 'module' => 'menu', 'hidden' => '0', - 'external' => '0', - 'has_children' => '1', + 'external' => '1', + 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '2', - 'customized' => '0', - 'p1' => '338', - 'p2' => '342', + 'depth' => '1', + 'customized' => '1', + 'p1' => '469', + 'p2' => '0', 'p3' => '0', 'p4' => '0', 'p5' => '0', @@ -31278,23 +33963,23 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '343', - 'plid' => '339', - 'link_path' => 'forum/%', - 'router_path' => 'forum/%', - 'link_title' => 'Forums', + 'menu_name' => 'menu-test-menu', + 'mlid' => '470', + 'plid' => '469', + 'link_path' => 'http://ask.com', + 'router_path' => '', + 'link_title' => 'Ask', 'options' => 'a:0:{}', - 'module' => 'system', + 'module' => 'menu', 'hidden' => '0', - 'external' => '0', + 'external' => '1', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', 'depth' => '2', - 'customized' => '0', - 'p1' => '339', - 'p2' => '343', + 'customized' => '1', + 'p1' => '469', + 'p2' => '470', 'p3' => '0', 'p4' => '0', 'p5' => '0', @@ -31307,23 +33992,23 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '344', - 'plid' => '335', - 'link_path' => 'blog/%', - 'router_path' => 'blog/%', - 'link_title' => 'My blog', + 'menu_name' => 'shortcut-set-2', + 'mlid' => '472', + 'plid' => '0', + 'link_path' => 'admin/help', + 'router_path' => 'admin/help', + 'link_title' => 'Help', 'options' => 'a:0:{}', - 'module' => 'system', + 'module' => 'menu', 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '2', + 'weight' => '-49', + 'depth' => '1', 'customized' => '0', - 'p1' => '335', - 'p2' => '344', + 'p1' => '472', + 'p2' => '0', 'p3' => '0', 'p4' => '0', 'p5' => '0', @@ -31336,23 +34021,23 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '345', - 'plid' => '340', - 'link_path' => 'tracker/%', - 'router_path' => 'tracker/%', - 'link_title' => 'My recent content', + 'menu_name' => 'shortcut-set-2', + 'mlid' => '473', + 'plid' => '0', + 'link_path' => 'admin/people', + 'router_path' => 'admin/people', + 'link_title' => 'People', 'options' => 'a:0:{}', - 'module' => 'system', - 'hidden' => '-1', + 'module' => 'menu', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '2', + 'weight' => '-50', + 'depth' => '1', 'customized' => '0', - 'p1' => '340', - 'p2' => '345', + 'p1' => '473', + 'p2' => '0', 'p3' => '0', 'p4' => '0', 'p5' => '0', @@ -31366,22 +34051,22 @@ )) ->values(array( 'menu_name' => 'navigation', - 'mlid' => '346', - 'plid' => '338', - 'link_path' => 'aggregator/sources', - 'router_path' => 'aggregator/sources', - 'link_title' => 'Sources', + 'mlid' => '474', + 'plid' => '4', + 'link_path' => 'filter/tips/%', + 'router_path' => 'filter/tips/%', + 'link_title' => 'Compose tips', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', 'weight' => '0', 'depth' => '2', 'customized' => '0', - 'p1' => '338', - 'p2' => '346', + 'p1' => '4', + 'p2' => '474', 'p3' => '0', 'p4' => '0', 'p5' => '0', @@ -31394,24 +34079,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '347', - 'plid' => '342', - 'link_path' => 'aggregator/categories/%', - 'router_path' => 'aggregator/categories/%', - 'link_title' => '', + 'menu_name' => 'management', + 'mlid' => '475', + 'plid' => '175', + 'link_path' => 'admin/help/php', + 'router_path' => 'admin/help/php', + 'link_title' => 'php', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', 'depth' => '3', 'customized' => '0', - 'p1' => '338', - 'p2' => '342', - 'p3' => '347', + 'p1' => '1', + 'p2' => '175', + 'p3' => '475', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -31423,24 +34108,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '348', - 'plid' => '346', - 'link_path' => 'aggregator/sources/%', - 'router_path' => 'aggregator/sources/%', - 'link_title' => '', - 'options' => 'a:0:{}', - 'module' => 'system', + 'menu_name' => 'management', + 'mlid' => '478', + 'plid' => '20', + 'link_path' => 'admin/content', + 'router_path' => 'admin/content', + 'link_title' => 'custom link test', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:0:"";}}', + 'module' => 'menu', 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', 'depth' => '3', - 'customized' => '0', - 'p1' => '338', - 'p2' => '346', - 'p3' => '348', + 'customized' => '1', + 'p1' => '1', + 'p2' => '20', + 'p3' => '478', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -31453,22 +34138,22 @@ )) ->values(array( 'menu_name' => 'navigation', - 'mlid' => '349', - 'plid' => '6', - 'link_path' => 'node/add/blog', - 'router_path' => 'node/add/blog', - 'link_title' => 'Blog entry', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:58:"Use for multi-user blogs. Every user gets a personal blog.";}}', - 'module' => 'system', + 'mlid' => '479', + 'plid' => '0', + 'link_path' => 'node/2', + 'router_path' => 'node/%', + 'link_title' => 'node link test', + 'options' => 'a:2:{s:10:"attributes";a:1:{s:5:"title";s:6:"node 2";}s:5:"query";a:2:{s:4:"name";s:6:"ferret";s:5:"color";s:6:"purple";}}', + 'module' => 'menu', 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '2', - 'customized' => '0', - 'p1' => '6', - 'p2' => '349', + 'weight' => '3', + 'depth' => '1', + 'customized' => '1', + 'p1' => '479', + 'p2' => '0', 'p3' => '0', 'p4' => '0', 'p5' => '0', @@ -31481,23 +34166,23 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '350', - 'plid' => '6', - 'link_path' => 'node/add/book', - 'router_path' => 'node/add/book', - 'link_title' => 'Book page', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:87:"Books have a built-in hierarchical navigation. Use for handbooks or tutorials.";}}', - 'module' => 'system', + 'menu_name' => 'book-toc-1', + 'mlid' => '480', + 'plid' => '0', + 'link_path' => 'node/4', + 'router_path' => 'node/%', + 'link_title' => 'Test top book title', + 'options' => 'a:0:{}', + 'module' => 'book', 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '0', - 'depth' => '2', + 'weight' => '-10', + 'depth' => '1', 'customized' => '0', - 'p1' => '6', - 'p2' => '350', + 'p1' => '480', + 'p2' => '0', 'p3' => '0', 'p4' => '0', 'p5' => '0', @@ -31510,24 +34195,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '351', - 'plid' => '9', - 'link_path' => 'admin/content/book', - 'router_path' => 'admin/content/book', - 'link_title' => 'Books', - 'options' => "a:1:{s:10:\"attributes\";a:1:{s:5:\"title\";s:33:\"Manage your site's book outlines.\";}}", - 'module' => 'system', - 'hidden' => '-1', + 'menu_name' => 'book-toc-1', + 'mlid' => '481', + 'plid' => '480', + 'link_path' => 'node/6', + 'router_path' => 'node/%', + 'link_title' => 'Test book title child 1', + 'options' => 'a:0:{}', + 'module' => 'book', + 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '9', - 'p3' => '351', + 'p1' => '480', + 'p2' => '481', + 'p3' => '0', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -31539,24 +34224,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '352', - 'plid' => '16', - 'link_path' => 'user/%/contact', - 'router_path' => 'user/%/contact', - 'link_title' => 'Contact', + 'menu_name' => 'book-toc-1', + 'mlid' => '482', + 'plid' => '481', + 'link_path' => 'node/2', + 'router_path' => 'node/%', + 'link_title' => 'Test book title child 1.1', 'options' => 'a:0:{}', - 'module' => 'system', - 'hidden' => '-1', + 'module' => 'book', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '2', - 'depth' => '2', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', - 'p1' => '16', - 'p2' => '352', - 'p3' => '0', + 'p1' => '480', + 'p2' => '481', + 'p3' => '482', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -31568,24 +34253,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '353', - 'plid' => '20', - 'link_path' => 'admin/structure/contact', - 'router_path' => 'admin/structure/contact', - 'link_title' => 'Contact form', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:71:"Create a system contact form and set up categories for the form to use.";}}', - 'module' => 'system', + 'menu_name' => 'book-toc-2', + 'mlid' => '483', + 'plid' => '481', + 'link_path' => 'node/1', + 'router_path' => 'node/%', + 'link_title' => 'Test book title 2', + 'options' => 'a:0:{}', + 'module' => 'book', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', 'weight' => '0', 'depth' => '3', 'customized' => '0', - 'p1' => '1', - 'p2' => '20', - 'p3' => '353', + 'p1' => '480', + 'p2' => '481', + 'p3' => '483', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -31597,24 +34282,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '354', - 'plid' => '8', - 'link_path' => 'admin/config/date', - 'router_path' => 'admin/config/date', - 'link_title' => 'Date API', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:42:"Settings for modules the use the Date API.";}}', - 'module' => 'system', + 'menu_name' => 'navigation', + 'mlid' => '484', + 'plid' => '0', + 'link_path' => 'node/2', + 'router_path' => 'node/%', + 'link_title' => 'The thing about Deep Space 9', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:0:"";}}', + 'module' => 'menu', 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '3', - 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '354', + 'weight' => '9', + 'depth' => '1', + 'customized' => '1', + 'p1' => '484', + 'p2' => '0', + 'p3' => '0', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -31627,22 +34312,22 @@ )) ->values(array( 'menu_name' => 'navigation', - 'mlid' => '355', - 'plid' => '6', - 'link_path' => 'node/add/forum', - 'router_path' => 'node/add/forum', - 'link_title' => 'Forum topic', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:69:"A forum topic starts a new discussion thread within a forum.";}}', - 'module' => 'system', + 'mlid' => '485', + 'plid' => '0', + 'link_path' => 'node/3', + 'router_path' => 'node/%', + 'link_title' => 'is - The thing about Deep Space 9', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:0:"";}}', + 'module' => 'menu', 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '2', - 'customized' => '0', - 'p1' => '6', - 'p2' => '355', + 'weight' => '10', + 'depth' => '1', + 'customized' => '1', + 'p1' => '485', + 'p2' => '0', 'p3' => '0', 'p4' => '0', 'p5' => '0', @@ -31655,24 +34340,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '356', - 'plid' => '20', - 'link_path' => 'admin/structure/forum', - 'router_path' => 'admin/structure/forum', - 'link_title' => 'Forums', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:33:"Control forum hierarchy settings.";}}', - 'module' => 'system', + 'menu_name' => 'navigation', + 'mlid' => '486', + 'plid' => '0', + 'link_path' => 'node/4', + 'router_path' => 'node/%', + 'link_title' => 'is - The thing about Firefly', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:0:"";}}', + 'module' => 'menu', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '3', - 'customized' => '0', - 'p1' => '1', - 'p2' => '20', - 'p3' => '356', + 'weight' => '11', + 'depth' => '1', + 'customized' => '1', + 'p1' => '486', + 'p2' => '0', + 'p3' => '0', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -31685,22 +34370,22 @@ )) ->values(array( 'menu_name' => 'navigation', - 'mlid' => '358', - 'plid' => '5', - 'link_path' => 'node/%/outline', - 'router_path' => 'node/%/outline', - 'link_title' => 'Outline', - 'options' => 'a:0:{}', - 'module' => 'system', - 'hidden' => '-1', + 'mlid' => '487', + 'plid' => '0', + 'link_path' => 'node/5', + 'router_path' => 'node/%', + 'link_title' => 'en - The thing about Firefly', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:0:"";}}', + 'module' => 'menu', + 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '2', - 'depth' => '2', - 'customized' => '0', - 'p1' => '5', - 'p2' => '358', + 'weight' => '12', + 'depth' => '1', + 'customized' => '1', + 'p1' => '487', + 'p2' => '0', 'p3' => '0', 'p4' => '0', 'p5' => '0', @@ -31714,24 +34399,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '359', - 'plid' => '18', - 'link_path' => 'admin/reports/hits', - 'router_path' => 'admin/reports/hits', - 'link_title' => 'Recent hits', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:43:"View pages that have recently been visited.";}}', + 'mlid' => '491', + 'plid' => '48', + 'link_path' => 'admin/config/regional/entity_translation', + 'router_path' => 'admin/config/regional/entity_translation', + 'link_title' => 'Entity translation', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:83:"Configure which entities can be translated and enable or disable language fallback.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '18', - 'p3' => '359', - 'p4' => '0', + 'p2' => '8', + 'p3' => '48', + 'p4' => '491', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -31742,24 +34427,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '360', - 'plid' => '18', - 'link_path' => 'admin/reports/pages', - 'router_path' => 'admin/reports/pages', - 'link_title' => 'Top pages', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:41:"View pages that have been hit frequently.";}}', - 'module' => 'system', + 'menu_name' => 'menu-test-menu', + 'mlid' => '700', + 'plid' => '0', + 'link_path' => 'http://yahoo.com', + 'router_path' => '', + 'link_title' => 'fr - Yahoo', + 'options' => 'a:2:{s:10:"attributes";a:1:{s:5:"title";s:16:"fr - description";}s:5:"alter";b:1;}', + 'module' => 'menu', 'hidden' => '0', - 'external' => '0', + 'external' => '1', 'has_children' => '0', 'expanded' => '0', - 'weight' => '1', - 'depth' => '3', - 'customized' => '0', - 'p1' => '1', - 'p2' => '18', - 'p3' => '360', + 'weight' => '0', + 'depth' => '1', + 'customized' => '1', + 'p1' => '468', + 'p2' => '0', + 'p3' => '0', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -31767,28 +34452,28 @@ 'p8' => '0', 'p9' => '0', 'updated' => '0', - 'language' => 'und', - 'i18n_tsid' => '0', + 'language' => 'fr', + 'i18n_tsid' => '1', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '361', - 'plid' => '18', - 'link_path' => 'admin/reports/referrers', - 'router_path' => 'admin/reports/referrers', - 'link_title' => 'Top referrers', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:19:"View top referrers.";}}', - 'module' => 'system', + 'menu_name' => 'menu-test-menu', + 'mlid' => '701', + 'plid' => '0', + 'link_path' => 'http://yahoo.com', + 'router_path' => '', + 'link_title' => 'is - Yahoo', + 'options' => 'a:2:{s:10:"attributes";a:1:{s:5:"title";s:16:"is - description";}s:5:"alter";b:1;}', + 'module' => 'menu', 'hidden' => '0', - 'external' => '0', + 'external' => '1', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', - 'customized' => '0', - 'p1' => '1', - 'p2' => '18', - 'p3' => '361', + 'depth' => '1', + 'customized' => '1', + 'p1' => '468', + 'p2' => '0', + 'p3' => '0', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -31796,28 +34481,28 @@ 'p8' => '0', 'p9' => '0', 'updated' => '0', - 'language' => 'und', - 'i18n_tsid' => '0', + 'language' => 'is', + 'i18n_tsid' => '1', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '362', - 'plid' => '18', - 'link_path' => 'admin/reports/visitors', - 'router_path' => 'admin/reports/visitors', - 'link_title' => 'Top visitors', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:34:"View visitors that hit many pages.";}}', + 'menu_name' => 'navigation', + 'mlid' => '702', + 'plid' => '6', + 'link_path' => 'node/add/et', + 'router_path' => 'node/add/et', + 'link_title' => 'Entity translation test', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:23:"Entity translation test";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '2', - 'depth' => '3', + 'weight' => '0', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '18', - 'p3' => '362', + 'p1' => '6', + 'p2' => '702', + 'p3' => '0', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -31830,22 +34515,22 @@ )) ->values(array( 'menu_name' => 'navigation', - 'mlid' => '363', - 'plid' => '5', - 'link_path' => 'node/%/track', - 'router_path' => 'node/%/track', - 'link_title' => 'Track', + 'mlid' => '703', + 'plid' => '6', + 'link_path' => 'node/add/a-thirty-two-character-type-name', + 'router_path' => 'node/add/a-thirty-two-character-type-name', + 'link_title' => 'Test long name', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '1', + 'weight' => '0', 'depth' => '2', 'customized' => '0', - 'p1' => '5', - 'p2' => '363', + 'p1' => '6', + 'p2' => '703', 'p3' => '0', 'p4' => '0', 'p5' => '0', @@ -31859,22 +34544,22 @@ )) ->values(array( 'menu_name' => 'navigation', - 'mlid' => '364', - 'plid' => '16', - 'link_path' => 'user/%/track', - 'router_path' => 'user/%/track', - 'link_title' => 'Track', + 'mlid' => '704', + 'plid' => '3', + 'link_path' => 'comment/%/translate', + 'router_path' => 'comment/%/translate', + 'link_title' => 'Translate', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '0', + 'weight' => '1', 'depth' => '2', 'customized' => '0', - 'p1' => '16', - 'p2' => '364', + 'p1' => '3', + 'p2' => '704', 'p3' => '0', 'p4' => '0', 'p5' => '0', @@ -31888,10 +34573,10 @@ )) ->values(array( 'menu_name' => 'navigation', - 'mlid' => '365', - 'plid' => '5', - 'link_path' => 'node/%/translate', - 'router_path' => 'node/%/translate', + 'mlid' => '705', + 'plid' => '16', + 'link_path' => 'user/%/translate', + 'router_path' => 'user/%/translate', 'link_title' => 'Translate', 'options' => 'a:0:{}', 'module' => 'system', @@ -31899,11 +34584,11 @@ 'external' => '0', 'has_children' => '1', 'expanded' => '0', - 'weight' => '1', + 'weight' => '2', 'depth' => '2', 'customized' => '0', - 'p1' => '5', - 'p2' => '365', + 'p1' => '16', + 'p2' => '705', 'p3' => '0', 'p4' => '0', 'p5' => '0', @@ -31917,14 +34602,14 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '366', - 'plid' => '20', - 'link_path' => 'admin/structure/trigger', - 'router_path' => 'admin/structure/trigger', - 'link_title' => 'Triggers', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:34:"Configure when to execute actions.";}}', + 'mlid' => '706', + 'plid' => '175', + 'link_path' => 'admin/help/i18n', + 'router_path' => 'admin/help/i18n', + 'link_title' => 'i18n', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', @@ -31932,8 +34617,8 @@ 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '366', + 'p2' => '175', + 'p3' => '706', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -31946,11 +34631,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '369', + 'mlid' => '707', 'plid' => '175', - 'link_path' => 'admin/help/aggregator', - 'router_path' => 'admin/help/aggregator', - 'link_title' => 'aggregator', + 'link_path' => 'admin/help/i18n_block', + 'router_path' => 'admin/help/i18n_block', + 'link_title' => 'i18n_block', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -31962,7 +34647,7 @@ 'customized' => '0', 'p1' => '1', 'p2' => '175', - 'p3' => '369', + 'p3' => '707', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -31975,11 +34660,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '370', + 'mlid' => '708', 'plid' => '175', - 'link_path' => 'admin/help/blog', - 'router_path' => 'admin/help/blog', - 'link_title' => 'blog', + 'link_path' => 'admin/help/i18n_menu', + 'router_path' => 'admin/help/i18n_menu', + 'link_title' => 'i18n_menu', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -31991,7 +34676,7 @@ 'customized' => '0', 'p1' => '1', 'p2' => '175', - 'p3' => '370', + 'p3' => '708', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -32004,11 +34689,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '371', + 'mlid' => '709', 'plid' => '175', - 'link_path' => 'admin/help/book', - 'router_path' => 'admin/help/book', - 'link_title' => 'book', + 'link_path' => 'admin/help/i18n_string', + 'router_path' => 'admin/help/i18n_string', + 'link_title' => 'i18n_string', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -32020,7 +34705,7 @@ 'customized' => '0', 'p1' => '1', 'p2' => '175', - 'p3' => '371', + 'p3' => '709', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -32033,11 +34718,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '372', + 'mlid' => '710', 'plid' => '175', - 'link_path' => 'admin/help/contact', - 'router_path' => 'admin/help/contact', - 'link_title' => 'contact', + 'link_path' => 'admin/help/i18n_sync', + 'router_path' => 'admin/help/i18n_sync', + 'link_title' => 'i18n_sync', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -32049,7 +34734,7 @@ 'customized' => '0', 'p1' => '1', 'p2' => '175', - 'p3' => '372', + 'p3' => '710', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -32062,11 +34747,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '373', + 'mlid' => '711', 'plid' => '175', - 'link_path' => 'admin/help/date', - 'router_path' => 'admin/help/date', - 'link_title' => 'date', + 'link_path' => 'admin/help/i18n_taxonomy', + 'router_path' => 'admin/help/i18n_taxonomy', + 'link_title' => 'i18n_taxonomy', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -32078,7 +34763,7 @@ 'customized' => '0', 'p1' => '1', 'p2' => '175', - 'p3' => '373', + 'p3' => '711', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -32091,11 +34776,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '374', + 'mlid' => '712', 'plid' => '175', - 'link_path' => 'admin/help/forum', - 'router_path' => 'admin/help/forum', - 'link_title' => 'forum', + 'link_path' => 'admin/help/link', + 'router_path' => 'admin/help/link', + 'link_title' => 'link', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -32107,7 +34792,7 @@ 'customized' => '0', 'p1' => '1', 'p2' => '175', - 'p3' => '374', + 'p3' => '712', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -32120,11 +34805,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '375', + 'mlid' => '713', 'plid' => '175', - 'link_path' => 'admin/help/locale', - 'router_path' => 'admin/help/locale', - 'link_title' => 'locale', + 'link_path' => 'admin/help/title', + 'router_path' => 'admin/help/title', + 'link_title' => 'title', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -32136,7 +34821,7 @@ 'customized' => '0', 'p1' => '1', 'p2' => '175', - 'p3' => '375', + 'p3' => '713', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -32148,12 +34833,12 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '377', - 'plid' => '175', - 'link_path' => 'admin/help/simpletest', - 'router_path' => 'admin/help/simpletest', - 'link_title' => 'simpletest', + 'menu_name' => 'navigation', + 'mlid' => '714', + 'plid' => '25', + 'link_path' => 'comment/%/edit/%', + 'router_path' => 'comment/%/edit/%', + 'link_title' => 'Edit', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -32163,9 +34848,9 @@ 'weight' => '0', 'depth' => '3', 'customized' => '0', - 'p1' => '1', - 'p2' => '175', - 'p3' => '377', + 'p1' => '3', + 'p2' => '25', + 'p3' => '714', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -32177,12 +34862,12 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '378', - 'plid' => '175', - 'link_path' => 'admin/help/statistics', - 'router_path' => 'admin/help/statistics', - 'link_title' => 'statistics', + 'menu_name' => 'navigation', + 'mlid' => '715', + 'plid' => '38', + 'link_path' => 'user/%/edit/%', + 'router_path' => 'user/%/edit/%', + 'link_title' => 'Edit', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -32192,9 +34877,9 @@ 'weight' => '0', 'depth' => '3', 'customized' => '0', - 'p1' => '1', - 'p2' => '175', - 'p3' => '378', + 'p1' => '16', + 'p2' => '38', + 'p3' => '715', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -32207,24 +34892,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '379', - 'plid' => '175', - 'link_path' => 'admin/help/syslog', - 'router_path' => 'admin/help/syslog', - 'link_title' => 'syslog', - 'options' => 'a:0:{}', + 'mlid' => '716', + 'plid' => '48', + 'link_path' => 'admin/config/regional/i18n', + 'router_path' => 'admin/config/regional/i18n', + 'link_title' => 'Multilingual settings', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:69:"Configure extended options for multilingual content and translations.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '3', + 'weight' => '10', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '379', - 'p4' => '0', + 'p2' => '8', + 'p3' => '48', + 'p4' => '716', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -32236,24 +34921,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '380', - 'plid' => '175', - 'link_path' => 'admin/help/tracker', - 'router_path' => 'admin/help/tracker', - 'link_title' => 'tracker', - 'options' => 'a:0:{}', + 'mlid' => '717', + 'plid' => '33', + 'link_path' => 'admin/config/content/title', + 'router_path' => 'admin/config/content/title', + 'link_title' => 'Title settings', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:30:"Settings for the Title module.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '380', - 'p4' => '0', + 'p2' => '8', + 'p3' => '33', + 'p4' => '717', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -32264,24 +34949,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '381', - 'plid' => '175', - 'link_path' => 'admin/help/translation', - 'router_path' => 'admin/help/translation', - 'link_title' => 'translation', + 'menu_name' => 'navigation', + 'mlid' => '718', + 'plid' => '176', + 'link_path' => 'taxonomy/term/%/translate', + 'router_path' => 'taxonomy/term/%/translate', + 'link_title' => 'Translate', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '0', - 'depth' => '3', + 'weight' => '11', + 'depth' => '2', 'customized' => '0', - 'p1' => '1', - 'p2' => '175', - 'p3' => '381', + 'p1' => '176', + 'p2' => '718', + 'p3' => '0', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -32294,24 +34979,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '382', - 'plid' => '175', - 'link_path' => 'admin/help/trigger', - 'router_path' => 'admin/help/trigger', - 'link_title' => 'trigger', - 'options' => 'a:0:{}', + 'mlid' => '719', + 'plid' => '48', + 'link_path' => 'admin/config/regional/i18n_translation', + 'router_path' => 'admin/config/regional/i18n_translation', + 'link_title' => 'Translation sets', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:26:"Translation sets overview.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '3', + 'weight' => '10', + 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '175', - 'p3' => '382', - 'p4' => '0', + 'p2' => '8', + 'p3' => '48', + 'p4' => '719', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -32323,11 +35008,11 @@ )) ->values(array( 'menu_name' => 'navigation', - 'mlid' => '383', - 'plid' => '347', - 'link_path' => 'aggregator/categories/%/categorize', - 'router_path' => 'aggregator/categories/%/categorize', - 'link_title' => 'Categorize', + 'mlid' => '720', + 'plid' => '39', + 'link_path' => 'node/%/edit/%', + 'router_path' => 'node/%/edit/%', + 'link_title' => 'Edit', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -32335,12 +35020,12 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '3', 'customized' => '0', - 'p1' => '338', - 'p2' => '342', - 'p3' => '347', - 'p4' => '383', + 'p1' => '5', + 'p2' => '39', + 'p3' => '720', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -32352,24 +35037,24 @@ )) ->values(array( 'menu_name' => 'navigation', - 'mlid' => '384', - 'plid' => '348', - 'link_path' => 'aggregator/sources/%/categorize', - 'router_path' => 'aggregator/sources/%/categorize', - 'link_title' => 'Categorize', + 'mlid' => '721', + 'plid' => '704', + 'link_path' => 'comment/%/translate/delete/%', + 'router_path' => 'comment/%/translate/delete/%', + 'link_title' => 'Delete', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '3', 'customized' => '0', - 'p1' => '338', - 'p2' => '346', - 'p3' => '348', - 'p4' => '384', + 'p1' => '3', + 'p2' => '704', + 'p3' => '721', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -32381,24 +35066,24 @@ )) ->values(array( 'menu_name' => 'navigation', - 'mlid' => '385', - 'plid' => '347', - 'link_path' => 'aggregator/categories/%/configure', - 'router_path' => 'aggregator/categories/%/configure', - 'link_title' => 'Configure', + 'mlid' => '722', + 'plid' => '365', + 'link_path' => 'node/%/translate/delete/%', + 'router_path' => 'node/%/translate/delete/%', + 'link_title' => 'Delete', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '1', - 'depth' => '4', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', - 'p1' => '338', - 'p2' => '342', - 'p3' => '347', - 'p4' => '385', + 'p1' => '5', + 'p2' => '365', + 'p3' => '722', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -32410,24 +35095,24 @@ )) ->values(array( 'menu_name' => 'navigation', - 'mlid' => '386', - 'plid' => '348', - 'link_path' => 'aggregator/sources/%/configure', - 'router_path' => 'aggregator/sources/%/configure', - 'link_title' => 'Configure', + 'mlid' => '723', + 'plid' => '705', + 'link_path' => 'user/%/translate/delete/%', + 'router_path' => 'user/%/translate/delete/%', + 'link_title' => 'Delete', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '1', - 'depth' => '4', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', - 'p1' => '338', - 'p2' => '346', - 'p3' => '348', - 'p4' => '386', + 'p1' => '16', + 'p2' => '705', + 'p3' => '723', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -32439,24 +35124,24 @@ )) ->values(array( 'menu_name' => 'navigation', - 'mlid' => '387', - 'plid' => '347', - 'link_path' => 'aggregator/categories/%/view', - 'router_path' => 'aggregator/categories/%/view', - 'link_title' => 'View', + 'mlid' => '724', + 'plid' => '210', + 'link_path' => 'taxonomy/term/%/edit/%', + 'router_path' => 'taxonomy/term/%/edit/%', + 'link_title' => 'Edit', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '4', + 'weight' => '10', + 'depth' => '3', 'customized' => '0', - 'p1' => '338', - 'p2' => '342', - 'p3' => '347', - 'p4' => '387', + 'p1' => '176', + 'p2' => '210', + 'p3' => '724', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -32467,26 +35152,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '388', - 'plid' => '348', - 'link_path' => 'aggregator/sources/%/view', - 'router_path' => 'aggregator/sources/%/view', - 'link_title' => 'View', - 'options' => 'a:0:{}', + 'menu_name' => 'management', + 'mlid' => '725', + 'plid' => '716', + 'link_path' => 'admin/config/regional/i18n/configure', + 'router_path' => 'admin/config/regional/i18n/configure', + 'link_title' => 'Multilingual system', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:69:"Configure extended options for multilingual content and translations.";}}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '4', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', - 'p1' => '338', - 'p2' => '346', - 'p3' => '348', - 'p4' => '388', - 'p5' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '48', + 'p4' => '716', + 'p5' => '725', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -32497,25 +35182,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '389', - 'plid' => '353', - 'link_path' => 'admin/structure/contact/add', - 'router_path' => 'admin/structure/contact/add', - 'link_title' => 'Add category', - 'options' => 'a:0:{}', + 'mlid' => '726', + 'plid' => '716', + 'link_path' => 'admin/config/regional/i18n/strings', + 'router_path' => 'admin/config/regional/i18n/strings', + 'link_title' => 'Strings', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:33:"Options for user defined strings.";}}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '1', - 'depth' => '4', + 'weight' => '20', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '353', - 'p4' => '389', - 'p5' => '0', + 'p2' => '8', + 'p3' => '48', + 'p4' => '716', + 'p5' => '726', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -32526,25 +35211,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '391', - 'plid' => '18', - 'link_path' => 'admin/reports/access/%', - 'router_path' => 'admin/reports/access/%', - 'link_title' => 'Details', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:16:"View access log.";}}', + 'mlid' => '727', + 'plid' => '413', + 'link_path' => 'admin/config/regional/translate/i18n_string', + 'router_path' => 'admin/config/regional/translate/i18n_string', + 'link_title' => 'Strings', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:29:"Refresh user defined strings.";}}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '3', + 'weight' => '20', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '18', - 'p3' => '391', - 'p4' => '0', - 'p5' => '0', + 'p2' => '8', + 'p3' => '48', + 'p4' => '413', + 'p5' => '727', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -32555,25 +35240,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '392', - 'plid' => '33', - 'link_path' => 'admin/config/content/email', - 'router_path' => 'admin/config/content/email', - 'link_title' => 'Email Contact Form Settings', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:57:"Administer flood control settings for email contact forms";}}', + 'mlid' => '728', + 'plid' => '212', + 'link_path' => 'admin/structure/taxonomy/%/translate', + 'router_path' => 'admin/structure/taxonomy/%/translate', + 'link_title' => 'Translate', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '4', + 'weight' => '10', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '33', - 'p4' => '392', - 'p5' => '0', + 'p2' => '20', + 'p3' => '180', + 'p4' => '212', + 'p5' => '728', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -32584,25 +35269,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '393', - 'plid' => '60', - 'link_path' => 'admin/config/services/aggregator', - 'router_path' => 'admin/config/services/aggregator', - 'link_title' => 'Feed aggregator', - 'options' => "a:1:{s:10:\"attributes\";a:1:{s:5:\"title\";s:116:\"Configure which content your site aggregates from other sites, how often it polls them, and how they're categorized.\";}}", + 'mlid' => '729', + 'plid' => '719', + 'link_path' => 'admin/config/regional/i18n_translation/configure', + 'router_path' => 'admin/config/regional/i18n_translation/configure', + 'link_title' => 'Translation sets', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:38:"Overview of existing translation sets.";}}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '10', - 'depth' => '4', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '60', - 'p4' => '393', - 'p5' => '0', + 'p3' => '48', + 'p4' => '719', + 'p5' => '729', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -32613,24 +35298,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '395', - 'plid' => '48', - 'link_path' => 'admin/config/regional/language', - 'router_path' => 'admin/config/regional/language', - 'link_title' => 'Languages', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:55:"Configure languages for content and the user interface.";}}', + 'mlid' => '730', + 'plid' => '44', + 'link_path' => 'admin/structure/menu/manage/translation', + 'router_path' => 'admin/structure/menu/manage/translation', + 'link_title' => 'Translation sets', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', + 'weight' => '10', 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '48', - 'p4' => '395', + 'p2' => '20', + 'p3' => '44', + 'p4' => '730', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -32642,25 +35327,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '396', - 'plid' => '351', - 'link_path' => 'admin/content/book/list', - 'router_path' => 'admin/content/book/list', - 'link_title' => 'List', - 'options' => 'a:0:{}', + 'mlid' => '731', + 'plid' => '716', + 'link_path' => 'admin/config/regional/i18n/variable', + 'router_path' => 'admin/config/regional/i18n/variable', + 'link_title' => 'Variables', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:33:"Configure multilingual variables.";}}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '9', - 'p3' => '351', - 'p4' => '396', - 'p5' => '0', + 'p2' => '8', + 'p3' => '48', + 'p4' => '716', + 'p5' => '731', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -32670,25 +35355,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '398', - 'plid' => '356', - 'link_path' => 'admin/structure/forum/list', - 'router_path' => 'admin/structure/forum/list', - 'link_title' => 'List', + 'menu_name' => 'navigation', + 'mlid' => '732', + 'plid' => '25', + 'link_path' => 'comment/%/edit/add/%/%', + 'router_path' => 'comment/%/edit/add/%/%', + 'link_title' => 'Edit', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '4', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', - 'p1' => '1', - 'p2' => '20', - 'p3' => '356', - 'p4' => '398', + 'p1' => '3', + 'p2' => '25', + 'p3' => '732', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -32700,23 +35385,23 @@ )) ->values(array( 'menu_name' => 'navigation', - 'mlid' => '399', - 'plid' => '358', - 'link_path' => 'node/%/outline/remove', - 'router_path' => 'node/%/outline/remove', - 'link_title' => 'Remove from outline', + 'mlid' => '733', + 'plid' => '38', + 'link_path' => 'user/%/edit/add/%/%', + 'router_path' => 'user/%/edit/add/%/%', + 'link_title' => 'Edit', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', 'depth' => '3', 'customized' => '0', - 'p1' => '5', - 'p2' => '358', - 'p3' => '399', + 'p1' => '16', + 'p2' => '38', + 'p3' => '733', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -32729,25 +35414,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '400', - 'plid' => '351', - 'link_path' => 'admin/content/book/settings', - 'router_path' => 'admin/content/book/settings', - 'link_title' => 'Settings', + 'mlid' => '734', + 'plid' => '730', + 'link_path' => 'admin/structure/menu/manage/translation/add', + 'router_path' => 'admin/structure/menu/manage/translation/add', + 'link_title' => 'Add translation', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '8', - 'depth' => '4', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '9', - 'p3' => '351', - 'p4' => '400', - 'p5' => '0', + 'p2' => '20', + 'p3' => '44', + 'p4' => '730', + 'p5' => '734', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -32758,24 +35443,53 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '402', - 'plid' => '53', - 'link_path' => 'admin/config/system/statistics', - 'router_path' => 'admin/config/system/statistics', - 'link_title' => 'Statistics', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:68:"Control details about what and how your site logs access statistics.";}}', + 'mlid' => '735', + 'plid' => '491', + 'link_path' => 'admin/config/regional/entity_translation/translatable/%', + 'router_path' => 'admin/config/regional/entity_translation/translatable/%', + 'link_title' => 'Confirm change in translatability.', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:53:"Confirmation page for changing field translatability.";}}', 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-15', - 'depth' => '4', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '53', - 'p4' => '402', + 'p3' => '48', + 'p4' => '491', + 'p5' => '735', + 'p6' => '0', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'navigation', + 'mlid' => '736', + 'plid' => '718', + 'link_path' => 'taxonomy/term/%/translate/delete/%', + 'router_path' => 'taxonomy/term/%/translate/delete/%', + 'link_title' => 'Delete', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '0', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '0', + 'depth' => '3', + 'customized' => '0', + 'p1' => '176', + 'p2' => '718', + 'p3' => '736', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -32786,12 +35500,12 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '405', - 'plid' => '366', - 'link_path' => 'admin/structure/trigger/comment', - 'router_path' => 'admin/structure/trigger/comment', - 'link_title' => 'Comment', + 'menu_name' => 'navigation', + 'mlid' => '737', + 'plid' => '39', + 'link_path' => 'node/%/edit/add/%/%', + 'router_path' => 'node/%/edit/add/%/%', + 'link_title' => 'Edit', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -32799,12 +35513,12 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '3', 'customized' => '0', - 'p1' => '1', - 'p2' => '20', - 'p3' => '366', - 'p4' => '405', + 'p1' => '5', + 'p2' => '39', + 'p3' => '737', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -32816,25 +35530,54 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '407', - 'plid' => '366', - 'link_path' => 'admin/structure/trigger/node', - 'router_path' => 'admin/structure/trigger/node', - 'link_title' => 'Node', + 'mlid' => '738', + 'plid' => '226', + 'link_path' => 'admin/structure/taxonomy/%/list/list', + 'router_path' => 'admin/structure/taxonomy/%/list/list', + 'link_title' => 'Terms', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '4', + 'weight' => '-20', + 'depth' => '6', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '366', - 'p4' => '407', - 'p5' => '0', + 'p3' => '180', + 'p4' => '212', + 'p5' => '226', + 'p6' => '738', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '739', + 'plid' => '113', + 'link_path' => 'admin/structure/menu/manage/%/translate', + 'router_path' => 'admin/structure/menu/manage/%/translate', + 'link_title' => 'Translate', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '10', + 'depth' => '5', + 'customized' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '44', + 'p4' => '113', + 'p5' => '739', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -32845,24 +35588,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '408', - 'plid' => '366', - 'link_path' => 'admin/structure/trigger/system', - 'router_path' => 'admin/structure/trigger/system', - 'link_title' => 'System', + 'mlid' => '740', + 'plid' => '44', + 'link_path' => 'admin/structure/menu/item/%/translate', + 'router_path' => 'admin/structure/menu/item/%/translate', + 'link_title' => 'Translate', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', + 'weight' => '10', 'depth' => '4', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '366', - 'p4' => '408', + 'p3' => '44', + 'p4' => '740', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -32874,11 +35617,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '409', - 'plid' => '366', - 'link_path' => 'admin/structure/trigger/taxonomy', - 'router_path' => 'admin/structure/trigger/taxonomy', - 'link_title' => 'Taxonomy', + 'mlid' => '741', + 'plid' => '226', + 'link_path' => 'admin/structure/taxonomy/%/list/sets', + 'router_path' => 'admin/structure/taxonomy/%/list/sets', + 'link_title' => 'Translation sets', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -32886,14 +35629,14 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '6', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '366', - 'p4' => '409', - 'p5' => '0', - 'p6' => '0', + 'p3' => '180', + 'p4' => '212', + 'p5' => '226', + 'p6' => '741', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -32902,25 +35645,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'management', - 'mlid' => '410', - 'plid' => '37', - 'link_path' => 'admin/config/development/testing', - 'router_path' => 'admin/config/development/testing', - 'link_title' => 'Testing', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:122:"Run tests against Drupal core and your active modules. These tests help assure that your site code is working as designed.";}}', + 'menu_name' => 'navigation', + 'mlid' => '742', + 'plid' => '210', + 'link_path' => 'taxonomy/term/%/edit/add/%/%', + 'router_path' => 'taxonomy/term/%/edit/add/%/%', + 'link_title' => 'Edit', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '-5', - 'depth' => '4', + 'weight' => '10', + 'depth' => '3', 'customized' => '0', - 'p1' => '1', - 'p2' => '8', - 'p3' => '37', - 'p4' => '410', + 'p1' => '176', + 'p2' => '210', + 'p3' => '742', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -32931,12 +35674,12 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '411', - 'plid' => '364', - 'link_path' => 'user/%/track/content', - 'router_path' => 'user/%/track/content', - 'link_title' => 'Track content', + 'menu_name' => 'management', + 'mlid' => '743', + 'plid' => '741', + 'link_path' => 'admin/structure/taxonomy/%/list/sets/add', + 'router_path' => 'admin/structure/taxonomy/%/list/sets/add', + 'link_title' => 'Create new translation', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -32944,15 +35687,15 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '3', + 'depth' => '7', 'customized' => '0', - 'p1' => '16', - 'p2' => '364', - 'p3' => '411', - 'p4' => '0', - 'p5' => '0', - 'p6' => '0', - 'p7' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '180', + 'p4' => '212', + 'p5' => '226', + 'p6' => '741', + 'p7' => '743', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -32960,26 +35703,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '412', - 'plid' => '364', - 'link_path' => 'user/%/track/navigation', - 'router_path' => 'user/%/track/navigation', - 'link_title' => 'Track page visits', + 'menu_name' => 'management', + 'mlid' => '744', + 'plid' => '146', + 'link_path' => 'admin/structure/block/manage/%/%/translate', + 'router_path' => 'admin/structure/block/manage/%/%/translate', + 'link_title' => 'Translate', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '2', - 'depth' => '3', + 'weight' => '10', + 'depth' => '5', 'customized' => '0', - 'p1' => '16', - 'p2' => '364', - 'p3' => '412', - 'p4' => '0', - 'p5' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '28', + 'p4' => '146', + 'p5' => '744', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -32990,25 +35733,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '413', - 'plid' => '48', - 'link_path' => 'admin/config/regional/translate', - 'router_path' => 'admin/config/regional/translate', - 'link_title' => 'Translate interface', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:59:"Translate the built in interface and optionally other text.";}}', + 'mlid' => '745', + 'plid' => '212', + 'link_path' => 'admin/structure/taxonomy/%/fields/replace/%', + 'router_path' => 'admin/structure/taxonomy/%/fields/replace/%', + 'link_title' => 'Replace fields', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '-5', - 'depth' => '4', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '48', - 'p4' => '413', - 'p5' => '0', + 'p2' => '20', + 'p3' => '180', + 'p4' => '212', + 'p5' => '745', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -33019,25 +35762,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '414', - 'plid' => '366', - 'link_path' => 'admin/structure/trigger/unassign', - 'router_path' => 'admin/structure/trigger/unassign', - 'link_title' => 'Unassign', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:34:"Unassign an action from a trigger.";}}', + 'mlid' => '746', + 'plid' => '114', + 'link_path' => 'admin/structure/types/manage/%/fields/replace/%', + 'router_path' => 'admin/structure/types/manage/%/fields/replace/%', + 'link_title' => 'Replace fields', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '5', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '366', - 'p4' => '414', - 'p5' => '0', + 'p3' => '34', + 'p4' => '114', + 'p5' => '746', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -33048,26 +35791,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '416', - 'plid' => '366', - 'link_path' => 'admin/structure/trigger/user', - 'router_path' => 'admin/structure/trigger/user', - 'link_title' => 'User', + 'mlid' => '747', + 'plid' => '162', + 'link_path' => 'admin/structure/types/manage/%/comment/fields/replace/%', + 'router_path' => 'admin/structure/types/manage/%/comment/fields/replace/%', + 'link_title' => 'Replace fields', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '6', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '366', - 'p4' => '416', - 'p5' => '0', - 'p6' => '0', + 'p3' => '34', + 'p4' => '114', + 'p5' => '162', + 'p6' => '747', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -33077,24 +35820,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '417', - 'plid' => '356', - 'link_path' => 'admin/structure/forum/settings', - 'router_path' => 'admin/structure/forum/settings', - 'link_title' => 'Settings', + 'mlid' => '921', + 'plid' => '175', + 'link_path' => 'admin/help/references', + 'router_path' => 'admin/help/references', + 'link_title' => 'references', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '5', - 'depth' => '4', + 'weight' => '0', + 'depth' => '3', 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '356', - 'p4' => '417', + 'p2' => '175', + 'p3' => '921', + 'p4' => '0', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -33106,25 +35849,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '418', - 'plid' => '395', - 'link_path' => 'admin/config/regional/language/add', - 'router_path' => 'admin/config/regional/language/add', - 'link_title' => 'Add language', - 'options' => 'a:0:{}', + 'mlid' => '922', + 'plid' => '33', + 'link_path' => 'admin/config/content/link', + 'router_path' => 'admin/config/content/link', + 'link_title' => 'Link settings', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:29:"Settings for the link module.";}}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '5', - 'depth' => '5', + 'weight' => '0', + 'depth' => '4', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '48', - 'p4' => '395', - 'p5' => '418', + 'p3' => '33', + 'p4' => '922', + 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -33135,25 +35878,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '421', - 'plid' => '353', - 'link_path' => 'admin/structure/contact/delete/%', - 'router_path' => 'admin/structure/contact/delete/%', - 'link_title' => 'Delete contact', + 'mlid' => '923', + 'plid' => '212', + 'link_path' => 'admin/structure/taxonomy/%/display', + 'router_path' => 'admin/structure/taxonomy/%/display', + 'link_title' => 'Manage display', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '4', + 'weight' => '2', + 'depth' => '5', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '353', - 'p4' => '421', - 'p5' => '0', + 'p3' => '180', + 'p4' => '212', + 'p5' => '923', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -33164,25 +35907,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '422', - 'plid' => '395', - 'link_path' => 'admin/config/regional/language/configure', - 'router_path' => 'admin/config/regional/language/configure', - 'link_title' => 'Detection and selection', + 'mlid' => '924', + 'plid' => '66', + 'link_path' => 'admin/config/people/accounts/display', + 'router_path' => 'admin/config/people/accounts/display', + 'link_title' => 'Manage display', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '10', + 'weight' => '2', 'depth' => '5', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '48', - 'p4' => '395', - 'p5' => '422', + 'p3' => '45', + 'p4' => '66', + 'p5' => '924', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -33193,25 +35936,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '423', - 'plid' => '353', - 'link_path' => 'admin/structure/contact/edit/%', - 'router_path' => 'admin/structure/contact/edit/%', - 'link_title' => 'Edit contact category', + 'mlid' => '925', + 'plid' => '212', + 'link_path' => 'admin/structure/taxonomy/%/fields', + 'router_path' => 'admin/structure/taxonomy/%/fields', + 'link_title' => 'Manage fields', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '0', - 'depth' => '4', + 'weight' => '1', + 'depth' => '5', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '353', - 'p4' => '423', - 'p5' => '0', + 'p3' => '180', + 'p4' => '212', + 'p5' => '925', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -33222,25 +35965,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '424', - 'plid' => '413', - 'link_path' => 'admin/config/regional/translate/export', - 'router_path' => 'admin/config/regional/translate/export', - 'link_title' => 'Export', + 'mlid' => '926', + 'plid' => '66', + 'link_path' => 'admin/config/people/accounts/fields', + 'router_path' => 'admin/config/people/accounts/fields', + 'link_title' => 'Manage fields', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '30', + 'weight' => '1', 'depth' => '5', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '48', - 'p4' => '413', - 'p5' => '424', + 'p3' => '45', + 'p4' => '66', + 'p5' => '926', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -33251,26 +35994,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '425', - 'plid' => '413', - 'link_path' => 'admin/config/regional/translate/import', - 'router_path' => 'admin/config/regional/translate/import', - 'link_title' => 'Import', + 'mlid' => '927', + 'plid' => '923', + 'link_path' => 'admin/structure/taxonomy/%/display/default', + 'router_path' => 'admin/structure/taxonomy/%/display/default', + 'link_title' => 'Default', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '20', - 'depth' => '5', + 'weight' => '-10', + 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '48', - 'p4' => '413', - 'p5' => '425', - 'p6' => '0', + 'p2' => '20', + 'p3' => '180', + 'p4' => '212', + 'p5' => '923', + 'p6' => '927', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -33280,11 +36023,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '426', - 'plid' => '393', - 'link_path' => 'admin/config/services/aggregator/list', - 'router_path' => 'admin/config/services/aggregator/list', - 'link_title' => 'List', + 'mlid' => '928', + 'plid' => '924', + 'link_path' => 'admin/config/people/accounts/display/default', + 'router_path' => 'admin/config/people/accounts/display/default', + 'link_title' => 'Default', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -33292,14 +36035,14 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '-10', - 'depth' => '5', + 'depth' => '6', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '60', - 'p4' => '393', - 'p5' => '426', - 'p6' => '0', + 'p3' => '45', + 'p4' => '66', + 'p5' => '924', + 'p6' => '928', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -33309,25 +36052,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '427', - 'plid' => '395', - 'link_path' => 'admin/config/regional/language/overview', - 'router_path' => 'admin/config/regional/language/overview', - 'link_title' => 'List', + 'mlid' => '929', + 'plid' => '114', + 'link_path' => 'admin/structure/types/manage/%/display', + 'router_path' => 'admin/structure/types/manage/%/display', + 'link_title' => 'Manage display', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', + 'weight' => '2', 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '48', - 'p4' => '395', - 'p5' => '427', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '929', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -33338,25 +36081,25 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '428', - 'plid' => '410', - 'link_path' => 'admin/config/development/testing/list', - 'router_path' => 'admin/config/development/testing/list', - 'link_title' => 'List', + 'mlid' => '930', + 'plid' => '114', + 'link_path' => 'admin/structure/types/manage/%/fields', + 'router_path' => 'admin/structure/types/manage/%/fields', + 'link_title' => 'Manage fields', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '0', + 'weight' => '1', 'depth' => '5', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '37', - 'p4' => '410', - 'p5' => '428', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '930', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -33367,26 +36110,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '429', - 'plid' => '74', - 'link_path' => 'admin/config/regional/date-time/locale', - 'router_path' => 'admin/config/regional/date-time/locale', - 'link_title' => 'Localize', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:38:"Configure date formats for each locale";}}', + 'mlid' => '931', + 'plid' => '923', + 'link_path' => 'admin/structure/taxonomy/%/display/full', + 'router_path' => 'admin/structure/taxonomy/%/display/full', + 'link_title' => 'Taxonomy term page', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '-8', - 'depth' => '5', + 'weight' => '0', + 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '48', - 'p4' => '74', - 'p5' => '429', - 'p6' => '0', + 'p2' => '20', + 'p3' => '180', + 'p4' => '212', + 'p5' => '923', + 'p6' => '931', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -33396,11 +36139,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '430', - 'plid' => '413', - 'link_path' => 'admin/config/regional/translate/overview', - 'router_path' => 'admin/config/regional/translate/overview', - 'link_title' => 'Overview', + 'mlid' => '932', + 'plid' => '924', + 'link_path' => 'admin/config/people/accounts/display/full', + 'router_path' => 'admin/config/people/accounts/display/full', + 'link_title' => 'User account', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -33408,14 +36151,14 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '6', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '48', - 'p4' => '413', - 'p5' => '430', - 'p6' => '0', + 'p3' => '45', + 'p4' => '66', + 'p5' => '924', + 'p6' => '932', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -33425,26 +36168,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '431', - 'plid' => '410', - 'link_path' => 'admin/config/development/testing/settings', - 'router_path' => 'admin/config/development/testing/settings', - 'link_title' => 'Settings', + 'mlid' => '933', + 'plid' => '925', + 'link_path' => 'admin/structure/taxonomy/%/fields/%', + 'router_path' => 'admin/structure/taxonomy/%/fields/%', + 'link_title' => '', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '37', - 'p4' => '410', - 'p5' => '431', - 'p6' => '0', + 'p2' => '20', + 'p3' => '180', + 'p4' => '212', + 'p5' => '925', + 'p6' => '933', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -33454,26 +36197,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '432', - 'plid' => '393', - 'link_path' => 'admin/config/services/aggregator/settings', - 'router_path' => 'admin/config/services/aggregator/settings', - 'link_title' => 'Settings', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:129:"Configure the behavior of the feed aggregator, including when to discard feed items and how to present feed items and categories.";}}', + 'mlid' => '934', + 'plid' => '926', + 'link_path' => 'admin/config/people/accounts/fields/%', + 'router_path' => 'admin/config/people/accounts/fields/%', + 'link_title' => '', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '-1', + 'hidden' => '0', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '6', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '60', - 'p4' => '393', - 'p5' => '432', - 'p6' => '0', + 'p3' => '45', + 'p4' => '66', + 'p5' => '926', + 'p6' => '934', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -33483,26 +36226,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '433', - 'plid' => '413', - 'link_path' => 'admin/config/regional/translate/translate', - 'router_path' => 'admin/config/regional/translate/translate', - 'link_title' => 'Translate', + 'mlid' => '935', + 'plid' => '929', + 'link_path' => 'admin/structure/types/manage/%/display/default', + 'router_path' => 'admin/structure/types/manage/%/display/default', + 'link_title' => 'Default', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '10', - 'depth' => '5', + 'weight' => '-10', + 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '48', - 'p4' => '413', - 'p5' => '433', - 'p6' => '0', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '929', + 'p6' => '935', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -33512,11 +36255,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '435', - 'plid' => '356', - 'link_path' => 'admin/structure/forum/add/container', - 'router_path' => 'admin/structure/forum/add/container', - 'link_title' => 'Add container', + 'mlid' => '936', + 'plid' => '929', + 'link_path' => 'admin/structure/types/manage/%/display/full', + 'router_path' => 'admin/structure/types/manage/%/display/full', + 'link_title' => 'Full content', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -33524,14 +36267,14 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '6', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '356', - 'p4' => '435', - 'p5' => '0', - 'p6' => '0', + 'p3' => '34', + 'p4' => '114', + 'p5' => '929', + 'p6' => '936', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -33541,26 +36284,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '436', - 'plid' => '356', - 'link_path' => 'admin/structure/forum/add/forum', - 'router_path' => 'admin/structure/forum/add/forum', - 'link_title' => 'Add forum', + 'mlid' => '937', + 'plid' => '929', + 'link_path' => 'admin/structure/types/manage/%/display/print', + 'router_path' => 'admin/structure/types/manage/%/display/print', + 'link_title' => 'Print', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '4', + 'weight' => '5', + 'depth' => '6', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '356', - 'p4' => '436', - 'p5' => '0', - 'p6' => '0', + 'p3' => '34', + 'p4' => '114', + 'p5' => '929', + 'p6' => '937', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -33570,26 +36313,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '437', - 'plid' => '393', - 'link_path' => 'admin/config/services/aggregator/add/category', - 'router_path' => 'admin/config/services/aggregator/add/category', - 'link_title' => 'Add category', + 'mlid' => '938', + 'plid' => '929', + 'link_path' => 'admin/structure/types/manage/%/display/rss', + 'router_path' => 'admin/structure/types/manage/%/display/rss', + 'link_title' => 'RSS', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '5', + 'weight' => '2', + 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '60', - 'p4' => '393', - 'p5' => '437', - 'p6' => '0', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '929', + 'p6' => '938', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -33599,26 +36342,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '438', - 'plid' => '393', - 'link_path' => 'admin/config/services/aggregator/add/feed', - 'router_path' => 'admin/config/services/aggregator/add/feed', - 'link_title' => 'Add feed', + 'mlid' => '939', + 'plid' => '929', + 'link_path' => 'admin/structure/types/manage/%/display/search_index', + 'router_path' => 'admin/structure/types/manage/%/display/search_index', + 'link_title' => 'Search index', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '5', + 'weight' => '3', + 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '60', - 'p4' => '393', - 'p5' => '438', - 'p6' => '0', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '929', + 'p6' => '939', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -33628,26 +36371,55 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '440', - 'plid' => '395', - 'link_path' => 'admin/config/regional/language/delete/%', - 'router_path' => 'admin/config/regional/language/delete/%', - 'link_title' => 'Confirm', + 'mlid' => '940', + 'plid' => '929', + 'link_path' => 'admin/structure/types/manage/%/display/search_result', + 'router_path' => 'admin/structure/types/manage/%/display/search_result', + 'link_title' => 'Search result highlighting input', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', + 'has_children' => '0', + 'expanded' => '0', + 'weight' => '4', + 'depth' => '6', + 'customized' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '929', + 'p6' => '940', + 'p7' => '0', + 'p8' => '0', + 'p9' => '0', + 'updated' => '0', + 'language' => 'und', + 'i18n_tsid' => '0', +)) +->values(array( + 'menu_name' => 'management', + 'mlid' => '941', + 'plid' => '929', + 'link_path' => 'admin/structure/types/manage/%/display/teaser', + 'router_path' => 'admin/structure/types/manage/%/display/teaser', + 'link_title' => 'Teaser', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '5', + 'weight' => '1', + 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '48', - 'p4' => '395', - 'p5' => '440', - 'p6' => '0', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '929', + 'p6' => '941', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -33657,11 +36429,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '441', - 'plid' => '413', - 'link_path' => 'admin/config/regional/translate/delete/%', - 'router_path' => 'admin/config/regional/translate/delete/%', - 'link_title' => 'Delete string', + 'mlid' => '942', + 'plid' => '930', + 'link_path' => 'admin/structure/types/manage/%/fields/%', + 'router_path' => 'admin/structure/types/manage/%/fields/%', + 'link_title' => '', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', @@ -33669,14 +36441,14 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '48', - 'p4' => '413', - 'p5' => '441', - 'p6' => '0', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '930', + 'p6' => '942', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -33686,27 +36458,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '442', - 'plid' => '356', - 'link_path' => 'admin/structure/forum/edit/container/%', - 'router_path' => 'admin/structure/forum/edit/container/%', - 'link_title' => 'Edit container', + 'mlid' => '943', + 'plid' => '933', + 'link_path' => 'admin/structure/taxonomy/%/fields/%/delete', + 'router_path' => 'admin/structure/taxonomy/%/fields/%/delete', + 'link_title' => 'Delete', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '4', + 'weight' => '10', + 'depth' => '7', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '356', - 'p4' => '442', - 'p5' => '0', - 'p6' => '0', - 'p7' => '0', + 'p3' => '180', + 'p4' => '212', + 'p5' => '925', + 'p6' => '933', + 'p7' => '943', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -33715,27 +36487,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '443', - 'plid' => '356', - 'link_path' => 'admin/structure/forum/edit/forum/%', - 'router_path' => 'admin/structure/forum/edit/forum/%', - 'link_title' => 'Edit forum', + 'mlid' => '944', + 'plid' => '933', + 'link_path' => 'admin/structure/taxonomy/%/fields/%/edit', + 'router_path' => 'admin/structure/taxonomy/%/fields/%/edit', + 'link_title' => 'Edit', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '7', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '356', - 'p4' => '443', - 'p5' => '0', - 'p6' => '0', - 'p7' => '0', + 'p3' => '180', + 'p4' => '212', + 'p5' => '925', + 'p6' => '933', + 'p7' => '944', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -33744,27 +36516,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '444', - 'plid' => '395', - 'link_path' => 'admin/config/regional/language/edit/%', - 'router_path' => 'admin/config/regional/language/edit/%', - 'link_title' => 'Edit language', + 'mlid' => '945', + 'plid' => '933', + 'link_path' => 'admin/structure/taxonomy/%/fields/%/field-settings', + 'router_path' => 'admin/structure/taxonomy/%/fields/%/field-settings', + 'link_title' => 'Field settings', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '7', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '48', - 'p4' => '395', - 'p5' => '444', - 'p6' => '0', - 'p7' => '0', + 'p2' => '20', + 'p3' => '180', + 'p4' => '212', + 'p5' => '925', + 'p6' => '933', + 'p7' => '945', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -33773,27 +36545,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '445', - 'plid' => '413', - 'link_path' => 'admin/config/regional/translate/edit/%', - 'router_path' => 'admin/config/regional/translate/edit/%', - 'link_title' => 'Edit string', + 'mlid' => '946', + 'plid' => '933', + 'link_path' => 'admin/structure/taxonomy/%/fields/%/translate', + 'router_path' => 'admin/structure/taxonomy/%/fields/%/translate', + 'link_title' => 'Translate', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '7', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '48', - 'p4' => '413', - 'p5' => '445', - 'p6' => '0', - 'p7' => '0', + 'p2' => '20', + 'p3' => '180', + 'p4' => '212', + 'p5' => '925', + 'p6' => '933', + 'p7' => '946', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -33802,11 +36574,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '447', - 'plid' => '393', - 'link_path' => 'admin/config/services/aggregator/add/opml', - 'router_path' => 'admin/config/services/aggregator/add/opml', - 'link_title' => 'Import OPML', + 'mlid' => '947', + 'plid' => '933', + 'link_path' => 'admin/structure/taxonomy/%/fields/%/widget-type', + 'router_path' => 'admin/structure/taxonomy/%/fields/%/widget-type', + 'link_title' => 'Widget type', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -33814,15 +36586,15 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '7', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '60', - 'p4' => '393', - 'p5' => '447', - 'p6' => '0', - 'p7' => '0', + 'p2' => '20', + 'p3' => '180', + 'p4' => '212', + 'p5' => '925', + 'p6' => '933', + 'p7' => '947', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -33831,27 +36603,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '448', - 'plid' => '393', - 'link_path' => 'admin/config/services/aggregator/remove/%', - 'router_path' => 'admin/config/services/aggregator/remove/%', - 'link_title' => 'Remove items', + 'mlid' => '948', + 'plid' => '934', + 'link_path' => 'admin/config/people/accounts/fields/%/delete', + 'router_path' => 'admin/config/people/accounts/fields/%/delete', + 'link_title' => 'Delete', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '5', + 'weight' => '10', + 'depth' => '7', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '60', - 'p4' => '393', - 'p5' => '448', - 'p6' => '0', - 'p7' => '0', + 'p3' => '45', + 'p4' => '66', + 'p5' => '926', + 'p6' => '934', + 'p7' => '948', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -33860,11 +36632,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '449', - 'plid' => '422', - 'link_path' => 'admin/config/regional/language/configure/session', - 'router_path' => 'admin/config/regional/language/configure/session', - 'link_title' => 'Session language detection configuration', + 'mlid' => '949', + 'plid' => '934', + 'link_path' => 'admin/config/people/accounts/fields/%/edit', + 'router_path' => 'admin/config/people/accounts/fields/%/edit', + 'link_title' => 'Edit', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -33872,15 +36644,15 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '6', + 'depth' => '7', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '48', - 'p4' => '395', - 'p5' => '422', - 'p6' => '449', - 'p7' => '0', + 'p3' => '45', + 'p4' => '66', + 'p5' => '926', + 'p6' => '934', + 'p7' => '949', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -33889,27 +36661,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '450', - 'plid' => '410', - 'link_path' => 'admin/config/development/testing/results/%', - 'router_path' => 'admin/config/development/testing/results/%', - 'link_title' => 'Test result', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:21:"View result of tests.";}}', + 'mlid' => '950', + 'plid' => '934', + 'link_path' => 'admin/config/people/accounts/fields/%/field-settings', + 'router_path' => 'admin/config/people/accounts/fields/%/field-settings', + 'link_title' => 'Field settings', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '7', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '37', - 'p4' => '410', - 'p5' => '450', - 'p6' => '0', - 'p7' => '0', + 'p3' => '45', + 'p4' => '66', + 'p5' => '926', + 'p6' => '934', + 'p7' => '950', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -33918,11 +36690,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '451', - 'plid' => '422', - 'link_path' => 'admin/config/regional/language/configure/url', - 'router_path' => 'admin/config/regional/language/configure/url', - 'link_title' => 'URL language detection configuration', + 'mlid' => '951', + 'plid' => '934', + 'link_path' => 'admin/config/people/accounts/fields/%/translate', + 'router_path' => 'admin/config/people/accounts/fields/%/translate', + 'link_title' => 'Translate', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -33930,15 +36702,15 @@ 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '6', + 'depth' => '7', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '48', - 'p4' => '395', - 'p5' => '422', - 'p6' => '451', - 'p7' => '0', + 'p3' => '45', + 'p4' => '66', + 'p5' => '926', + 'p6' => '934', + 'p7' => '951', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -33947,27 +36719,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '452', - 'plid' => '393', - 'link_path' => 'admin/config/services/aggregator/update/%', - 'router_path' => 'admin/config/services/aggregator/update/%', - 'link_title' => 'Update items', + 'mlid' => '952', + 'plid' => '934', + 'link_path' => 'admin/config/people/accounts/fields/%/widget-type', + 'router_path' => 'admin/config/people/accounts/fields/%/widget-type', + 'link_title' => 'Widget type', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '7', 'customized' => '0', 'p1' => '1', 'p2' => '8', - 'p3' => '60', - 'p4' => '393', - 'p5' => '452', - 'p6' => '0', - 'p7' => '0', + 'p3' => '45', + 'p4' => '66', + 'p5' => '926', + 'p6' => '934', + 'p7' => '952', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -33976,26 +36748,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '458', - 'plid' => '393', - 'link_path' => 'admin/config/services/aggregator/edit/category/%', - 'router_path' => 'admin/config/services/aggregator/edit/category/%', - 'link_title' => 'Edit category', + 'mlid' => '953', + 'plid' => '161', + 'link_path' => 'admin/structure/types/manage/%/comment/display/default', + 'router_path' => 'admin/structure/types/manage/%/comment/display/default', + 'link_title' => 'Default', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '5', + 'weight' => '-10', + 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '60', - 'p4' => '393', - 'p5' => '458', - 'p6' => '0', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '161', + 'p6' => '953', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -34005,26 +36777,26 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '459', - 'plid' => '393', - 'link_path' => 'admin/config/services/aggregator/edit/feed/%', - 'router_path' => 'admin/config/services/aggregator/edit/feed/%', - 'link_title' => 'Edit feed', + 'mlid' => '954', + 'plid' => '161', + 'link_path' => 'admin/structure/types/manage/%/comment/display/full', + 'router_path' => 'admin/structure/types/manage/%/comment/display/full', + 'link_title' => 'Full comment', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '5', + 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '60', - 'p4' => '393', - 'p5' => '459', - 'p6' => '0', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '161', + 'p6' => '954', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -34034,12 +36806,12 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '461', - 'plid' => '429', - 'link_path' => 'admin/config/regional/date-time/locale/%/edit', - 'router_path' => 'admin/config/regional/date-time/locale/%/edit', - 'link_title' => 'Localize date formats', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:38:"Configure date formats for each locale";}}', + 'mlid' => '955', + 'plid' => '162', + 'link_path' => 'admin/structure/types/manage/%/comment/fields/%', + 'router_path' => 'admin/structure/types/manage/%/comment/fields/%', + 'link_title' => '', + 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '0', 'external' => '0', @@ -34049,11 +36821,11 @@ 'depth' => '6', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '48', - 'p4' => '74', - 'p5' => '429', - 'p6' => '461', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '162', + 'p6' => '955', 'p7' => '0', 'p8' => '0', 'p9' => '0', @@ -34063,27 +36835,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '462', - 'plid' => '303', - 'link_path' => 'admin/structure/types/manage/%/display/print', - 'router_path' => 'admin/structure/types/manage/%/display/print', - 'link_title' => 'Print', + 'mlid' => '956', + 'plid' => '942', + 'link_path' => 'admin/structure/types/manage/%/fields/%/delete', + 'router_path' => 'admin/structure/types/manage/%/fields/%/delete', + 'link_title' => 'Delete', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '5', - 'depth' => '6', + 'weight' => '10', + 'depth' => '7', 'customized' => '0', 'p1' => '1', 'p2' => '20', 'p3' => '34', 'p4' => '114', - 'p5' => '303', - 'p6' => '462', - 'p7' => '0', + 'p5' => '930', + 'p6' => '942', + 'p7' => '956', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -34092,27 +36864,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '463', - 'plid' => '429', - 'link_path' => 'admin/config/regional/date-time/locale/%/reset', - 'router_path' => 'admin/config/regional/date-time/locale/%/reset', - 'link_title' => 'Reset date formats', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:47:"Reset localized date formats to global defaults";}}', + 'mlid' => '957', + 'plid' => '942', + 'link_path' => 'admin/structure/types/manage/%/fields/%/edit', + 'router_path' => 'admin/structure/types/manage/%/fields/%/edit', + 'link_title' => 'Edit', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '6', + 'depth' => '7', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '48', - 'p4' => '74', - 'p5' => '429', - 'p6' => '463', - 'p7' => '0', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '930', + 'p6' => '942', + 'p7' => '957', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -34120,28 +36892,28 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '465', - 'plid' => '6', - 'link_path' => 'node/add/test-content-type', - 'router_path' => 'node/add/test-content-type', - 'link_title' => 'Test content type', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:49:"This is the description of the test content type.";}}', + 'menu_name' => 'management', + 'mlid' => '958', + 'plid' => '942', + 'link_path' => 'admin/structure/types/manage/%/fields/%/field-settings', + 'router_path' => 'admin/structure/types/manage/%/fields/%/field-settings', + 'link_title' => 'Field settings', + 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '2', + 'depth' => '7', 'customized' => '0', - 'p1' => '6', - 'p2' => '465', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', - 'p6' => '0', - 'p7' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '930', + 'p6' => '942', + 'p7' => '958', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -34150,27 +36922,27 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '466', - 'plid' => '44', - 'link_path' => 'admin/structure/menu/manage/menu-test-menu', - 'router_path' => 'admin/structure/menu/manage/%', - 'link_title' => 'Test Menu', + 'mlid' => '959', + 'plid' => '942', + 'link_path' => 'admin/structure/types/manage/%/fields/%/translate', + 'router_path' => 'admin/structure/types/manage/%/fields/%/translate', + 'link_title' => 'Translate', 'options' => 'a:0:{}', - 'module' => 'menu', - 'hidden' => '0', + 'module' => 'system', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '4', + 'depth' => '7', 'customized' => '0', 'p1' => '1', 'p2' => '20', - 'p3' => '44', - 'p4' => '466', - 'p5' => '0', - 'p6' => '0', - 'p7' => '0', + 'p3' => '34', + 'p4' => '114', + 'p5' => '930', + 'p6' => '942', + 'p7' => '959', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -34178,28 +36950,28 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'menu-test-menu', - 'mlid' => '467', - 'plid' => '469', - 'link_path' => 'http://google.com', - 'router_path' => '', - 'link_title' => 'Google', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:6:"Google";}}', - 'module' => 'menu', - 'hidden' => '0', - 'external' => '1', + 'menu_name' => 'management', + 'mlid' => '960', + 'plid' => '942', + 'link_path' => 'admin/structure/types/manage/%/fields/%/widget-type', + 'router_path' => 'admin/structure/types/manage/%/fields/%/widget-type', + 'link_title' => 'Widget type', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '2', - 'customized' => '1', - 'p1' => '469', - 'p2' => '467', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', - 'p6' => '0', - 'p7' => '0', + 'depth' => '7', + 'customized' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '930', + 'p6' => '942', + 'p7' => '960', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -34207,57 +36979,28 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'menu-test-menu', - 'mlid' => '468', - 'plid' => '0', - 'link_path' => 'http://yahoo.com', - 'router_path' => '', - 'link_title' => 'Yahoo', - 'options' => 'a:2:{s:10:"attributes";a:1:{s:5:"title";s:19:"english description";}s:5:"alter";b:1;}', - 'module' => 'menu', - 'hidden' => '0', - 'external' => '1', - 'has_children' => '0', - 'expanded' => '0', - 'weight' => '0', - 'depth' => '1', - 'customized' => '1', - 'p1' => '468', - 'p2' => '0', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', - 'p6' => '0', - 'p7' => '0', - 'p8' => '0', - 'p9' => '0', - 'updated' => '0', - 'language' => 'en', - 'i18n_tsid' => '1', -)) -->values(array( - 'menu_name' => 'menu-test-menu', - 'mlid' => '469', - 'plid' => '0', - 'link_path' => 'http://bing.com', - 'router_path' => '', - 'link_title' => 'Bing', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:4:"Bing";}}', - 'module' => 'menu', - 'hidden' => '0', - 'external' => '1', + 'menu_name' => 'management', + 'mlid' => '961', + 'plid' => '955', + 'link_path' => 'admin/structure/types/manage/%/comment/fields/%/delete', + 'router_path' => 'admin/structure/types/manage/%/comment/fields/%/delete', + 'link_title' => 'Delete', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '0', - 'depth' => '1', - 'customized' => '1', - 'p1' => '469', - 'p2' => '0', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', - 'p6' => '0', - 'p7' => '0', + 'weight' => '10', + 'depth' => '7', + 'customized' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '162', + 'p6' => '955', + 'p7' => '961', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -34265,28 +37008,28 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'menu-test-menu', - 'mlid' => '470', - 'plid' => '469', - 'link_path' => 'http://ask.com', - 'router_path' => '', - 'link_title' => 'Ask', + 'menu_name' => 'management', + 'mlid' => '962', + 'plid' => '955', + 'link_path' => 'admin/structure/types/manage/%/comment/fields/%/edit', + 'router_path' => 'admin/structure/types/manage/%/comment/fields/%/edit', + 'link_title' => 'Edit', 'options' => 'a:0:{}', - 'module' => 'menu', - 'hidden' => '0', - 'external' => '1', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '2', - 'customized' => '1', - 'p1' => '469', - 'p2' => '470', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', - 'p6' => '0', - 'p7' => '0', + 'depth' => '7', + 'customized' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '162', + 'p6' => '955', + 'p7' => '962', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -34294,28 +37037,28 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'shortcut-set-2', - 'mlid' => '472', - 'plid' => '0', - 'link_path' => 'admin/help', - 'router_path' => 'admin/help', - 'link_title' => 'Help', + 'menu_name' => 'management', + 'mlid' => '963', + 'plid' => '955', + 'link_path' => 'admin/structure/types/manage/%/comment/fields/%/field-settings', + 'router_path' => 'admin/structure/types/manage/%/comment/fields/%/field-settings', + 'link_title' => 'Field settings', 'options' => 'a:0:{}', - 'module' => 'menu', - 'hidden' => '0', + 'module' => 'system', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-49', - 'depth' => '1', + 'weight' => '0', + 'depth' => '7', 'customized' => '0', - 'p1' => '472', - 'p2' => '0', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', - 'p6' => '0', - 'p7' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '162', + 'p6' => '955', + 'p7' => '963', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -34323,28 +37066,28 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'shortcut-set-2', - 'mlid' => '473', - 'plid' => '0', - 'link_path' => 'admin/people', - 'router_path' => 'admin/people', - 'link_title' => 'People', + 'menu_name' => 'management', + 'mlid' => '964', + 'plid' => '955', + 'link_path' => 'admin/structure/types/manage/%/comment/fields/%/translate', + 'router_path' => 'admin/structure/types/manage/%/comment/fields/%/translate', + 'link_title' => 'Translate', 'options' => 'a:0:{}', - 'module' => 'menu', - 'hidden' => '0', + 'module' => 'system', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '-50', - 'depth' => '1', + 'weight' => '0', + 'depth' => '7', 'customized' => '0', - 'p1' => '473', - 'p2' => '0', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', - 'p6' => '0', - 'p7' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '162', + 'p6' => '955', + 'p7' => '964', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -34352,28 +37095,28 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '474', - 'plid' => '4', - 'link_path' => 'filter/tips/%', - 'router_path' => 'filter/tips/%', - 'link_title' => 'Compose tips', + 'menu_name' => 'management', + 'mlid' => '965', + 'plid' => '955', + 'link_path' => 'admin/structure/types/manage/%/comment/fields/%/widget-type', + 'router_path' => 'admin/structure/types/manage/%/comment/fields/%/widget-type', + 'link_title' => 'Widget type', 'options' => 'a:0:{}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '2', + 'depth' => '7', 'customized' => '0', - 'p1' => '4', - 'p2' => '474', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', - 'p6' => '0', - 'p7' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '34', + 'p4' => '114', + 'p5' => '162', + 'p6' => '955', + 'p7' => '965', 'p8' => '0', 'p9' => '0', 'updated' => '0', @@ -34382,11 +37125,11 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '475', + 'mlid' => '984', 'plid' => '175', - 'link_path' => 'admin/help/php', - 'router_path' => 'admin/help/php', - 'link_title' => 'php', + 'link_path' => 'admin/help/simpletest', + 'router_path' => 'admin/help/simpletest', + 'link_title' => 'simpletest', 'options' => 'a:0:{}', 'module' => 'system', 'hidden' => '-1', @@ -34398,7 +37141,7 @@ 'customized' => '0', 'p1' => '1', 'p2' => '175', - 'p3' => '475', + 'p3' => '984', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -34411,24 +37154,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '478', - 'plid' => '20', - 'link_path' => 'admin/content', - 'router_path' => 'admin/content', - 'link_title' => 'custom link test', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:0:"";}}', - 'module' => 'menu', + 'mlid' => '985', + 'plid' => '37', + 'link_path' => 'admin/config/development/testing', + 'router_path' => 'admin/config/development/testing', + 'link_title' => 'Testing', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:122:"Run tests against Drupal core and your active modules. These tests help assure that your site code is working as designed.";}}', + 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '0', + 'has_children' => '1', 'expanded' => '0', - 'weight' => '0', - 'depth' => '3', - 'customized' => '1', + 'weight' => '-5', + 'depth' => '4', + 'customized' => '0', 'p1' => '1', - 'p2' => '20', - 'p3' => '478', - 'p4' => '0', + 'p2' => '8', + 'p3' => '37', + 'p4' => '985', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -34439,26 +37182,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '479', - 'plid' => '0', - 'link_path' => 'node/2', - 'router_path' => 'node/%', - 'link_title' => 'node link test', - 'options' => 'a:2:{s:10:"attributes";a:1:{s:5:"title";s:6:"node 2";}s:5:"query";a:2:{s:4:"name";s:6:"ferret";s:5:"color";s:6:"purple";}}', - 'module' => 'menu', - 'hidden' => '0', + 'menu_name' => 'management', + 'mlid' => '986', + 'plid' => '985', + 'link_path' => 'admin/config/development/testing/list', + 'router_path' => 'admin/config/development/testing/list', + 'link_title' => 'List', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '3', - 'depth' => '1', - 'customized' => '1', - 'p1' => '479', - 'p2' => '0', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', + 'weight' => '0', + 'depth' => '5', + 'customized' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '37', + 'p4' => '985', + 'p5' => '986', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -34468,26 +37211,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'book-toc-1', - 'mlid' => '480', - 'plid' => '0', - 'link_path' => 'node/4', - 'router_path' => 'node/%', - 'link_title' => 'Test top book title', + 'menu_name' => 'management', + 'mlid' => '987', + 'plid' => '985', + 'link_path' => 'admin/config/development/testing/settings', + 'router_path' => 'admin/config/development/testing/settings', + 'link_title' => 'Settings', 'options' => 'a:0:{}', - 'module' => 'book', - 'hidden' => '0', + 'module' => 'system', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', - 'weight' => '-10', - 'depth' => '1', + 'weight' => '0', + 'depth' => '5', 'customized' => '0', - 'p1' => '480', - 'p2' => '0', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '37', + 'p4' => '985', + 'p5' => '987', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -34497,26 +37240,26 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'book-toc-1', - 'mlid' => '481', - 'plid' => '480', - 'link_path' => 'node/6', - 'router_path' => 'node/%', - 'link_title' => 'Test book title child 1', - 'options' => 'a:0:{}', - 'module' => 'book', + 'menu_name' => 'management', + 'mlid' => '988', + 'plid' => '985', + 'link_path' => 'admin/config/development/testing/results/%', + 'router_path' => 'admin/config/development/testing/results/%', + 'link_title' => 'Test result', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:21:"View result of tests.";}}', + 'module' => 'system', 'hidden' => '0', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '2', + 'depth' => '5', 'customized' => '0', - 'p1' => '480', - 'p2' => '481', - 'p3' => '0', - 'p4' => '0', - 'p5' => '0', + 'p1' => '1', + 'p2' => '8', + 'p3' => '37', + 'p4' => '985', + 'p5' => '988', 'p6' => '0', 'p7' => '0', 'p8' => '0', @@ -34526,14 +37269,14 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'book-toc-1', - 'mlid' => '482', - 'plid' => '481', - 'link_path' => 'node/2', - 'router_path' => 'node/%', - 'link_title' => 'Test book title child 1.1', - 'options' => 'a:0:{}', - 'module' => 'book', + 'menu_name' => 'management', + 'mlid' => '989', + 'plid' => '20', + 'link_path' => 'admin/structure/trigger', + 'router_path' => 'admin/structure/trigger', + 'link_title' => 'Triggers', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:34:"Configure when to execute actions.";}}', + 'module' => 'system', 'hidden' => '0', 'external' => '0', 'has_children' => '0', @@ -34541,9 +37284,9 @@ 'weight' => '0', 'depth' => '3', 'customized' => '0', - 'p1' => '480', - 'p2' => '481', - 'p3' => '482', + 'p1' => '1', + 'p2' => '20', + 'p3' => '989', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -34555,24 +37298,24 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'book-toc-2', - 'mlid' => '483', - 'plid' => '481', - 'link_path' => 'node/1', - 'router_path' => 'node/%', - 'link_title' => 'Test book title 2', + 'menu_name' => 'management', + 'mlid' => '990', + 'plid' => '175', + 'link_path' => 'admin/help/trigger', + 'router_path' => 'admin/help/trigger', + 'link_title' => 'trigger', 'options' => 'a:0:{}', - 'module' => 'book', - 'hidden' => '0', + 'module' => 'system', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', 'depth' => '3', 'customized' => '0', - 'p1' => '480', - 'p2' => '481', - 'p3' => '483', + 'p1' => '1', + 'p2' => '175', + 'p3' => '990', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -34584,25 +37327,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '484', - 'plid' => '0', - 'link_path' => 'node/2', - 'router_path' => 'node/%', - 'link_title' => 'The thing about Deep Space 9', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:0:"";}}', - 'module' => 'menu', - 'hidden' => '0', + 'menu_name' => 'management', + 'mlid' => '991', + 'plid' => '989', + 'link_path' => 'admin/structure/trigger/comment', + 'router_path' => 'admin/structure/trigger/comment', + 'link_title' => 'Comment', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '9', - 'depth' => '1', - 'customized' => '1', - 'p1' => '484', - 'p2' => '0', - 'p3' => '0', - 'p4' => '0', + 'weight' => '0', + 'depth' => '4', + 'customized' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '989', + 'p4' => '991', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -34613,25 +37356,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '485', - 'plid' => '0', - 'link_path' => 'node/3', - 'router_path' => 'node/%', - 'link_title' => 'is - The thing about Deep Space 9', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:0:"";}}', - 'module' => 'menu', - 'hidden' => '0', + 'menu_name' => 'management', + 'mlid' => '992', + 'plid' => '989', + 'link_path' => 'admin/structure/trigger/node', + 'router_path' => 'admin/structure/trigger/node', + 'link_title' => 'Node', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '10', - 'depth' => '1', - 'customized' => '1', - 'p1' => '485', - 'p2' => '0', - 'p3' => '0', - 'p4' => '0', + 'weight' => '0', + 'depth' => '4', + 'customized' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '989', + 'p4' => '992', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -34642,25 +37385,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '486', - 'plid' => '0', - 'link_path' => 'node/4', - 'router_path' => 'node/%', - 'link_title' => 'is - The thing about Firefly', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:0:"";}}', - 'module' => 'menu', - 'hidden' => '0', + 'menu_name' => 'management', + 'mlid' => '993', + 'plid' => '989', + 'link_path' => 'admin/structure/trigger/system', + 'router_path' => 'admin/structure/trigger/system', + 'link_title' => 'System', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '11', - 'depth' => '1', - 'customized' => '1', - 'p1' => '486', - 'p2' => '0', - 'p3' => '0', - 'p4' => '0', + 'weight' => '0', + 'depth' => '4', + 'customized' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '989', + 'p4' => '993', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -34671,25 +37414,25 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'navigation', - 'mlid' => '487', - 'plid' => '0', - 'link_path' => 'node/5', - 'router_path' => 'node/%', - 'link_title' => 'en - The thing about Firefly', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:0:"";}}', - 'module' => 'menu', - 'hidden' => '0', + 'menu_name' => 'management', + 'mlid' => '994', + 'plid' => '989', + 'link_path' => 'admin/structure/trigger/taxonomy', + 'router_path' => 'admin/structure/trigger/taxonomy', + 'link_title' => 'Taxonomy', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', 'external' => '0', 'has_children' => '0', 'expanded' => '0', - 'weight' => '12', - 'depth' => '1', - 'customized' => '1', - 'p1' => '487', - 'p2' => '0', - 'p3' => '0', - 'p4' => '0', + 'weight' => '0', + 'depth' => '4', + 'customized' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '989', + 'p4' => '994', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -34701,24 +37444,24 @@ )) ->values(array( 'menu_name' => 'management', - 'mlid' => '491', - 'plid' => '48', - 'link_path' => 'admin/config/regional/entity_translation', - 'router_path' => 'admin/config/regional/entity_translation', - 'link_title' => 'Entity translation', - 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:83:"Configure which entities can be translated and enable or disable language fallback.";}}', + 'mlid' => '995', + 'plid' => '989', + 'link_path' => 'admin/structure/trigger/unassign', + 'router_path' => 'admin/structure/trigger/unassign', + 'link_title' => 'Unassign', + 'options' => 'a:1:{s:10:"attributes";a:1:{s:5:"title";s:34:"Unassign an action from a trigger.";}}', 'module' => 'system', - 'hidden' => '0', + 'hidden' => '-1', 'external' => '0', - 'has_children' => '1', + 'has_children' => '0', 'expanded' => '0', 'weight' => '0', 'depth' => '4', 'customized' => '0', 'p1' => '1', - 'p2' => '8', - 'p3' => '48', - 'p4' => '491', + 'p2' => '20', + 'p3' => '989', + 'p4' => '995', 'p5' => '0', 'p6' => '0', 'p7' => '0', @@ -34729,53 +37472,53 @@ 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'menu-test-menu', - 'mlid' => '700', - 'plid' => '0', - 'link_path' => 'http://yahoo.com', - 'router_path' => '', - 'link_title' => 'fr - Yahoo', - 'options' => 'a:2:{s:10:"attributes";a:1:{s:5:"title";s:16:"fr - description";}s:5:"alter";b:1;}', - 'module' => 'menu', - 'hidden' => '0', - 'external' => '1', + 'menu_name' => 'management', + 'mlid' => '996', + 'plid' => '989', + 'link_path' => 'admin/structure/trigger/user', + 'router_path' => 'admin/structure/trigger/user', + 'link_title' => 'User', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '1', - 'customized' => '1', - 'p1' => '468', - 'p2' => '0', - 'p3' => '0', - 'p4' => '0', + 'depth' => '4', + 'customized' => '0', + 'p1' => '1', + 'p2' => '20', + 'p3' => '989', + 'p4' => '996', 'p5' => '0', 'p6' => '0', 'p7' => '0', 'p8' => '0', 'p9' => '0', 'updated' => '0', - 'language' => 'fr', - 'i18n_tsid' => '1', + 'language' => 'und', + 'i18n_tsid' => '0', )) ->values(array( - 'menu_name' => 'menu-test-menu', - 'mlid' => '701', - 'plid' => '0', - 'link_path' => 'http://yahoo.com', - 'router_path' => '', - 'link_title' => 'is - Yahoo', - 'options' => 'a:2:{s:10:"attributes";a:1:{s:5:"title";s:16:"is - description";}s:5:"alter";b:1;}', - 'module' => 'menu', - 'hidden' => '0', - 'external' => '1', + 'menu_name' => 'management', + 'mlid' => '997', + 'plid' => '175', + 'link_path' => 'admin/help/syslog', + 'router_path' => 'admin/help/syslog', + 'link_title' => 'syslog', + 'options' => 'a:0:{}', + 'module' => 'system', + 'hidden' => '-1', + 'external' => '0', 'has_children' => '0', 'expanded' => '0', 'weight' => '0', - 'depth' => '1', - 'customized' => '1', - 'p1' => '468', - 'p2' => '0', - 'p3' => '0', + 'depth' => '3', + 'customized' => '0', + 'p1' => '1', + 'p2' => '175', + 'p3' => '997', 'p4' => '0', 'p5' => '0', 'p6' => '0', @@ -34783,8 +37526,8 @@ 'p8' => '0', 'p9' => '0', 'updated' => '0', - 'language' => 'is', - 'i18n_tsid' => '1', + 'language' => 'und', + 'i18n_tsid' => '0', )) ->execute(); $connection->schema()->createTable('menu_router', array( @@ -35159,7 +37902,7 @@ 'load_functions' => '', 'to_arg_functions' => '', 'access_callback' => '_system_themes_access', - 'access_arguments' => 'a:1:{i:0;O:8:"stdClass":12:{s:8:"filename";s:25:"themes/bartik/bartik.info";s:4:"name";s:6:"bartik";s:4:"type";s:5:"theme";s:5:"owner";s:45:"themes/engines/phptemplate/phptemplate.engine";s:6:"status";s:1:"1";s:9:"bootstrap";s:1:"0";s:14:"schema_version";s:2:"-1";s:6:"weight";s:1:"0";s:4:"info";a:18:{s:4:"name";s:6:"Bartik";s:11:"description";s:48:"A flexible, recolorable theme with many regions.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:2:{s:3:"all";a:3:{s:14:"css/layout.css";s:28:"themes/bartik/css/layout.css";s:13:"css/style.css";s:27:"themes/bartik/css/style.css";s:14:"css/colors.css";s:28:"themes/bartik/css/colors.css";}s:5:"print";a:1:{s:13:"css/print.css";s:27:"themes/bartik/css/print.css";}}s:7:"regions";a:17:{s:6:"header";s:6:"Header";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";s:11:"highlighted";s:11:"Highlighted";s:8:"featured";s:8:"Featured";s:7:"content";s:7:"Content";s:13:"sidebar_first";s:13:"Sidebar first";s:14:"sidebar_second";s:14:"Sidebar second";s:14:"triptych_first";s:14:"Triptych first";s:15:"triptych_middle";s:15:"Triptych middle";s:13:"triptych_last";s:13:"Triptych last";s:18:"footer_firstcolumn";s:19:"Footer first column";s:19:"footer_secondcolumn";s:20:"Footer second column";s:18:"footer_thirdcolumn";s:19:"Footer third column";s:19:"footer_fourthcolumn";s:20:"Footer fourth column";s:6:"footer";s:6:"Footer";}s:8:"settings";a:1:{s:20:"shortcut_module_link";s:1:"0";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:6:"engine";s:11:"phptemplate";s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:28:"themes/bartik/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1444866674;s:14:"regions_hidden";a:2:{i:0;s:8:"page_top";i:1;s:11:"page_bottom";}s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}s:6:"prefix";s:11:"phptemplate";s:11:"stylesheets";a:2:{s:3:"all";a:3:{s:14:"css/layout.css";s:28:"themes/bartik/css/layout.css";s:13:"css/style.css";s:27:"themes/bartik/css/style.css";s:14:"css/colors.css";s:28:"themes/bartik/css/colors.css";}s:5:"print";a:1:{s:13:"css/print.css";s:27:"themes/bartik/css/print.css";}}s:6:"engine";s:11:"phptemplate";}}', + 'access_arguments' => 'a:1:{i:0;O:8:"stdClass":12:{s:8:"filename";s:25:"themes/bartik/bartik.info";s:4:"name";s:6:"bartik";s:4:"type";s:5:"theme";s:5:"owner";s:45:"themes/engines/phptemplate/phptemplate.engine";s:6:"status";s:1:"1";s:9:"bootstrap";s:1:"0";s:14:"schema_version";s:2:"-1";s:6:"weight";s:1:"0";s:4:"info";a:16:{s:4:"name";s:6:"Bartik";s:11:"description";s:48:"A flexible, recolorable theme with many regions.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:2:{s:3:"all";a:3:{s:14:"css/layout.css";s:28:"themes/bartik/css/layout.css";s:13:"css/style.css";s:27:"themes/bartik/css/style.css";s:14:"css/colors.css";s:28:"themes/bartik/css/colors.css";}s:5:"print";a:1:{s:13:"css/print.css";s:27:"themes/bartik/css/print.css";}}s:7:"regions";a:17:{s:6:"header";s:6:"Header";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";s:11:"highlighted";s:11:"Highlighted";s:8:"featured";s:8:"Featured";s:7:"content";s:7:"Content";s:13:"sidebar_first";s:13:"Sidebar first";s:14:"sidebar_second";s:14:"Sidebar second";s:14:"triptych_first";s:14:"Triptych first";s:15:"triptych_middle";s:15:"Triptych middle";s:13:"triptych_last";s:13:"Triptych last";s:18:"footer_firstcolumn";s:19:"Footer first column";s:19:"footer_secondcolumn";s:20:"Footer second column";s:18:"footer_thirdcolumn";s:19:"Footer third column";s:19:"footer_fourthcolumn";s:20:"Footer fourth column";s:6:"footer";s:6:"Footer";}s:8:"settings";a:1:{s:20:"shortcut_module_link";s:1:"0";}s:6:"engine";s:11:"phptemplate";s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:28:"themes/bartik/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1664863480;s:14:"regions_hidden";a:2:{i:0;s:8:"page_top";i:1;s:11:"page_bottom";}s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}s:6:"prefix";s:11:"phptemplate";s:11:"stylesheets";a:2:{s:3:"all";a:3:{s:14:"css/layout.css";s:28:"themes/bartik/css/layout.css";s:13:"css/style.css";s:27:"themes/bartik/css/style.css";s:14:"css/colors.css";s:28:"themes/bartik/css/colors.css";}s:5:"print";a:1:{s:13:"css/print.css";s:27:"themes/bartik/css/print.css";}}s:6:"engine";s:11:"phptemplate";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:21:"system_theme_settings";i:1;s:6:"bartik";}', 'delivery_callback' => '', @@ -35184,7 +37927,7 @@ 'load_functions' => '', 'to_arg_functions' => '', 'access_callback' => '_system_themes_access', - 'access_arguments' => 'a:1:{i:0;O:8:"stdClass":12:{s:8:"filename";s:27:"themes/garland/garland.info";s:4:"name";s:7:"garland";s:4:"type";s:5:"theme";s:5:"owner";s:45:"themes/engines/phptemplate/phptemplate.engine";s:6:"status";s:1:"0";s:9:"bootstrap";s:1:"0";s:14:"schema_version";s:2:"-1";s:6:"weight";s:1:"0";s:4:"info";a:18:{s:4:"name";s:7:"Garland";s:11:"description";s:111:"A multi-column theme which can be configured to modify colors and switch between fixed and fluid width layouts.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:2:{s:3:"all";a:1:{s:9:"style.css";s:24:"themes/garland/style.css";}s:5:"print";a:1:{s:9:"print.css";s:24:"themes/garland/print.css";}}s:8:"settings";a:1:{s:13:"garland_width";s:5:"fluid";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:6:"engine";s:11:"phptemplate";s:7:"regions";a:9:{s:13:"sidebar_first";s:12:"Left sidebar";s:14:"sidebar_second";s:13:"Right sidebar";s:7:"content";s:7:"Content";s:6:"header";s:6:"Header";s:6:"footer";s:6:"Footer";s:11:"highlighted";s:11:"Highlighted";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";}s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:29:"themes/garland/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1444866674;s:14:"regions_hidden";a:2:{i:0;s:8:"page_top";i:1;s:11:"page_bottom";}s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}s:6:"prefix";s:11:"phptemplate";s:11:"stylesheets";a:2:{s:3:"all";a:1:{s:9:"style.css";s:24:"themes/garland/style.css";}s:5:"print";a:1:{s:9:"print.css";s:24:"themes/garland/print.css";}}s:6:"engine";s:11:"phptemplate";}}', + 'access_arguments' => 'a:1:{i:0;O:8:"stdClass":12:{s:8:"filename";s:27:"themes/garland/garland.info";s:4:"name";s:7:"garland";s:4:"type";s:5:"theme";s:5:"owner";s:45:"themes/engines/phptemplate/phptemplate.engine";s:6:"status";s:1:"0";s:9:"bootstrap";s:1:"0";s:14:"schema_version";s:2:"-1";s:6:"weight";s:1:"0";s:4:"info";a:16:{s:4:"name";s:7:"Garland";s:11:"description";s:111:"A multi-column theme which can be configured to modify colors and switch between fixed and fluid width layouts.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:2:{s:3:"all";a:1:{s:9:"style.css";s:24:"themes/garland/style.css";}s:5:"print";a:1:{s:9:"print.css";s:24:"themes/garland/print.css";}}s:8:"settings";a:1:{s:13:"garland_width";s:5:"fluid";}s:6:"engine";s:11:"phptemplate";s:7:"regions";a:9:{s:13:"sidebar_first";s:12:"Left sidebar";s:14:"sidebar_second";s:13:"Right sidebar";s:7:"content";s:7:"Content";s:6:"header";s:6:"Header";s:6:"footer";s:6:"Footer";s:11:"highlighted";s:11:"Highlighted";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";}s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:29:"themes/garland/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1664863480;s:14:"regions_hidden";a:2:{i:0;s:8:"page_top";i:1;s:11:"page_bottom";}s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}s:6:"prefix";s:11:"phptemplate";s:11:"stylesheets";a:2:{s:3:"all";a:1:{s:9:"style.css";s:24:"themes/garland/style.css";}s:5:"print";a:1:{s:9:"print.css";s:24:"themes/garland/print.css";}}s:6:"engine";s:11:"phptemplate";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:21:"system_theme_settings";i:1;s:7:"garland";}', 'delivery_callback' => '', @@ -35234,7 +37977,7 @@ 'load_functions' => '', 'to_arg_functions' => '', 'access_callback' => '_system_themes_access', - 'access_arguments' => 'a:1:{i:0;O:8:"stdClass":12:{s:8:"filename";s:23:"themes/seven/seven.info";s:4:"name";s:5:"seven";s:4:"type";s:5:"theme";s:5:"owner";s:45:"themes/engines/phptemplate/phptemplate.engine";s:6:"status";s:1:"1";s:9:"bootstrap";s:1:"0";s:14:"schema_version";s:2:"-1";s:6:"weight";s:1:"0";s:4:"info";a:18:{s:4:"name";s:5:"Seven";s:11:"description";s:65:"A simple one-column, tableless, fluid width administration theme.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:1:{s:6:"screen";a:2:{s:9:"reset.css";s:22:"themes/seven/reset.css";s:9:"style.css";s:22:"themes/seven/style.css";}}s:8:"settings";a:1:{s:20:"shortcut_module_link";s:1:"1";}s:7:"regions";a:5:{s:7:"content";s:7:"Content";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";s:13:"sidebar_first";s:13:"First sidebar";}s:14:"regions_hidden";a:3:{i:0;s:13:"sidebar_first";i:1;s:8:"page_top";i:2;s:11:"page_bottom";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:6:"engine";s:11:"phptemplate";s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:27:"themes/seven/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1444866674;s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}s:6:"prefix";s:11:"phptemplate";s:11:"stylesheets";a:1:{s:6:"screen";a:2:{s:9:"reset.css";s:22:"themes/seven/reset.css";s:9:"style.css";s:22:"themes/seven/style.css";}}s:6:"engine";s:11:"phptemplate";}}', + 'access_arguments' => 'a:1:{i:0;O:8:"stdClass":12:{s:8:"filename";s:23:"themes/seven/seven.info";s:4:"name";s:5:"seven";s:4:"type";s:5:"theme";s:5:"owner";s:45:"themes/engines/phptemplate/phptemplate.engine";s:6:"status";s:1:"1";s:9:"bootstrap";s:1:"0";s:14:"schema_version";s:2:"-1";s:6:"weight";s:1:"0";s:4:"info";a:16:{s:4:"name";s:5:"Seven";s:11:"description";s:65:"A simple one-column, tableless, fluid width administration theme.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:1:{s:6:"screen";a:2:{s:9:"reset.css";s:22:"themes/seven/reset.css";s:9:"style.css";s:22:"themes/seven/style.css";}}s:8:"settings";a:1:{s:20:"shortcut_module_link";s:1:"1";}s:7:"regions";a:5:{s:7:"content";s:7:"Content";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";s:13:"sidebar_first";s:13:"First sidebar";}s:14:"regions_hidden";a:3:{i:0;s:13:"sidebar_first";i:1;s:8:"page_top";i:2;s:11:"page_bottom";}s:6:"engine";s:11:"phptemplate";s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:27:"themes/seven/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1664863480;s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}s:6:"prefix";s:11:"phptemplate";s:11:"stylesheets";a:1:{s:6:"screen";a:2:{s:9:"reset.css";s:22:"themes/seven/reset.css";s:9:"style.css";s:22:"themes/seven/style.css";}}s:6:"engine";s:11:"phptemplate";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:21:"system_theme_settings";i:1;s:5:"seven";}', 'delivery_callback' => '', @@ -35259,7 +38002,7 @@ 'load_functions' => '', 'to_arg_functions' => '', 'access_callback' => '_system_themes_access', - 'access_arguments' => "a:1:{i:0;O:8:\"stdClass\":12:{s:8:\"filename\";s:23:\"themes/stark/stark.info\";s:4:\"name\";s:5:\"stark\";s:4:\"type\";s:5:\"theme\";s:5:\"owner\";s:45:\"themes/engines/phptemplate/phptemplate.engine\";s:6:\"status\";s:1:\"0\";s:9:\"bootstrap\";s:1:\"0\";s:14:\"schema_version\";s:2:\"-1\";s:6:\"weight\";s:1:\"0\";s:4:\"info\";a:17:{s:4:\"name\";s:5:\"Stark\";s:11:\"description\";s:208:\"This theme demonstrates Drupal's default HTML markup and CSS styles. To learn how to build your own theme and override Drupal's default code, see the Theming Guide.\";s:7:\"package\";s:4:\"Core\";s:7:\"version\";s:4:\"7.40\";s:4:\"core\";s:3:\"7.x\";s:11:\"stylesheets\";a:1:{s:3:\"all\";a:1:{s:10:\"layout.css\";s:23:\"themes/stark/layout.css\";}}s:7:\"project\";s:6:\"drupal\";s:9:\"datestamp\";s:10:\"1444866674\";s:6:\"engine\";s:11:\"phptemplate\";s:7:\"regions\";a:9:{s:13:\"sidebar_first\";s:12:\"Left sidebar\";s:14:\"sidebar_second\";s:13:\"Right sidebar\";s:7:\"content\";s:7:\"Content\";s:6:\"header\";s:6:\"Header\";s:6:\"footer\";s:6:\"Footer\";s:11:\"highlighted\";s:11:\"Highlighted\";s:4:\"help\";s:4:\"Help\";s:8:\"page_top\";s:8:\"Page top\";s:11:\"page_bottom\";s:11:\"Page bottom\";}s:8:\"features\";a:9:{i:0;s:4:\"logo\";i:1;s:7:\"favicon\";i:2;s:4:\"name\";i:3;s:6:\"slogan\";i:4;s:17:\"node_user_picture\";i:5;s:20:\"comment_user_picture\";i:6;s:25:\"comment_user_verification\";i:7;s:9:\"main_menu\";i:8;s:14:\"secondary_menu\";}s:10:\"screenshot\";s:27:\"themes/stark/screenshot.png\";s:3:\"php\";s:5:\"5.2.4\";s:7:\"scripts\";a:0:{}s:5:\"mtime\";i:1444866674;s:14:\"regions_hidden\";a:2:{i:0;s:8:\"page_top\";i:1;s:11:\"page_bottom\";}s:28:\"overlay_supplemental_regions\";a:1:{i:0;s:8:\"page_top\";}}s:6:\"prefix\";s:11:\"phptemplate\";s:11:\"stylesheets\";a:1:{s:3:\"all\";a:1:{s:10:\"layout.css\";s:23:\"themes/stark/layout.css\";}}s:6:\"engine\";s:11:\"phptemplate\";}}", + 'access_arguments' => "a:1:{i:0;O:8:\"stdClass\":12:{s:8:\"filename\";s:23:\"themes/stark/stark.info\";s:4:\"name\";s:5:\"stark\";s:4:\"type\";s:5:\"theme\";s:5:\"owner\";s:45:\"themes/engines/phptemplate/phptemplate.engine\";s:6:\"status\";s:1:\"0\";s:9:\"bootstrap\";s:1:\"0\";s:14:\"schema_version\";s:2:\"-1\";s:6:\"weight\";s:1:\"0\";s:4:\"info\";a:15:{s:4:\"name\";s:5:\"Stark\";s:11:\"description\";s:208:\"This theme demonstrates Drupal's default HTML markup and CSS styles. To learn how to build your own theme and override Drupal's default code, see the Theming Guide.\";s:7:\"package\";s:4:\"Core\";s:7:\"version\";s:4:\"7.92\";s:4:\"core\";s:3:\"7.x\";s:11:\"stylesheets\";a:1:{s:3:\"all\";a:1:{s:10:\"layout.css\";s:23:\"themes/stark/layout.css\";}}s:6:\"engine\";s:11:\"phptemplate\";s:7:\"regions\";a:9:{s:13:\"sidebar_first\";s:12:\"Left sidebar\";s:14:\"sidebar_second\";s:13:\"Right sidebar\";s:7:\"content\";s:7:\"Content\";s:6:\"header\";s:6:\"Header\";s:6:\"footer\";s:6:\"Footer\";s:11:\"highlighted\";s:11:\"Highlighted\";s:4:\"help\";s:4:\"Help\";s:8:\"page_top\";s:8:\"Page top\";s:11:\"page_bottom\";s:11:\"Page bottom\";}s:8:\"features\";a:9:{i:0;s:4:\"logo\";i:1;s:7:\"favicon\";i:2;s:4:\"name\";i:3;s:6:\"slogan\";i:4;s:17:\"node_user_picture\";i:5;s:20:\"comment_user_picture\";i:6;s:25:\"comment_user_verification\";i:7;s:9:\"main_menu\";i:8;s:14:\"secondary_menu\";}s:10:\"screenshot\";s:27:\"themes/stark/screenshot.png\";s:3:\"php\";s:5:\"5.2.4\";s:7:\"scripts\";a:0:{}s:5:\"mtime\";i:1664863480;s:14:\"regions_hidden\";a:2:{i:0;s:8:\"page_top\";i:1;s:11:\"page_bottom\";}s:28:\"overlay_supplemental_regions\";a:1:{i:0;s:8:\"page_top\";}}s:6:\"prefix\";s:11:\"phptemplate\";s:11:\"stylesheets\";a:1:{s:3:\"all\";a:1:{s:10:\"layout.css\";s:23:\"themes/stark/layout.css\";}}s:6:\"engine\";s:11:\"phptemplate\";}}", 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:21:"system_theme_settings";i:1;s:5:"stark";}', 'delivery_callback' => '', @@ -35529,6 +38272,56 @@ 'weight' => '0', 'include_file' => 'modules/filter/filter.admin.inc', )) +->values(array( + 'path' => 'admin/config/content/link', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:29:"administer site configuration";}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:1:{i:0;s:19:"link_admin_settings";}', + 'delivery_callback' => '', + 'fit' => '15', + 'number_parts' => '4', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/config/content/link', + 'title' => 'Link settings', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '6', + 'description' => 'Settings for the link module.', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/link/link.admin.inc', +)) +->values(array( + 'path' => 'admin/config/content/title', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:29:"administer site configuration";}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:1:{i:0;s:25:"title_admin_settings_form";}', + 'delivery_callback' => '', + 'fit' => '15', + 'number_parts' => '4', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/config/content/title', + 'title' => 'Title settings', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '6', + 'description' => 'Settings for the Title module.', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/title/title.admin.inc', +)) ->values(array( 'path' => 'admin/config/date', 'load_functions' => '', @@ -36108,8 +38901,8 @@ 'path' => 'admin/config/people/accounts/display', 'load_functions' => '', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:16:"administer users";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:16:"administer users";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:4:{i:0;s:30:"field_ui_display_overview_form";i:1;s:4:"user";i:2;s:4:"user";i:3;s:7:"default";}', 'delivery_callback' => '', @@ -36134,7 +38927,7 @@ 'load_functions' => '', 'to_arg_functions' => '', 'access_callback' => '_field_ui_view_mode_menu_access', - 'access_arguments' => 'a:5:{i:0;s:4:"user";i:1;s:4:"user";i:2;s:7:"default";i:3;s:11:"user_access";i:4;s:16:"administer users";}', + 'access_arguments' => 'a:6:{i:0;s:4:"user";i:1;s:4:"user";i:2;s:7:"default";i:3;s:21:"field_ui_admin_access";i:4;s:11:"user_access";i:5;a:1:{i:0;s:16:"administer users";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:4:{i:0;s:30:"field_ui_display_overview_form";i:1;s:4:"user";i:2;s:4:"user";i:3;s:7:"default";}', 'delivery_callback' => '', @@ -36159,7 +38952,7 @@ 'load_functions' => '', 'to_arg_functions' => '', 'access_callback' => '_field_ui_view_mode_menu_access', - 'access_arguments' => 'a:5:{i:0;s:4:"user";i:1;s:4:"user";i:2;s:4:"full";i:3;s:11:"user_access";i:4;s:16:"administer users";}', + 'access_arguments' => 'a:6:{i:0;s:4:"user";i:1;s:4:"user";i:2;s:4:"full";i:3;s:21:"field_ui_admin_access";i:4;s:11:"user_access";i:5;a:1:{i:0;s:16:"administer users";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:4:{i:0;s:30:"field_ui_display_overview_form";i:1;s:4:"user";i:2;s:4:"user";i:3;s:4:"full";}', 'delivery_callback' => '', @@ -36183,8 +38976,8 @@ 'path' => 'admin/config/people/accounts/fields', 'load_functions' => '', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:16:"administer users";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:16:"administer users";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:3:{i:0;s:28:"field_ui_field_overview_form";i:1;s:4:"user";i:2;s:4:"user";}', 'delivery_callback' => '', @@ -36208,8 +39001,8 @@ 'path' => 'admin/config/people/accounts/fields/%', 'load_functions' => 'a:1:{i:5;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:4:"user";i:1;s:4:"user";i:2;s:1:"0";i:3;s:4:"%map";}}}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:16:"administer users";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:16:"administer users";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:24:"field_ui_field_edit_form";i:1;i:5;}', 'delivery_callback' => '', @@ -36233,8 +39026,8 @@ 'path' => 'admin/config/people/accounts/fields/%/delete', 'load_functions' => 'a:1:{i:5;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:4:"user";i:1;s:4:"user";i:2;s:1:"0";i:3;s:4:"%map";}}}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:16:"administer users";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:16:"administer users";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:26:"field_ui_field_delete_form";i:1;i:5;}', 'delivery_callback' => '', @@ -36258,8 +39051,8 @@ 'path' => 'admin/config/people/accounts/fields/%/edit', 'load_functions' => 'a:1:{i:5;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:4:"user";i:1;s:4:"user";i:2;s:1:"0";i:3;s:4:"%map";}}}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:16:"administer users";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:16:"administer users";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:24:"field_ui_field_edit_form";i:1;i:5;}', 'delivery_callback' => '', @@ -36283,8 +39076,8 @@ 'path' => 'admin/config/people/accounts/fields/%/field-settings', 'load_functions' => 'a:1:{i:5;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:4:"user";i:1;s:4:"user";i:2;s:1:"0";i:3;s:4:"%map";}}}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:16:"administer users";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:16:"administer users";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:28:"field_ui_field_settings_form";i:1;i:5;}', 'delivery_callback' => '', @@ -36305,11 +39098,61 @@ 'include_file' => 'modules/field_ui/field_ui.admin.inc', )) ->values(array( - 'path' => 'admin/config/people/accounts/fields/%/widget-type', + 'path' => 'admin/config/people/accounts/fields/%/translate', 'load_functions' => 'a:1:{i:5;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:4:"user";i:1;s:4:"user";i:2;s:1:"0";i:3;s:4:"%map";}}}', 'to_arg_functions' => '', 'access_callback' => 'user_access', 'access_arguments' => 'a:1:{i:0;s:16:"administer users";}', + 'page_callback' => 'i18n_field_page_translate', + 'page_arguments' => 'a:1:{i:0;i:5;}', + 'delivery_callback' => '', + 'fit' => '125', + 'number_parts' => '7', + 'context' => '1', + 'tab_parent' => 'admin/config/people/accounts/fields/%', + 'tab_root' => 'admin/config/people/accounts/fields/%', + 'title' => 'Translate', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '132', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n_field/i18n_field.pages.inc', +)) +->values(array( + 'path' => 'admin/config/people/accounts/fields/%/translate/%', + 'load_functions' => 'a:2:{i:5;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:4:"user";i:1;s:4:"user";i:2;s:1:"0";i:3;s:4:"%map";}}i:7;a:1:{s:18:"i18n_language_load";a:4:{i:0;s:4:"user";i:1;s:4:"user";i:2;s:1:"0";i:3;s:4:"%map";}}}', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:16:"administer users";}', + 'page_callback' => 'i18n_field_page_translate', + 'page_arguments' => 'a:2:{i:0;i:5;i:1;i:7;}', + 'delivery_callback' => '', + 'fit' => '250', + 'number_parts' => '8', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/config/people/accounts/fields/%/translate/%', + 'title' => 'Instance', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '0', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n_field/i18n_field.pages.inc', +)) +->values(array( + 'path' => 'admin/config/people/accounts/fields/%/widget-type', + 'load_functions' => 'a:1:{i:5;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:4:"user";i:1;s:4:"user";i:2;s:1:"0";i:3;s:4:"%map";}}}', + 'to_arg_functions' => '', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:16:"administer users";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:25:"field_ui_widget_type_form";i:1;i:5;}', 'delivery_callback' => '', @@ -36754,6 +39597,181 @@ 'weight' => '0', 'include_file' => 'sites/all/modules/entity_translation/entity_translation.admin.inc', )) +->values(array( + 'path' => 'admin/config/regional/entity_translation/translatable/%', + 'load_functions' => 'a:1:{i:5;N;}', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:28:"toggle field translatability";}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:2:{i:0;s:36:"entity_translation_translatable_form";i:1;i:5;}', + 'delivery_callback' => '', + 'fit' => '62', + 'number_parts' => '6', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/config/regional/entity_translation/translatable/%', + 'title' => 'Confirm change in translatability.', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '6', + 'description' => 'Confirmation page for changing field translatability.', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/entity_translation/entity_translation.admin.inc', +)) +->values(array( + 'path' => 'admin/config/regional/i18n', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:29:"administer site configuration";}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:2:{i:0;s:20:"variable_module_form";i:1;s:4:"i18n";}', + 'delivery_callback' => '', + 'fit' => '15', + 'number_parts' => '4', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/config/regional/i18n', + 'title' => 'Multilingual settings', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '6', + 'description' => 'Configure extended options for multilingual content and translations.', + 'position' => '', + 'weight' => '10', + 'include_file' => '', +)) +->values(array( + 'path' => 'admin/config/regional/i18n/configure', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:29:"administer site configuration";}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:2:{i:0;s:20:"variable_module_form";i:1;s:4:"i18n";}', + 'delivery_callback' => '', + 'fit' => '31', + 'number_parts' => '5', + 'context' => '1', + 'tab_parent' => 'admin/config/regional/i18n', + 'tab_root' => 'admin/config/regional/i18n', + 'title' => 'Multilingual system', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '140', + 'description' => 'Configure extended options for multilingual content and translations.', + 'position' => '', + 'weight' => '0', + 'include_file' => '', +)) +->values(array( + 'path' => 'admin/config/regional/i18n/strings', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:29:"administer site configuration";}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:2:{i:0;s:18:"variable_edit_form";i:1;a:3:{i:0;s:27:"i18n_string_allowed_formats";i:1;s:27:"i18n_string_source_language";i:2;s:39:"i18n_string_textgroup_class_[textgroup]";}}', + 'delivery_callback' => '', + 'fit' => '31', + 'number_parts' => '5', + 'context' => '1', + 'tab_parent' => 'admin/config/regional/i18n', + 'tab_root' => 'admin/config/regional/i18n', + 'title' => 'Strings', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '132', + 'description' => 'Options for user defined strings.', + 'position' => '', + 'weight' => '20', + 'include_file' => '', +)) +->values(array( + 'path' => 'admin/config/regional/i18n/variable', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:29:"administer site configuration";}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:2:{i:0;s:36:"variable_realm_select_variables_form";i:1;s:8:"language";}', + 'delivery_callback' => '', + 'fit' => '31', + 'number_parts' => '5', + 'context' => '1', + 'tab_parent' => 'admin/config/regional/i18n', + 'tab_root' => 'admin/config/regional/i18n', + 'title' => 'Variables', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '132', + 'description' => 'Configure multilingual variables.', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/variable/variable_realm/variable_realm.form.inc', +)) +->values(array( + 'path' => 'admin/config/regional/i18n_translation', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:29:"administer site configuration";}', + 'page_callback' => 'i18n_translation_admin_overview', + 'page_arguments' => 'a:0:{}', + 'delivery_callback' => '', + 'fit' => '15', + 'number_parts' => '4', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/config/regional/i18n_translation', + 'title' => 'Translation sets', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '6', + 'description' => 'Translation sets overview.', + 'position' => '', + 'weight' => '10', + 'include_file' => 'sites/all/modules/i18n/i18n_translation/i18n_translation.admin.inc', +)) +->values(array( + 'path' => 'admin/config/regional/i18n_translation/configure', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:29:"administer site configuration";}', + 'page_callback' => 'i18n_translation_admin_overview', + 'page_arguments' => 'a:0:{}', + 'delivery_callback' => '', + 'fit' => '31', + 'number_parts' => '5', + 'context' => '1', + 'tab_parent' => 'admin/config/regional/i18n_translation', + 'tab_root' => 'admin/config/regional/i18n_translation', + 'title' => 'Translation sets', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '140', + 'description' => 'Overview of existing translation sets.', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n_translation/i18n_translation.admin.inc', +)) ->values(array( 'path' => 'admin/config/regional/language', 'load_functions' => '', @@ -37036,7 +40054,7 @@ 'access_callback' => 'user_access', 'access_arguments' => 'a:1:{i:0;s:19:"translate interface";}', 'page_callback' => 'drupal_get_form', - 'page_arguments' => 'a:2:{i:0;s:26:"locale_translate_edit_form";i:1;i:5;}', + 'page_arguments' => 'a:2:{i:0;s:38:"i18n_string_locale_translate_edit_form";i:1;i:5;}', 'delivery_callback' => '', 'fit' => '62', 'number_parts' => '6', @@ -37052,7 +40070,7 @@ 'description' => '', 'position' => '', 'weight' => '0', - 'include_file' => 'modules/locale/locale.admin.inc', + 'include_file' => 'sites/all/modules/i18n/i18n_string/i18n_string.pages.inc', )) ->values(array( 'path' => 'admin/config/regional/translate/export', @@ -37079,6 +40097,31 @@ 'weight' => '30', 'include_file' => 'modules/locale/locale.admin.inc', )) +->values(array( + 'path' => 'admin/config/regional/translate/i18n_string', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:19:"translate interface";}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:1:{i:0;s:30:"i18n_string_admin_refresh_form";}', + 'delivery_callback' => '', + 'fit' => '31', + 'number_parts' => '5', + 'context' => '1', + 'tab_parent' => 'admin/config/regional/translate', + 'tab_root' => 'admin/config/regional/translate', + 'title' => 'Strings', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '132', + 'description' => 'Refresh user defined strings.', + 'position' => '', + 'weight' => '20', + 'include_file' => 'sites/all/modules/i18n/i18n_string/i18n_string.admin.inc', +)) ->values(array( 'path' => 'admin/config/regional/translate/import', 'load_functions' => '', @@ -37135,7 +40178,7 @@ 'to_arg_functions' => '', 'access_callback' => 'user_access', 'access_arguments' => 'a:1:{i:0;s:19:"translate interface";}', - 'page_callback' => 'locale_translate_seek_screen', + 'page_callback' => 'i18n_string_locale_translate_seek_screen', 'page_arguments' => 'a:0:{}', 'delivery_callback' => '', 'fit' => '31', @@ -37152,7 +40195,7 @@ 'description' => '', 'position' => '', 'weight' => '10', - 'include_file' => 'modules/locale/locale.admin.inc', + 'include_file' => 'sites/all/modules/i18n/i18n_string/i18n_string.pages.inc', )) ->values(array( 'path' => 'admin/config/search', @@ -38904,6 +41947,156 @@ 'weight' => '0', 'include_file' => 'modules/help/help.admin.inc', )) +->values(array( + 'path' => 'admin/help/i18n', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:27:"access administration pages";}', + 'page_callback' => 'help_page', + 'page_arguments' => 'a:1:{i:0;i:2;}', + 'delivery_callback' => '', + 'fit' => '7', + 'number_parts' => '3', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/help/i18n', + 'title' => 'i18n', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '4', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'modules/help/help.admin.inc', +)) +->values(array( + 'path' => 'admin/help/i18n_block', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:27:"access administration pages";}', + 'page_callback' => 'help_page', + 'page_arguments' => 'a:1:{i:0;i:2;}', + 'delivery_callback' => '', + 'fit' => '7', + 'number_parts' => '3', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/help/i18n_block', + 'title' => 'i18n_block', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '4', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'modules/help/help.admin.inc', +)) +->values(array( + 'path' => 'admin/help/i18n_menu', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:27:"access administration pages";}', + 'page_callback' => 'help_page', + 'page_arguments' => 'a:1:{i:0;i:2;}', + 'delivery_callback' => '', + 'fit' => '7', + 'number_parts' => '3', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/help/i18n_menu', + 'title' => 'i18n_menu', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '4', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'modules/help/help.admin.inc', +)) +->values(array( + 'path' => 'admin/help/i18n_string', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:27:"access administration pages";}', + 'page_callback' => 'help_page', + 'page_arguments' => 'a:1:{i:0;i:2;}', + 'delivery_callback' => '', + 'fit' => '7', + 'number_parts' => '3', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/help/i18n_string', + 'title' => 'i18n_string', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '4', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'modules/help/help.admin.inc', +)) +->values(array( + 'path' => 'admin/help/i18n_sync', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:27:"access administration pages";}', + 'page_callback' => 'help_page', + 'page_arguments' => 'a:1:{i:0;i:2;}', + 'delivery_callback' => '', + 'fit' => '7', + 'number_parts' => '3', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/help/i18n_sync', + 'title' => 'i18n_sync', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '4', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'modules/help/help.admin.inc', +)) +->values(array( + 'path' => 'admin/help/i18n_taxonomy', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:27:"access administration pages";}', + 'page_callback' => 'help_page', + 'page_arguments' => 'a:1:{i:0;i:2;}', + 'delivery_callback' => '', + 'fit' => '7', + 'number_parts' => '3', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/help/i18n_taxonomy', + 'title' => 'i18n_taxonomy', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '4', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'modules/help/help.admin.inc', +)) ->values(array( 'path' => 'admin/help/image', 'load_functions' => '', @@ -38929,6 +42122,31 @@ 'weight' => '0', 'include_file' => 'modules/help/help.admin.inc', )) +->values(array( + 'path' => 'admin/help/link', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:27:"access administration pages";}', + 'page_callback' => 'help_page', + 'page_arguments' => 'a:1:{i:0;i:2;}', + 'delivery_callback' => '', + 'fit' => '7', + 'number_parts' => '3', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/help/link', + 'title' => 'link', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '4', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'modules/help/help.admin.inc', +)) ->values(array( 'path' => 'admin/help/list', 'load_functions' => '', @@ -39154,6 +42372,31 @@ 'weight' => '0', 'include_file' => 'modules/help/help.admin.inc', )) +->values(array( + 'path' => 'admin/help/references', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:27:"access administration pages";}', + 'page_callback' => 'help_page', + 'page_arguments' => 'a:1:{i:0;i:2;}', + 'delivery_callback' => '', + 'fit' => '7', + 'number_parts' => '3', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/help/references', + 'title' => 'references', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '4', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'modules/help/help.admin.inc', +)) ->values(array( 'path' => 'admin/help/search', 'load_functions' => '', @@ -39354,6 +42597,31 @@ 'weight' => '0', 'include_file' => 'modules/help/help.admin.inc', )) +->values(array( + 'path' => 'admin/help/title', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:27:"access administration pages";}', + 'page_callback' => 'help_page', + 'page_arguments' => 'a:1:{i:0;i:2;}', + 'delivery_callback' => '', + 'fit' => '7', + 'number_parts' => '3', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/help/title', + 'title' => 'title', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '4', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'modules/help/help.admin.inc', +)) ->values(array( 'path' => 'admin/help/toolbar', 'load_functions' => '', @@ -40534,7 +43802,7 @@ 'load_functions' => '', 'to_arg_functions' => '', 'access_callback' => '_block_themes_access', - 'access_arguments' => 'a:1:{i:0;O:8:"stdClass":12:{s:8:"filename";s:25:"themes/bartik/bartik.info";s:4:"name";s:6:"bartik";s:4:"type";s:5:"theme";s:5:"owner";s:45:"themes/engines/phptemplate/phptemplate.engine";s:6:"status";s:1:"1";s:9:"bootstrap";s:1:"0";s:14:"schema_version";s:2:"-1";s:6:"weight";s:1:"0";s:4:"info";a:18:{s:4:"name";s:6:"Bartik";s:11:"description";s:48:"A flexible, recolorable theme with many regions.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:2:{s:3:"all";a:3:{s:14:"css/layout.css";s:28:"themes/bartik/css/layout.css";s:13:"css/style.css";s:27:"themes/bartik/css/style.css";s:14:"css/colors.css";s:28:"themes/bartik/css/colors.css";}s:5:"print";a:1:{s:13:"css/print.css";s:27:"themes/bartik/css/print.css";}}s:7:"regions";a:17:{s:6:"header";s:6:"Header";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";s:11:"highlighted";s:11:"Highlighted";s:8:"featured";s:8:"Featured";s:7:"content";s:7:"Content";s:13:"sidebar_first";s:13:"Sidebar first";s:14:"sidebar_second";s:14:"Sidebar second";s:14:"triptych_first";s:14:"Triptych first";s:15:"triptych_middle";s:15:"Triptych middle";s:13:"triptych_last";s:13:"Triptych last";s:18:"footer_firstcolumn";s:19:"Footer first column";s:19:"footer_secondcolumn";s:20:"Footer second column";s:18:"footer_thirdcolumn";s:19:"Footer third column";s:19:"footer_fourthcolumn";s:20:"Footer fourth column";s:6:"footer";s:6:"Footer";}s:8:"settings";a:1:{s:20:"shortcut_module_link";s:1:"0";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:6:"engine";s:11:"phptemplate";s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:28:"themes/bartik/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1444866674;s:14:"regions_hidden";a:2:{i:0;s:8:"page_top";i:1;s:11:"page_bottom";}s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}s:6:"prefix";s:11:"phptemplate";s:11:"stylesheets";a:2:{s:3:"all";a:3:{s:14:"css/layout.css";s:28:"themes/bartik/css/layout.css";s:13:"css/style.css";s:27:"themes/bartik/css/style.css";s:14:"css/colors.css";s:28:"themes/bartik/css/colors.css";}s:5:"print";a:1:{s:13:"css/print.css";s:27:"themes/bartik/css/print.css";}}s:6:"engine";s:11:"phptemplate";}}', + 'access_arguments' => 'a:1:{i:0;O:8:"stdClass":12:{s:8:"filename";s:25:"themes/bartik/bartik.info";s:4:"name";s:6:"bartik";s:4:"type";s:5:"theme";s:5:"owner";s:45:"themes/engines/phptemplate/phptemplate.engine";s:6:"status";s:1:"1";s:9:"bootstrap";s:1:"0";s:14:"schema_version";s:2:"-1";s:6:"weight";s:1:"0";s:4:"info";a:16:{s:4:"name";s:6:"Bartik";s:11:"description";s:48:"A flexible, recolorable theme with many regions.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:2:{s:3:"all";a:3:{s:14:"css/layout.css";s:28:"themes/bartik/css/layout.css";s:13:"css/style.css";s:27:"themes/bartik/css/style.css";s:14:"css/colors.css";s:28:"themes/bartik/css/colors.css";}s:5:"print";a:1:{s:13:"css/print.css";s:27:"themes/bartik/css/print.css";}}s:7:"regions";a:17:{s:6:"header";s:6:"Header";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";s:11:"highlighted";s:11:"Highlighted";s:8:"featured";s:8:"Featured";s:7:"content";s:7:"Content";s:13:"sidebar_first";s:13:"Sidebar first";s:14:"sidebar_second";s:14:"Sidebar second";s:14:"triptych_first";s:14:"Triptych first";s:15:"triptych_middle";s:15:"Triptych middle";s:13:"triptych_last";s:13:"Triptych last";s:18:"footer_firstcolumn";s:19:"Footer first column";s:19:"footer_secondcolumn";s:20:"Footer second column";s:18:"footer_thirdcolumn";s:19:"Footer third column";s:19:"footer_fourthcolumn";s:20:"Footer fourth column";s:6:"footer";s:6:"Footer";}s:8:"settings";a:1:{s:20:"shortcut_module_link";s:1:"0";}s:6:"engine";s:11:"phptemplate";s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:28:"themes/bartik/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1664863480;s:14:"regions_hidden";a:2:{i:0;s:8:"page_top";i:1;s:11:"page_bottom";}s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}s:6:"prefix";s:11:"phptemplate";s:11:"stylesheets";a:2:{s:3:"all";a:3:{s:14:"css/layout.css";s:28:"themes/bartik/css/layout.css";s:13:"css/style.css";s:27:"themes/bartik/css/style.css";s:14:"css/colors.css";s:28:"themes/bartik/css/colors.css";}s:5:"print";a:1:{s:13:"css/print.css";s:27:"themes/bartik/css/print.css";}}s:6:"engine";s:11:"phptemplate";}}', 'page_callback' => 'block_admin_demo', 'page_arguments' => 'a:1:{i:0;s:6:"bartik";}', 'delivery_callback' => '', @@ -40559,7 +43827,7 @@ 'load_functions' => '', 'to_arg_functions' => '', 'access_callback' => '_block_themes_access', - 'access_arguments' => 'a:1:{i:0;O:8:"stdClass":12:{s:8:"filename";s:27:"themes/garland/garland.info";s:4:"name";s:7:"garland";s:4:"type";s:5:"theme";s:5:"owner";s:45:"themes/engines/phptemplate/phptemplate.engine";s:6:"status";s:1:"0";s:9:"bootstrap";s:1:"0";s:14:"schema_version";s:2:"-1";s:6:"weight";s:1:"0";s:4:"info";a:18:{s:4:"name";s:7:"Garland";s:11:"description";s:111:"A multi-column theme which can be configured to modify colors and switch between fixed and fluid width layouts.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:2:{s:3:"all";a:1:{s:9:"style.css";s:24:"themes/garland/style.css";}s:5:"print";a:1:{s:9:"print.css";s:24:"themes/garland/print.css";}}s:8:"settings";a:1:{s:13:"garland_width";s:5:"fluid";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:6:"engine";s:11:"phptemplate";s:7:"regions";a:9:{s:13:"sidebar_first";s:12:"Left sidebar";s:14:"sidebar_second";s:13:"Right sidebar";s:7:"content";s:7:"Content";s:6:"header";s:6:"Header";s:6:"footer";s:6:"Footer";s:11:"highlighted";s:11:"Highlighted";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";}s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:29:"themes/garland/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1444866674;s:14:"regions_hidden";a:2:{i:0;s:8:"page_top";i:1;s:11:"page_bottom";}s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}s:6:"prefix";s:11:"phptemplate";s:11:"stylesheets";a:2:{s:3:"all";a:1:{s:9:"style.css";s:24:"themes/garland/style.css";}s:5:"print";a:1:{s:9:"print.css";s:24:"themes/garland/print.css";}}s:6:"engine";s:11:"phptemplate";}}', + 'access_arguments' => 'a:1:{i:0;O:8:"stdClass":12:{s:8:"filename";s:27:"themes/garland/garland.info";s:4:"name";s:7:"garland";s:4:"type";s:5:"theme";s:5:"owner";s:45:"themes/engines/phptemplate/phptemplate.engine";s:6:"status";s:1:"0";s:9:"bootstrap";s:1:"0";s:14:"schema_version";s:2:"-1";s:6:"weight";s:1:"0";s:4:"info";a:16:{s:4:"name";s:7:"Garland";s:11:"description";s:111:"A multi-column theme which can be configured to modify colors and switch between fixed and fluid width layouts.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:2:{s:3:"all";a:1:{s:9:"style.css";s:24:"themes/garland/style.css";}s:5:"print";a:1:{s:9:"print.css";s:24:"themes/garland/print.css";}}s:8:"settings";a:1:{s:13:"garland_width";s:5:"fluid";}s:6:"engine";s:11:"phptemplate";s:7:"regions";a:9:{s:13:"sidebar_first";s:12:"Left sidebar";s:14:"sidebar_second";s:13:"Right sidebar";s:7:"content";s:7:"Content";s:6:"header";s:6:"Header";s:6:"footer";s:6:"Footer";s:11:"highlighted";s:11:"Highlighted";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";}s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:29:"themes/garland/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1664863480;s:14:"regions_hidden";a:2:{i:0;s:8:"page_top";i:1;s:11:"page_bottom";}s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}s:6:"prefix";s:11:"phptemplate";s:11:"stylesheets";a:2:{s:3:"all";a:1:{s:9:"style.css";s:24:"themes/garland/style.css";}s:5:"print";a:1:{s:9:"print.css";s:24:"themes/garland/print.css";}}s:6:"engine";s:11:"phptemplate";}}', 'page_callback' => 'block_admin_demo', 'page_arguments' => 'a:1:{i:0;s:7:"garland";}', 'delivery_callback' => '', @@ -40584,7 +43852,7 @@ 'load_functions' => '', 'to_arg_functions' => '', 'access_callback' => '_block_themes_access', - 'access_arguments' => 'a:1:{i:0;O:8:"stdClass":12:{s:8:"filename";s:23:"themes/seven/seven.info";s:4:"name";s:5:"seven";s:4:"type";s:5:"theme";s:5:"owner";s:45:"themes/engines/phptemplate/phptemplate.engine";s:6:"status";s:1:"1";s:9:"bootstrap";s:1:"0";s:14:"schema_version";s:2:"-1";s:6:"weight";s:1:"0";s:4:"info";a:18:{s:4:"name";s:5:"Seven";s:11:"description";s:65:"A simple one-column, tableless, fluid width administration theme.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:1:{s:6:"screen";a:2:{s:9:"reset.css";s:22:"themes/seven/reset.css";s:9:"style.css";s:22:"themes/seven/style.css";}}s:8:"settings";a:1:{s:20:"shortcut_module_link";s:1:"1";}s:7:"regions";a:5:{s:7:"content";s:7:"Content";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";s:13:"sidebar_first";s:13:"First sidebar";}s:14:"regions_hidden";a:3:{i:0;s:13:"sidebar_first";i:1;s:8:"page_top";i:2;s:11:"page_bottom";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:6:"engine";s:11:"phptemplate";s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:27:"themes/seven/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1444866674;s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}s:6:"prefix";s:11:"phptemplate";s:11:"stylesheets";a:1:{s:6:"screen";a:2:{s:9:"reset.css";s:22:"themes/seven/reset.css";s:9:"style.css";s:22:"themes/seven/style.css";}}s:6:"engine";s:11:"phptemplate";}}', + 'access_arguments' => 'a:1:{i:0;O:8:"stdClass":12:{s:8:"filename";s:23:"themes/seven/seven.info";s:4:"name";s:5:"seven";s:4:"type";s:5:"theme";s:5:"owner";s:45:"themes/engines/phptemplate/phptemplate.engine";s:6:"status";s:1:"1";s:9:"bootstrap";s:1:"0";s:14:"schema_version";s:2:"-1";s:6:"weight";s:1:"0";s:4:"info";a:16:{s:4:"name";s:5:"Seven";s:11:"description";s:65:"A simple one-column, tableless, fluid width administration theme.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:1:{s:6:"screen";a:2:{s:9:"reset.css";s:22:"themes/seven/reset.css";s:9:"style.css";s:22:"themes/seven/style.css";}}s:8:"settings";a:1:{s:20:"shortcut_module_link";s:1:"1";}s:7:"regions";a:5:{s:7:"content";s:7:"Content";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";s:13:"sidebar_first";s:13:"First sidebar";}s:14:"regions_hidden";a:3:{i:0;s:13:"sidebar_first";i:1;s:8:"page_top";i:2;s:11:"page_bottom";}s:6:"engine";s:11:"phptemplate";s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:27:"themes/seven/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1664863480;s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}s:6:"prefix";s:11:"phptemplate";s:11:"stylesheets";a:1:{s:6:"screen";a:2:{s:9:"reset.css";s:22:"themes/seven/reset.css";s:9:"style.css";s:22:"themes/seven/style.css";}}s:6:"engine";s:11:"phptemplate";}}', 'page_callback' => 'block_admin_demo', 'page_arguments' => 'a:1:{i:0;s:5:"seven";}', 'delivery_callback' => '', @@ -40609,7 +43877,7 @@ 'load_functions' => '', 'to_arg_functions' => '', 'access_callback' => '_block_themes_access', - 'access_arguments' => "a:1:{i:0;O:8:\"stdClass\":12:{s:8:\"filename\";s:23:\"themes/stark/stark.info\";s:4:\"name\";s:5:\"stark\";s:4:\"type\";s:5:\"theme\";s:5:\"owner\";s:45:\"themes/engines/phptemplate/phptemplate.engine\";s:6:\"status\";s:1:\"0\";s:9:\"bootstrap\";s:1:\"0\";s:14:\"schema_version\";s:2:\"-1\";s:6:\"weight\";s:1:\"0\";s:4:\"info\";a:17:{s:4:\"name\";s:5:\"Stark\";s:11:\"description\";s:208:\"This theme demonstrates Drupal's default HTML markup and CSS styles. To learn how to build your own theme and override Drupal's default code, see the Theming Guide.\";s:7:\"package\";s:4:\"Core\";s:7:\"version\";s:4:\"7.40\";s:4:\"core\";s:3:\"7.x\";s:11:\"stylesheets\";a:1:{s:3:\"all\";a:1:{s:10:\"layout.css\";s:23:\"themes/stark/layout.css\";}}s:7:\"project\";s:6:\"drupal\";s:9:\"datestamp\";s:10:\"1444866674\";s:6:\"engine\";s:11:\"phptemplate\";s:7:\"regions\";a:9:{s:13:\"sidebar_first\";s:12:\"Left sidebar\";s:14:\"sidebar_second\";s:13:\"Right sidebar\";s:7:\"content\";s:7:\"Content\";s:6:\"header\";s:6:\"Header\";s:6:\"footer\";s:6:\"Footer\";s:11:\"highlighted\";s:11:\"Highlighted\";s:4:\"help\";s:4:\"Help\";s:8:\"page_top\";s:8:\"Page top\";s:11:\"page_bottom\";s:11:\"Page bottom\";}s:8:\"features\";a:9:{i:0;s:4:\"logo\";i:1;s:7:\"favicon\";i:2;s:4:\"name\";i:3;s:6:\"slogan\";i:4;s:17:\"node_user_picture\";i:5;s:20:\"comment_user_picture\";i:6;s:25:\"comment_user_verification\";i:7;s:9:\"main_menu\";i:8;s:14:\"secondary_menu\";}s:10:\"screenshot\";s:27:\"themes/stark/screenshot.png\";s:3:\"php\";s:5:\"5.2.4\";s:7:\"scripts\";a:0:{}s:5:\"mtime\";i:1444866674;s:14:\"regions_hidden\";a:2:{i:0;s:8:\"page_top\";i:1;s:11:\"page_bottom\";}s:28:\"overlay_supplemental_regions\";a:1:{i:0;s:8:\"page_top\";}}s:6:\"prefix\";s:11:\"phptemplate\";s:11:\"stylesheets\";a:1:{s:3:\"all\";a:1:{s:10:\"layout.css\";s:23:\"themes/stark/layout.css\";}}s:6:\"engine\";s:11:\"phptemplate\";}}", + 'access_arguments' => "a:1:{i:0;O:8:\"stdClass\":12:{s:8:\"filename\";s:23:\"themes/stark/stark.info\";s:4:\"name\";s:5:\"stark\";s:4:\"type\";s:5:\"theme\";s:5:\"owner\";s:45:\"themes/engines/phptemplate/phptemplate.engine\";s:6:\"status\";s:1:\"0\";s:9:\"bootstrap\";s:1:\"0\";s:14:\"schema_version\";s:2:\"-1\";s:6:\"weight\";s:1:\"0\";s:4:\"info\";a:15:{s:4:\"name\";s:5:\"Stark\";s:11:\"description\";s:208:\"This theme demonstrates Drupal's default HTML markup and CSS styles. To learn how to build your own theme and override Drupal's default code, see the Theming Guide.\";s:7:\"package\";s:4:\"Core\";s:7:\"version\";s:4:\"7.92\";s:4:\"core\";s:3:\"7.x\";s:11:\"stylesheets\";a:1:{s:3:\"all\";a:1:{s:10:\"layout.css\";s:23:\"themes/stark/layout.css\";}}s:6:\"engine\";s:11:\"phptemplate\";s:7:\"regions\";a:9:{s:13:\"sidebar_first\";s:12:\"Left sidebar\";s:14:\"sidebar_second\";s:13:\"Right sidebar\";s:7:\"content\";s:7:\"Content\";s:6:\"header\";s:6:\"Header\";s:6:\"footer\";s:6:\"Footer\";s:11:\"highlighted\";s:11:\"Highlighted\";s:4:\"help\";s:4:\"Help\";s:8:\"page_top\";s:8:\"Page top\";s:11:\"page_bottom\";s:11:\"Page bottom\";}s:8:\"features\";a:9:{i:0;s:4:\"logo\";i:1;s:7:\"favicon\";i:2;s:4:\"name\";i:3;s:6:\"slogan\";i:4;s:17:\"node_user_picture\";i:5;s:20:\"comment_user_picture\";i:6;s:25:\"comment_user_verification\";i:7;s:9:\"main_menu\";i:8;s:14:\"secondary_menu\";}s:10:\"screenshot\";s:27:\"themes/stark/screenshot.png\";s:3:\"php\";s:5:\"5.2.4\";s:7:\"scripts\";a:0:{}s:5:\"mtime\";i:1664863480;s:14:\"regions_hidden\";a:2:{i:0;s:8:\"page_top\";i:1;s:11:\"page_bottom\";}s:28:\"overlay_supplemental_regions\";a:1:{i:0;s:8:\"page_top\";}}s:6:\"prefix\";s:11:\"phptemplate\";s:11:\"stylesheets\";a:1:{s:3:\"all\";a:1:{s:10:\"layout.css\";s:23:\"themes/stark/layout.css\";}}s:6:\"engine\";s:11:\"phptemplate\";}}", 'page_callback' => 'block_admin_demo', 'page_arguments' => 'a:1:{i:0;s:5:"stark";}', 'delivery_callback' => '', @@ -40634,7 +43902,7 @@ 'load_functions' => '', 'to_arg_functions' => '', 'access_callback' => '_block_themes_access', - 'access_arguments' => 'a:1:{i:0;O:8:"stdClass":12:{s:8:"filename";s:25:"themes/bartik/bartik.info";s:4:"name";s:6:"bartik";s:4:"type";s:5:"theme";s:5:"owner";s:45:"themes/engines/phptemplate/phptemplate.engine";s:6:"status";s:1:"1";s:9:"bootstrap";s:1:"0";s:14:"schema_version";s:2:"-1";s:6:"weight";s:1:"0";s:4:"info";a:18:{s:4:"name";s:6:"Bartik";s:11:"description";s:48:"A flexible, recolorable theme with many regions.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:2:{s:3:"all";a:3:{s:14:"css/layout.css";s:28:"themes/bartik/css/layout.css";s:13:"css/style.css";s:27:"themes/bartik/css/style.css";s:14:"css/colors.css";s:28:"themes/bartik/css/colors.css";}s:5:"print";a:1:{s:13:"css/print.css";s:27:"themes/bartik/css/print.css";}}s:7:"regions";a:17:{s:6:"header";s:6:"Header";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";s:11:"highlighted";s:11:"Highlighted";s:8:"featured";s:8:"Featured";s:7:"content";s:7:"Content";s:13:"sidebar_first";s:13:"Sidebar first";s:14:"sidebar_second";s:14:"Sidebar second";s:14:"triptych_first";s:14:"Triptych first";s:15:"triptych_middle";s:15:"Triptych middle";s:13:"triptych_last";s:13:"Triptych last";s:18:"footer_firstcolumn";s:19:"Footer first column";s:19:"footer_secondcolumn";s:20:"Footer second column";s:18:"footer_thirdcolumn";s:19:"Footer third column";s:19:"footer_fourthcolumn";s:20:"Footer fourth column";s:6:"footer";s:6:"Footer";}s:8:"settings";a:1:{s:20:"shortcut_module_link";s:1:"0";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:6:"engine";s:11:"phptemplate";s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:28:"themes/bartik/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1444866674;s:14:"regions_hidden";a:2:{i:0;s:8:"page_top";i:1;s:11:"page_bottom";}s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}s:6:"prefix";s:11:"phptemplate";s:11:"stylesheets";a:2:{s:3:"all";a:3:{s:14:"css/layout.css";s:28:"themes/bartik/css/layout.css";s:13:"css/style.css";s:27:"themes/bartik/css/style.css";s:14:"css/colors.css";s:28:"themes/bartik/css/colors.css";}s:5:"print";a:1:{s:13:"css/print.css";s:27:"themes/bartik/css/print.css";}}s:6:"engine";s:11:"phptemplate";}}', + 'access_arguments' => 'a:1:{i:0;O:8:"stdClass":12:{s:8:"filename";s:25:"themes/bartik/bartik.info";s:4:"name";s:6:"bartik";s:4:"type";s:5:"theme";s:5:"owner";s:45:"themes/engines/phptemplate/phptemplate.engine";s:6:"status";s:1:"1";s:9:"bootstrap";s:1:"0";s:14:"schema_version";s:2:"-1";s:6:"weight";s:1:"0";s:4:"info";a:16:{s:4:"name";s:6:"Bartik";s:11:"description";s:48:"A flexible, recolorable theme with many regions.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:2:{s:3:"all";a:3:{s:14:"css/layout.css";s:28:"themes/bartik/css/layout.css";s:13:"css/style.css";s:27:"themes/bartik/css/style.css";s:14:"css/colors.css";s:28:"themes/bartik/css/colors.css";}s:5:"print";a:1:{s:13:"css/print.css";s:27:"themes/bartik/css/print.css";}}s:7:"regions";a:17:{s:6:"header";s:6:"Header";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";s:11:"highlighted";s:11:"Highlighted";s:8:"featured";s:8:"Featured";s:7:"content";s:7:"Content";s:13:"sidebar_first";s:13:"Sidebar first";s:14:"sidebar_second";s:14:"Sidebar second";s:14:"triptych_first";s:14:"Triptych first";s:15:"triptych_middle";s:15:"Triptych middle";s:13:"triptych_last";s:13:"Triptych last";s:18:"footer_firstcolumn";s:19:"Footer first column";s:19:"footer_secondcolumn";s:20:"Footer second column";s:18:"footer_thirdcolumn";s:19:"Footer third column";s:19:"footer_fourthcolumn";s:20:"Footer fourth column";s:6:"footer";s:6:"Footer";}s:8:"settings";a:1:{s:20:"shortcut_module_link";s:1:"0";}s:6:"engine";s:11:"phptemplate";s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:28:"themes/bartik/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1664863480;s:14:"regions_hidden";a:2:{i:0;s:8:"page_top";i:1;s:11:"page_bottom";}s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}s:6:"prefix";s:11:"phptemplate";s:11:"stylesheets";a:2:{s:3:"all";a:3:{s:14:"css/layout.css";s:28:"themes/bartik/css/layout.css";s:13:"css/style.css";s:27:"themes/bartik/css/style.css";s:14:"css/colors.css";s:28:"themes/bartik/css/colors.css";}s:5:"print";a:1:{s:13:"css/print.css";s:27:"themes/bartik/css/print.css";}}s:6:"engine";s:11:"phptemplate";}}', 'page_callback' => 'block_admin_display', 'page_arguments' => 'a:1:{i:0;s:6:"bartik";}', 'delivery_callback' => '', @@ -40659,7 +43927,7 @@ 'load_functions' => '', 'to_arg_functions' => '', 'access_callback' => '_block_themes_access', - 'access_arguments' => 'a:1:{i:0;O:8:"stdClass":12:{s:8:"filename";s:27:"themes/garland/garland.info";s:4:"name";s:7:"garland";s:4:"type";s:5:"theme";s:5:"owner";s:45:"themes/engines/phptemplate/phptemplate.engine";s:6:"status";s:1:"0";s:9:"bootstrap";s:1:"0";s:14:"schema_version";s:2:"-1";s:6:"weight";s:1:"0";s:4:"info";a:18:{s:4:"name";s:7:"Garland";s:11:"description";s:111:"A multi-column theme which can be configured to modify colors and switch between fixed and fluid width layouts.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:2:{s:3:"all";a:1:{s:9:"style.css";s:24:"themes/garland/style.css";}s:5:"print";a:1:{s:9:"print.css";s:24:"themes/garland/print.css";}}s:8:"settings";a:1:{s:13:"garland_width";s:5:"fluid";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:6:"engine";s:11:"phptemplate";s:7:"regions";a:9:{s:13:"sidebar_first";s:12:"Left sidebar";s:14:"sidebar_second";s:13:"Right sidebar";s:7:"content";s:7:"Content";s:6:"header";s:6:"Header";s:6:"footer";s:6:"Footer";s:11:"highlighted";s:11:"Highlighted";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";}s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:29:"themes/garland/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1444866674;s:14:"regions_hidden";a:2:{i:0;s:8:"page_top";i:1;s:11:"page_bottom";}s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}s:6:"prefix";s:11:"phptemplate";s:11:"stylesheets";a:2:{s:3:"all";a:1:{s:9:"style.css";s:24:"themes/garland/style.css";}s:5:"print";a:1:{s:9:"print.css";s:24:"themes/garland/print.css";}}s:6:"engine";s:11:"phptemplate";}}', + 'access_arguments' => 'a:1:{i:0;O:8:"stdClass":12:{s:8:"filename";s:27:"themes/garland/garland.info";s:4:"name";s:7:"garland";s:4:"type";s:5:"theme";s:5:"owner";s:45:"themes/engines/phptemplate/phptemplate.engine";s:6:"status";s:1:"0";s:9:"bootstrap";s:1:"0";s:14:"schema_version";s:2:"-1";s:6:"weight";s:1:"0";s:4:"info";a:16:{s:4:"name";s:7:"Garland";s:11:"description";s:111:"A multi-column theme which can be configured to modify colors and switch between fixed and fluid width layouts.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:2:{s:3:"all";a:1:{s:9:"style.css";s:24:"themes/garland/style.css";}s:5:"print";a:1:{s:9:"print.css";s:24:"themes/garland/print.css";}}s:8:"settings";a:1:{s:13:"garland_width";s:5:"fluid";}s:6:"engine";s:11:"phptemplate";s:7:"regions";a:9:{s:13:"sidebar_first";s:12:"Left sidebar";s:14:"sidebar_second";s:13:"Right sidebar";s:7:"content";s:7:"Content";s:6:"header";s:6:"Header";s:6:"footer";s:6:"Footer";s:11:"highlighted";s:11:"Highlighted";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";}s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:29:"themes/garland/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1664863480;s:14:"regions_hidden";a:2:{i:0;s:8:"page_top";i:1;s:11:"page_bottom";}s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}s:6:"prefix";s:11:"phptemplate";s:11:"stylesheets";a:2:{s:3:"all";a:1:{s:9:"style.css";s:24:"themes/garland/style.css";}s:5:"print";a:1:{s:9:"print.css";s:24:"themes/garland/print.css";}}s:6:"engine";s:11:"phptemplate";}}', 'page_callback' => 'block_admin_display', 'page_arguments' => 'a:1:{i:0;s:7:"garland";}', 'delivery_callback' => '', @@ -40709,7 +43977,7 @@ 'load_functions' => '', 'to_arg_functions' => '', 'access_callback' => '_block_themes_access', - 'access_arguments' => 'a:1:{i:0;O:8:"stdClass":12:{s:8:"filename";s:23:"themes/seven/seven.info";s:4:"name";s:5:"seven";s:4:"type";s:5:"theme";s:5:"owner";s:45:"themes/engines/phptemplate/phptemplate.engine";s:6:"status";s:1:"1";s:9:"bootstrap";s:1:"0";s:14:"schema_version";s:2:"-1";s:6:"weight";s:1:"0";s:4:"info";a:18:{s:4:"name";s:5:"Seven";s:11:"description";s:65:"A simple one-column, tableless, fluid width administration theme.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:1:{s:6:"screen";a:2:{s:9:"reset.css";s:22:"themes/seven/reset.css";s:9:"style.css";s:22:"themes/seven/style.css";}}s:8:"settings";a:1:{s:20:"shortcut_module_link";s:1:"1";}s:7:"regions";a:5:{s:7:"content";s:7:"Content";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";s:13:"sidebar_first";s:13:"First sidebar";}s:14:"regions_hidden";a:3:{i:0;s:13:"sidebar_first";i:1;s:8:"page_top";i:2;s:11:"page_bottom";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:6:"engine";s:11:"phptemplate";s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:27:"themes/seven/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1444866674;s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}s:6:"prefix";s:11:"phptemplate";s:11:"stylesheets";a:1:{s:6:"screen";a:2:{s:9:"reset.css";s:22:"themes/seven/reset.css";s:9:"style.css";s:22:"themes/seven/style.css";}}s:6:"engine";s:11:"phptemplate";}}', + 'access_arguments' => 'a:1:{i:0;O:8:"stdClass":12:{s:8:"filename";s:23:"themes/seven/seven.info";s:4:"name";s:5:"seven";s:4:"type";s:5:"theme";s:5:"owner";s:45:"themes/engines/phptemplate/phptemplate.engine";s:6:"status";s:1:"1";s:9:"bootstrap";s:1:"0";s:14:"schema_version";s:2:"-1";s:6:"weight";s:1:"0";s:4:"info";a:16:{s:4:"name";s:5:"Seven";s:11:"description";s:65:"A simple one-column, tableless, fluid width administration theme.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:1:{s:6:"screen";a:2:{s:9:"reset.css";s:22:"themes/seven/reset.css";s:9:"style.css";s:22:"themes/seven/style.css";}}s:8:"settings";a:1:{s:20:"shortcut_module_link";s:1:"1";}s:7:"regions";a:5:{s:7:"content";s:7:"Content";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";s:13:"sidebar_first";s:13:"First sidebar";}s:14:"regions_hidden";a:3:{i:0;s:13:"sidebar_first";i:1;s:8:"page_top";i:2;s:11:"page_bottom";}s:6:"engine";s:11:"phptemplate";s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:27:"themes/seven/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1664863480;s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}s:6:"prefix";s:11:"phptemplate";s:11:"stylesheets";a:1:{s:6:"screen";a:2:{s:9:"reset.css";s:22:"themes/seven/reset.css";s:9:"style.css";s:22:"themes/seven/style.css";}}s:6:"engine";s:11:"phptemplate";}}', 'page_callback' => 'block_admin_display', 'page_arguments' => 'a:1:{i:0;s:5:"seven";}', 'delivery_callback' => '', @@ -40759,7 +44027,7 @@ 'load_functions' => '', 'to_arg_functions' => '', 'access_callback' => '_block_themes_access', - 'access_arguments' => "a:1:{i:0;O:8:\"stdClass\":12:{s:8:\"filename\";s:23:\"themes/stark/stark.info\";s:4:\"name\";s:5:\"stark\";s:4:\"type\";s:5:\"theme\";s:5:\"owner\";s:45:\"themes/engines/phptemplate/phptemplate.engine\";s:6:\"status\";s:1:\"0\";s:9:\"bootstrap\";s:1:\"0\";s:14:\"schema_version\";s:2:\"-1\";s:6:\"weight\";s:1:\"0\";s:4:\"info\";a:17:{s:4:\"name\";s:5:\"Stark\";s:11:\"description\";s:208:\"This theme demonstrates Drupal's default HTML markup and CSS styles. To learn how to build your own theme and override Drupal's default code, see the Theming Guide.\";s:7:\"package\";s:4:\"Core\";s:7:\"version\";s:4:\"7.40\";s:4:\"core\";s:3:\"7.x\";s:11:\"stylesheets\";a:1:{s:3:\"all\";a:1:{s:10:\"layout.css\";s:23:\"themes/stark/layout.css\";}}s:7:\"project\";s:6:\"drupal\";s:9:\"datestamp\";s:10:\"1444866674\";s:6:\"engine\";s:11:\"phptemplate\";s:7:\"regions\";a:9:{s:13:\"sidebar_first\";s:12:\"Left sidebar\";s:14:\"sidebar_second\";s:13:\"Right sidebar\";s:7:\"content\";s:7:\"Content\";s:6:\"header\";s:6:\"Header\";s:6:\"footer\";s:6:\"Footer\";s:11:\"highlighted\";s:11:\"Highlighted\";s:4:\"help\";s:4:\"Help\";s:8:\"page_top\";s:8:\"Page top\";s:11:\"page_bottom\";s:11:\"Page bottom\";}s:8:\"features\";a:9:{i:0;s:4:\"logo\";i:1;s:7:\"favicon\";i:2;s:4:\"name\";i:3;s:6:\"slogan\";i:4;s:17:\"node_user_picture\";i:5;s:20:\"comment_user_picture\";i:6;s:25:\"comment_user_verification\";i:7;s:9:\"main_menu\";i:8;s:14:\"secondary_menu\";}s:10:\"screenshot\";s:27:\"themes/stark/screenshot.png\";s:3:\"php\";s:5:\"5.2.4\";s:7:\"scripts\";a:0:{}s:5:\"mtime\";i:1444866674;s:14:\"regions_hidden\";a:2:{i:0;s:8:\"page_top\";i:1;s:11:\"page_bottom\";}s:28:\"overlay_supplemental_regions\";a:1:{i:0;s:8:\"page_top\";}}s:6:\"prefix\";s:11:\"phptemplate\";s:11:\"stylesheets\";a:1:{s:3:\"all\";a:1:{s:10:\"layout.css\";s:23:\"themes/stark/layout.css\";}}s:6:\"engine\";s:11:\"phptemplate\";}}", + 'access_arguments' => "a:1:{i:0;O:8:\"stdClass\":12:{s:8:\"filename\";s:23:\"themes/stark/stark.info\";s:4:\"name\";s:5:\"stark\";s:4:\"type\";s:5:\"theme\";s:5:\"owner\";s:45:\"themes/engines/phptemplate/phptemplate.engine\";s:6:\"status\";s:1:\"0\";s:9:\"bootstrap\";s:1:\"0\";s:14:\"schema_version\";s:2:\"-1\";s:6:\"weight\";s:1:\"0\";s:4:\"info\";a:15:{s:4:\"name\";s:5:\"Stark\";s:11:\"description\";s:208:\"This theme demonstrates Drupal's default HTML markup and CSS styles. To learn how to build your own theme and override Drupal's default code, see the Theming Guide.\";s:7:\"package\";s:4:\"Core\";s:7:\"version\";s:4:\"7.92\";s:4:\"core\";s:3:\"7.x\";s:11:\"stylesheets\";a:1:{s:3:\"all\";a:1:{s:10:\"layout.css\";s:23:\"themes/stark/layout.css\";}}s:6:\"engine\";s:11:\"phptemplate\";s:7:\"regions\";a:9:{s:13:\"sidebar_first\";s:12:\"Left sidebar\";s:14:\"sidebar_second\";s:13:\"Right sidebar\";s:7:\"content\";s:7:\"Content\";s:6:\"header\";s:6:\"Header\";s:6:\"footer\";s:6:\"Footer\";s:11:\"highlighted\";s:11:\"Highlighted\";s:4:\"help\";s:4:\"Help\";s:8:\"page_top\";s:8:\"Page top\";s:11:\"page_bottom\";s:11:\"Page bottom\";}s:8:\"features\";a:9:{i:0;s:4:\"logo\";i:1;s:7:\"favicon\";i:2;s:4:\"name\";i:3;s:6:\"slogan\";i:4;s:17:\"node_user_picture\";i:5;s:20:\"comment_user_picture\";i:6;s:25:\"comment_user_verification\";i:7;s:9:\"main_menu\";i:8;s:14:\"secondary_menu\";}s:10:\"screenshot\";s:27:\"themes/stark/screenshot.png\";s:3:\"php\";s:5:\"5.2.4\";s:7:\"scripts\";a:0:{}s:5:\"mtime\";i:1664863480;s:14:\"regions_hidden\";a:2:{i:0;s:8:\"page_top\";i:1;s:11:\"page_bottom\";}s:28:\"overlay_supplemental_regions\";a:1:{i:0;s:8:\"page_top\";}}s:6:\"prefix\";s:11:\"phptemplate\";s:11:\"stylesheets\";a:1:{s:3:\"all\";a:1:{s:10:\"layout.css\";s:23:\"themes/stark/layout.css\";}}s:6:\"engine\";s:11:\"phptemplate\";}}", 'page_callback' => 'block_admin_display', 'page_arguments' => 'a:1:{i:0;s:5:"stark";}', 'delivery_callback' => '', @@ -40840,10 +44108,10 @@ 'delivery_callback' => '', 'fit' => '121', 'number_parts' => '7', - 'context' => '2', + 'context' => '3', 'tab_parent' => 'admin/structure/block/manage/%/%', 'tab_root' => 'admin/structure/block/manage/%/%', - 'title' => 'Configure block', + 'title' => 'Configure', 'title_callback' => 't', 'title_arguments' => '', 'theme_callback' => '', @@ -40851,7 +44119,7 @@ 'type' => '140', 'description' => '', 'position' => '', - 'weight' => '0', + 'weight' => '-100', 'include_file' => 'modules/block/block.admin.inc', )) ->values(array( @@ -40866,19 +44134,69 @@ 'fit' => '121', 'number_parts' => '7', 'context' => '0', - 'tab_parent' => 'admin/structure/block/manage/%/%', - 'tab_root' => 'admin/structure/block/manage/%/%', + 'tab_parent' => '', + 'tab_root' => 'admin/structure/block/manage/%/%/delete', 'title' => 'Delete block', 'title_callback' => 't', 'title_arguments' => '', 'theme_callback' => '', 'theme_arguments' => 'a:0:{}', - 'type' => '132', + 'type' => '0', 'description' => '', 'position' => '', 'weight' => '0', 'include_file' => 'modules/block/block.admin.inc', )) +->values(array( + 'path' => 'admin/structure/block/manage/%/%/translate', + 'load_functions' => 'a:2:{i:4;N;i:5;N;}', + 'to_arg_functions' => '', + 'access_callback' => 'i18n_block_translate_tab_access', + 'access_arguments' => 'a:2:{i:0;i:4;i:1;i:5;}', + 'page_callback' => 'i18n_block_translate_tab_page', + 'page_arguments' => 'a:2:{i:0;i:4;i:1;i:5;}', + 'delivery_callback' => '', + 'fit' => '121', + 'number_parts' => '7', + 'context' => '3', + 'tab_parent' => 'admin/structure/block/manage/%/%', + 'tab_root' => 'admin/structure/block/manage/%/%', + 'title' => 'Translate', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '132', + 'description' => '', + 'position' => '', + 'weight' => '10', + 'include_file' => '', +)) +->values(array( + 'path' => 'admin/structure/block/manage/%/%/translate/%', + 'load_functions' => 'a:3:{i:4;N;i:5;N;i:7;s:18:"i18n_language_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'i18n_block_translate_tab_access', + 'access_arguments' => 'a:2:{i:0;i:4;i:1;i:5;}', + 'page_callback' => 'i18n_block_translate_tab_page', + 'page_arguments' => 'a:3:{i:0;i:4;i:1;i:5;i:2;i:7;}', + 'delivery_callback' => '', + 'fit' => '242', + 'number_parts' => '8', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/structure/block/manage/%/%/translate/%', + 'title' => 'Translate', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '0', + 'description' => '', + 'position' => '', + 'weight' => '10', + 'include_file' => '', +)) ->values(array( 'path' => 'admin/structure/contact', 'load_functions' => '', @@ -41204,6 +44522,31 @@ 'weight' => '0', 'include_file' => 'modules/menu/menu.admin.inc', )) +->values(array( + 'path' => 'admin/structure/menu/item/%', + 'load_functions' => 'a:1:{i:4;s:14:"menu_link_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:15:"administer menu";}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:4:{i:0;s:14:"menu_edit_item";i:1;s:4:"edit";i:2;i:4;i:3;N;}', + 'delivery_callback' => '', + 'fit' => '30', + 'number_parts' => '5', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/structure/menu/item/%', + 'title' => 'Edit menu link', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '0', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'modules/menu/menu.admin.inc', +)) ->values(array( 'path' => 'admin/structure/menu/item/%/delete', 'load_functions' => 'a:1:{i:4;s:14:"menu_link_load";}', @@ -41240,15 +44583,15 @@ 'delivery_callback' => '', 'fit' => '61', 'number_parts' => '6', - 'context' => '0', - 'tab_parent' => '', - 'tab_root' => 'admin/structure/menu/item/%/edit', + 'context' => '1', + 'tab_parent' => 'admin/structure/menu/item/%', + 'tab_root' => 'admin/structure/menu/item/%', 'title' => 'Edit menu link', 'title_callback' => 't', 'title_arguments' => '', 'theme_callback' => '', 'theme_arguments' => 'a:0:{}', - 'type' => '6', + 'type' => '140', 'description' => '', 'position' => '', 'weight' => '0', @@ -41279,6 +44622,56 @@ 'weight' => '0', 'include_file' => 'modules/menu/menu.admin.inc', )) +->values(array( + 'path' => 'admin/structure/menu/item/%/translate', + 'load_functions' => 'a:1:{i:4;s:14:"menu_link_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'i18n_object_translate_access', + 'access_arguments' => 'a:2:{i:0;s:9:"menu_link";i:1;i:4;}', + 'page_callback' => 'i18n_page_translate_tab', + 'page_arguments' => 'a:2:{i:0;s:9:"menu_link";i:1;i:4;}', + 'delivery_callback' => '', + 'fit' => '61', + 'number_parts' => '6', + 'context' => '1', + 'tab_parent' => 'admin/structure/menu/item/%', + 'tab_root' => 'admin/structure/menu/item/%', + 'title' => 'Translate', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '132', + 'description' => '', + 'position' => '', + 'weight' => '10', + 'include_file' => 'sites/all/modules/i18n/i18n.pages.inc', +)) +->values(array( + 'path' => 'admin/structure/menu/item/%/translate/%', + 'load_functions' => 'a:2:{i:4;s:14:"menu_link_load";i:6;s:18:"i18n_language_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'i18n_object_translate_access', + 'access_arguments' => 'a:2:{i:0;s:9:"menu_link";i:1;i:4;}', + 'page_callback' => 'i18n_page_translate_tab', + 'page_arguments' => 'a:3:{i:0;s:9:"menu_link";i:1;i:4;i:2;i:6;}', + 'delivery_callback' => '', + 'fit' => '122', + 'number_parts' => '7', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/structure/menu/item/%/translate/%', + 'title' => 'Translate', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '0', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n.pages.inc', +)) ->values(array( 'path' => 'admin/structure/menu/list', 'load_functions' => '', @@ -41319,7 +44712,7 @@ 'tab_parent' => '', 'tab_root' => 'admin/structure/menu/manage/%', 'title' => 'Customize menu', - 'title_callback' => 'menu_overview_title', + 'title_callback' => 'i18n_menu_menu_overview_title', 'title_arguments' => 'a:1:{i:0;i:4;}', 'theme_callback' => '', 'theme_arguments' => 'a:0:{}', @@ -41429,6 +44822,156 @@ 'weight' => '-10', 'include_file' => 'modules/menu/menu.admin.inc', )) +->values(array( + 'path' => 'admin/structure/menu/manage/%/translate', + 'load_functions' => 'a:1:{i:4;s:9:"menu_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'i18n_object_translate_access', + 'access_arguments' => 'a:2:{i:0;s:4:"menu";i:1;i:4;}', + 'page_callback' => 'i18n_page_translate_localize', + 'page_arguments' => 'a:2:{i:0;s:4:"menu";i:1;i:4;}', + 'delivery_callback' => '', + 'fit' => '61', + 'number_parts' => '6', + 'context' => '1', + 'tab_parent' => 'admin/structure/menu/manage/%', + 'tab_root' => 'admin/structure/menu/manage/%', + 'title' => 'Translate', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '132', + 'description' => '', + 'position' => '', + 'weight' => '10', + 'include_file' => 'sites/all/modules/i18n/i18n.pages.inc', +)) +->values(array( + 'path' => 'admin/structure/menu/manage/%/translate/%', + 'load_functions' => 'a:2:{i:4;s:9:"menu_load";i:6;s:18:"i18n_language_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'i18n_object_translate_access', + 'access_arguments' => 'a:2:{i:0;s:4:"menu";i:1;i:4;}', + 'page_callback' => 'i18n_page_translate_localize', + 'page_arguments' => 'a:3:{i:0;s:4:"menu";i:1;i:4;i:2;i:6;}', + 'delivery_callback' => '', + 'fit' => '122', + 'number_parts' => '7', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/structure/menu/manage/%/translate/%', + 'title' => 'Translate', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '0', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n.pages.inc', +)) +->values(array( + 'path' => 'admin/structure/menu/manage/translation', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:15:"administer menu";}', + 'page_callback' => 'i18n_translation_set_list_manage', + 'page_arguments' => 'a:1:{i:0;s:9:"menu_link";}', + 'delivery_callback' => '', + 'fit' => '31', + 'number_parts' => '5', + 'context' => '1', + 'tab_parent' => 'admin/structure/menu', + 'tab_root' => 'admin/structure/menu', + 'title' => 'Translation sets', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '132', + 'description' => '', + 'position' => '', + 'weight' => '10', + 'include_file' => '', +)) +->values(array( + 'path' => 'admin/structure/menu/manage/translation/add', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:15:"administer menu";}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:1:{i:0;s:26:"i18n_menu_translation_form";}', + 'delivery_callback' => '', + 'fit' => '63', + 'number_parts' => '6', + 'context' => '1', + 'tab_parent' => 'admin/structure/menu/manage/translation', + 'tab_root' => 'admin/structure/menu', + 'title' => 'Add translation', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '388', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n_menu/i18n_menu.admin.inc', +)) +->values(array( + 'path' => 'admin/structure/menu/manage/translation/delete/%', + 'load_functions' => 'a:1:{i:6;s:26:"i18n_menu_translation_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:15:"administer menu";}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:2:{i:0;s:35:"i18n_translation_set_delete_confirm";i:1;i:6;}', + 'delivery_callback' => '', + 'fit' => '126', + 'number_parts' => '7', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/structure/menu/manage/translation/delete/%', + 'title' => 'Delete translation', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '0', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => '', +)) +->values(array( + 'path' => 'admin/structure/menu/manage/translation/edit/%', + 'load_functions' => 'a:1:{i:6;s:26:"i18n_menu_translation_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:15:"administer menu";}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:2:{i:0;s:26:"i18n_menu_translation_form";i:1;i:6;}', + 'delivery_callback' => '', + 'fit' => '126', + 'number_parts' => '7', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/structure/menu/manage/translation/edit/%', + 'title' => 'Edit translation', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '0', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n_menu/i18n_menu.admin.inc', +)) ->values(array( 'path' => 'admin/structure/menu/parents', 'load_functions' => '', @@ -41558,8 +45101,8 @@ 'path' => 'admin/structure/taxonomy/%/display', 'load_functions' => 'a:1:{i:3;s:37:"taxonomy_vocabulary_machine_name_load";}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:19:"administer taxonomy";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:19:"administer taxonomy";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:4:{i:0;s:30:"field_ui_display_overview_form";i:1;s:13:"taxonomy_term";i:2;i:3;i:3;s:7:"default";}', 'delivery_callback' => '', @@ -41584,7 +45127,7 @@ 'load_functions' => 'a:1:{i:3;s:37:"taxonomy_vocabulary_machine_name_load";}', 'to_arg_functions' => '', 'access_callback' => '_field_ui_view_mode_menu_access', - 'access_arguments' => 'a:5:{i:0;s:13:"taxonomy_term";i:1;i:3;i:2;s:7:"default";i:3;s:11:"user_access";i:4;s:19:"administer taxonomy";}', + 'access_arguments' => 'a:6:{i:0;s:13:"taxonomy_term";i:1;i:3;i:2;s:7:"default";i:3;s:21:"field_ui_admin_access";i:4;s:11:"user_access";i:5;a:1:{i:0;s:19:"administer taxonomy";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:4:{i:0;s:30:"field_ui_display_overview_form";i:1;s:13:"taxonomy_term";i:2;i:3;i:3;s:7:"default";}', 'delivery_callback' => '', @@ -41609,7 +45152,7 @@ 'load_functions' => 'a:1:{i:3;s:37:"taxonomy_vocabulary_machine_name_load";}', 'to_arg_functions' => '', 'access_callback' => '_field_ui_view_mode_menu_access', - 'access_arguments' => 'a:5:{i:0;s:13:"taxonomy_term";i:1;i:3;i:2;s:4:"full";i:3;s:11:"user_access";i:4;s:19:"administer taxonomy";}', + 'access_arguments' => 'a:6:{i:0;s:13:"taxonomy_term";i:1;i:3;i:2;s:4:"full";i:3;s:21:"field_ui_admin_access";i:4;s:11:"user_access";i:5;a:1:{i:0;s:19:"administer taxonomy";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:4:{i:0;s:30:"field_ui_display_overview_form";i:1;s:13:"taxonomy_term";i:2;i:3;i:3;s:4:"full";}', 'delivery_callback' => '', @@ -41658,8 +45201,8 @@ 'path' => 'admin/structure/taxonomy/%/fields', 'load_functions' => 'a:1:{i:3;s:37:"taxonomy_vocabulary_machine_name_load";}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:19:"administer taxonomy";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:19:"administer taxonomy";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:3:{i:0;s:28:"field_ui_field_overview_form";i:1;s:13:"taxonomy_term";i:2;i:3;}', 'delivery_callback' => '', @@ -41683,8 +45226,8 @@ 'path' => 'admin/structure/taxonomy/%/fields/%', 'load_functions' => 'a:2:{i:3;a:1:{s:37:"taxonomy_vocabulary_machine_name_load";a:4:{i:0;s:13:"taxonomy_term";i:1;i:3;i:2;s:1:"3";i:3;s:4:"%map";}}i:5;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:13:"taxonomy_term";i:1;i:3;i:2;s:1:"3";i:3;s:4:"%map";}}}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:19:"administer taxonomy";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:19:"administer taxonomy";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:24:"field_ui_field_edit_form";i:1;i:5;}', 'delivery_callback' => '', @@ -41708,8 +45251,8 @@ 'path' => 'admin/structure/taxonomy/%/fields/%/delete', 'load_functions' => 'a:2:{i:3;a:1:{s:37:"taxonomy_vocabulary_machine_name_load";a:4:{i:0;s:13:"taxonomy_term";i:1;i:3;i:2;s:1:"3";i:3;s:4:"%map";}}i:5;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:13:"taxonomy_term";i:1;i:3;i:2;s:1:"3";i:3;s:4:"%map";}}}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:19:"administer taxonomy";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:19:"administer taxonomy";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:26:"field_ui_field_delete_form";i:1;i:5;}', 'delivery_callback' => '', @@ -41733,8 +45276,8 @@ 'path' => 'admin/structure/taxonomy/%/fields/%/edit', 'load_functions' => 'a:2:{i:3;a:1:{s:37:"taxonomy_vocabulary_machine_name_load";a:4:{i:0;s:13:"taxonomy_term";i:1;i:3;i:2;s:1:"3";i:3;s:4:"%map";}}i:5;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:13:"taxonomy_term";i:1;i:3;i:2;s:1:"3";i:3;s:4:"%map";}}}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:19:"administer taxonomy";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:19:"administer taxonomy";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:24:"field_ui_field_edit_form";i:1;i:5;}', 'delivery_callback' => '', @@ -41758,8 +45301,8 @@ 'path' => 'admin/structure/taxonomy/%/fields/%/field-settings', 'load_functions' => 'a:2:{i:3;a:1:{s:37:"taxonomy_vocabulary_machine_name_load";a:4:{i:0;s:13:"taxonomy_term";i:1;i:3;i:2;s:1:"3";i:3;s:4:"%map";}}i:5;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:13:"taxonomy_term";i:1;i:3;i:2;s:1:"3";i:3;s:4:"%map";}}}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:19:"administer taxonomy";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:19:"administer taxonomy";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:28:"field_ui_field_settings_form";i:1;i:5;}', 'delivery_callback' => '', @@ -41780,11 +45323,61 @@ 'include_file' => 'modules/field_ui/field_ui.admin.inc', )) ->values(array( - 'path' => 'admin/structure/taxonomy/%/fields/%/widget-type', + 'path' => 'admin/structure/taxonomy/%/fields/%/translate', 'load_functions' => 'a:2:{i:3;a:1:{s:37:"taxonomy_vocabulary_machine_name_load";a:4:{i:0;s:13:"taxonomy_term";i:1;i:3;i:2;s:1:"3";i:3;s:4:"%map";}}i:5;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:13:"taxonomy_term";i:1;i:3;i:2;s:1:"3";i:3;s:4:"%map";}}}', 'to_arg_functions' => '', 'access_callback' => 'user_access', 'access_arguments' => 'a:1:{i:0;s:19:"administer taxonomy";}', + 'page_callback' => 'i18n_field_page_translate', + 'page_arguments' => 'a:1:{i:0;i:5;}', + 'delivery_callback' => '', + 'fit' => '117', + 'number_parts' => '7', + 'context' => '1', + 'tab_parent' => 'admin/structure/taxonomy/%/fields/%', + 'tab_root' => 'admin/structure/taxonomy/%/fields/%', + 'title' => 'Translate', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '132', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n_field/i18n_field.pages.inc', +)) +->values(array( + 'path' => 'admin/structure/taxonomy/%/fields/%/translate/%', + 'load_functions' => 'a:3:{i:3;a:1:{s:37:"taxonomy_vocabulary_machine_name_load";a:4:{i:0;s:13:"taxonomy_term";i:1;i:3;i:2;s:1:"3";i:3;s:4:"%map";}}i:5;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:13:"taxonomy_term";i:1;i:3;i:2;s:1:"3";i:3;s:4:"%map";}}i:7;a:1:{s:18:"i18n_language_load";a:4:{i:0;s:13:"taxonomy_term";i:1;i:3;i:2;s:1:"3";i:3;s:4:"%map";}}}', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:19:"administer taxonomy";}', + 'page_callback' => 'i18n_field_page_translate', + 'page_arguments' => 'a:2:{i:0;i:5;i:1;i:7;}', + 'delivery_callback' => '', + 'fit' => '234', + 'number_parts' => '8', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/structure/taxonomy/%/fields/%/translate/%', + 'title' => 'Instance', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '0', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n_field/i18n_field.pages.inc', +)) +->values(array( + 'path' => 'admin/structure/taxonomy/%/fields/%/widget-type', + 'load_functions' => 'a:2:{i:3;a:1:{s:37:"taxonomy_vocabulary_machine_name_load";a:4:{i:0;s:13:"taxonomy_term";i:1;i:3;i:2;s:1:"3";i:3;s:4:"%map";}}i:5;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:13:"taxonomy_term";i:1;i:3;i:2;s:1:"3";i:3;s:4:"%map";}}}', + 'to_arg_functions' => '', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:19:"administer taxonomy";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:25:"field_ui_widget_type_form";i:1;i:5;}', 'delivery_callback' => '', @@ -41804,6 +45397,31 @@ 'weight' => '0', 'include_file' => 'modules/field_ui/field_ui.admin.inc', )) +->values(array( + 'path' => 'admin/structure/taxonomy/%/fields/replace/%', + 'load_functions' => 'a:2:{i:3;a:1:{s:37:"taxonomy_vocabulary_machine_name_load";a:0:{}}i:6;N;}', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:19:"administer taxonomy";}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:4:{i:0;s:28:"title_field_replacement_form";i:1;s:13:"taxonomy_term";i:2;i:3;i:3;i:6;}', + 'delivery_callback' => '', + 'fit' => '118', + 'number_parts' => '7', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/structure/taxonomy/%/fields/replace/%', + 'title' => 'Replace fields', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '6', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/title/title.admin.inc', +)) ->values(array( 'path' => 'admin/structure/taxonomy/%/list', 'load_functions' => 'a:1:{i:3;s:37:"taxonomy_vocabulary_machine_name_load";}', @@ -41829,6 +45447,181 @@ 'weight' => '-20', 'include_file' => 'modules/taxonomy/taxonomy.admin.inc', )) +->values(array( + 'path' => 'admin/structure/taxonomy/%/list/list', + 'load_functions' => 'a:1:{i:3;s:37:"taxonomy_vocabulary_machine_name_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:19:"administer taxonomy";}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:2:{i:0;s:23:"taxonomy_overview_terms";i:1;i:3;}', + 'delivery_callback' => '', + 'fit' => '59', + 'number_parts' => '6', + 'context' => '1', + 'tab_parent' => 'admin/structure/taxonomy/%/list', + 'tab_root' => 'admin/structure/taxonomy/%', + 'title' => 'Terms', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '140', + 'description' => '', + 'position' => '', + 'weight' => '-20', + 'include_file' => 'modules/taxonomy/taxonomy.admin.inc', +)) +->values(array( + 'path' => 'admin/structure/taxonomy/%/list/sets', + 'load_functions' => 'a:1:{i:3;s:37:"taxonomy_vocabulary_machine_name_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'i18n_taxonomy_vocabulary_translation_tab_sets_access', + 'access_arguments' => 'a:1:{i:0;i:3;}', + 'page_callback' => 'i18n_taxonomy_translation_sets_overview', + 'page_arguments' => 'a:1:{i:0;i:3;}', + 'delivery_callback' => '', + 'fit' => '59', + 'number_parts' => '6', + 'context' => '1', + 'tab_parent' => 'admin/structure/taxonomy/%/list', + 'tab_root' => 'admin/structure/taxonomy/%', + 'title' => 'Translation sets', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '132', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.admin.inc', +)) +->values(array( + 'path' => 'admin/structure/taxonomy/%/list/sets/add', + 'load_functions' => 'a:1:{i:3;s:37:"taxonomy_vocabulary_machine_name_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'i18n_taxonomy_vocabulary_translation_tab_sets_access', + 'access_arguments' => 'a:1:{i:0;i:3;}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:2:{i:0;s:35:"i18n_taxonomy_translation_term_form";i:1;i:3;}', + 'delivery_callback' => '', + 'fit' => '119', + 'number_parts' => '7', + 'context' => '1', + 'tab_parent' => 'admin/structure/taxonomy/%/list/sets', + 'tab_root' => 'admin/structure/taxonomy/%', + 'title' => 'Create new translation', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '388', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.admin.inc', +)) +->values(array( + 'path' => 'admin/structure/taxonomy/%/list/sets/delete/%', + 'load_functions' => 'a:2:{i:3;s:37:"taxonomy_vocabulary_machine_name_load";i:7;s:34:"i18n_taxonomy_translation_set_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'i18n_taxonomy_vocabulary_translation_tab_sets_access', + 'access_arguments' => 'a:1:{i:0;i:3;}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:2:{i:0;s:35:"i18n_translation_set_delete_confirm";i:1;i:7;}', + 'delivery_callback' => '', + 'fit' => '238', + 'number_parts' => '8', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/structure/taxonomy/%/list/sets/delete/%', + 'title' => 'Delete translation', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '0', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => '', +)) +->values(array( + 'path' => 'admin/structure/taxonomy/%/list/sets/edit/%', + 'load_functions' => 'a:2:{i:3;s:37:"taxonomy_vocabulary_machine_name_load";i:7;s:34:"i18n_taxonomy_translation_set_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'i18n_taxonomy_vocabulary_translation_tab_sets_access', + 'access_arguments' => 'a:1:{i:0;i:3;}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:3:{i:0;s:35:"i18n_taxonomy_translation_term_form";i:1;i:3;i:2;i:7;}', + 'delivery_callback' => '', + 'fit' => '238', + 'number_parts' => '8', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/structure/taxonomy/%/list/sets/edit/%', + 'title' => 'Edit translation', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '0', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.admin.inc', +)) +->values(array( + 'path' => 'admin/structure/taxonomy/%/translate', + 'load_functions' => 'a:1:{i:3;s:37:"taxonomy_vocabulary_machine_name_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'i18n_object_translate_access', + 'access_arguments' => 'a:2:{i:0;s:19:"taxonomy_vocabulary";i:1;i:3;}', + 'page_callback' => 'i18n_page_translate_localize', + 'page_arguments' => 'a:2:{i:0;s:19:"taxonomy_vocabulary";i:1;i:3;}', + 'delivery_callback' => '', + 'fit' => '29', + 'number_parts' => '5', + 'context' => '1', + 'tab_parent' => 'admin/structure/taxonomy/%', + 'tab_root' => 'admin/structure/taxonomy/%', + 'title' => 'Translate', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '132', + 'description' => '', + 'position' => '', + 'weight' => '10', + 'include_file' => 'sites/all/modules/i18n/i18n.pages.inc', +)) +->values(array( + 'path' => 'admin/structure/taxonomy/%/translate/%', + 'load_functions' => 'a:2:{i:3;s:37:"taxonomy_vocabulary_machine_name_load";i:5;s:18:"i18n_language_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'i18n_object_translate_access', + 'access_arguments' => 'a:2:{i:0;s:19:"taxonomy_vocabulary";i:1;i:3;}', + 'page_callback' => 'i18n_page_translate_localize', + 'page_arguments' => 'a:3:{i:0;s:19:"taxonomy_vocabulary";i:1;i:3;i:2;i:5;}', + 'delivery_callback' => '', + 'fit' => '58', + 'number_parts' => '6', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/structure/taxonomy/%/translate/%', + 'title' => 'Translate', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '0', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n.pages.inc', +)) ->values(array( 'path' => 'admin/structure/taxonomy/add', 'load_functions' => '', @@ -42158,8 +45951,8 @@ 'path' => 'admin/structure/types/manage/%/comment/display', 'load_functions' => 'a:1:{i:4;s:22:"comment_node_type_load";}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:24:"administer content types";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:4:{i:0;s:30:"field_ui_display_overview_form";i:1;s:7:"comment";i:2;i:4;i:3;s:7:"default";}', 'delivery_callback' => '', @@ -42184,7 +45977,7 @@ 'load_functions' => 'a:1:{i:4;s:22:"comment_node_type_load";}', 'to_arg_functions' => '', 'access_callback' => '_field_ui_view_mode_menu_access', - 'access_arguments' => 'a:5:{i:0;s:7:"comment";i:1;i:4;i:2;s:7:"default";i:3;s:11:"user_access";i:4;s:24:"administer content types";}', + 'access_arguments' => 'a:6:{i:0;s:7:"comment";i:1;i:4;i:2;s:7:"default";i:3;s:21:"field_ui_admin_access";i:4;s:11:"user_access";i:5;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:4:{i:0;s:30:"field_ui_display_overview_form";i:1;s:7:"comment";i:2;i:4;i:3;s:7:"default";}', 'delivery_callback' => '', @@ -42209,7 +46002,7 @@ 'load_functions' => 'a:1:{i:4;s:22:"comment_node_type_load";}', 'to_arg_functions' => '', 'access_callback' => '_field_ui_view_mode_menu_access', - 'access_arguments' => 'a:5:{i:0;s:7:"comment";i:1;i:4;i:2;s:4:"full";i:3;s:11:"user_access";i:4;s:24:"administer content types";}', + 'access_arguments' => 'a:6:{i:0;s:7:"comment";i:1;i:4;i:2;s:4:"full";i:3;s:21:"field_ui_admin_access";i:4;s:11:"user_access";i:5;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:4:{i:0;s:30:"field_ui_display_overview_form";i:1;s:7:"comment";i:2;i:4;i:3;s:4:"full";}', 'delivery_callback' => '', @@ -42233,8 +46026,8 @@ 'path' => 'admin/structure/types/manage/%/comment/fields', 'load_functions' => 'a:1:{i:4;s:22:"comment_node_type_load";}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:24:"administer content types";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:3:{i:0;s:28:"field_ui_field_overview_form";i:1;s:7:"comment";i:2;i:4;}', 'delivery_callback' => '', @@ -42258,8 +46051,8 @@ 'path' => 'admin/structure/types/manage/%/comment/fields/%', 'load_functions' => 'a:2:{i:4;a:1:{s:22:"comment_node_type_load";a:4:{i:0;s:7:"comment";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}i:7;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:7:"comment";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:24:"administer content types";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:24:"field_ui_field_edit_form";i:1;i:7;}', 'delivery_callback' => '', @@ -42283,8 +46076,8 @@ 'path' => 'admin/structure/types/manage/%/comment/fields/%/delete', 'load_functions' => 'a:2:{i:4;a:1:{s:22:"comment_node_type_load";a:4:{i:0;s:7:"comment";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}i:7;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:7:"comment";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:24:"administer content types";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:26:"field_ui_field_delete_form";i:1;i:7;}', 'delivery_callback' => '', @@ -42308,8 +46101,8 @@ 'path' => 'admin/structure/types/manage/%/comment/fields/%/edit', 'load_functions' => 'a:2:{i:4;a:1:{s:22:"comment_node_type_load";a:4:{i:0;s:7:"comment";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}i:7;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:7:"comment";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:24:"administer content types";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:24:"field_ui_field_edit_form";i:1;i:7;}', 'delivery_callback' => '', @@ -42333,8 +46126,8 @@ 'path' => 'admin/structure/types/manage/%/comment/fields/%/field-settings', 'load_functions' => 'a:2:{i:4;a:1:{s:22:"comment_node_type_load";a:4:{i:0;s:7:"comment";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}i:7;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:7:"comment";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:24:"administer content types";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:28:"field_ui_field_settings_form";i:1;i:7;}', 'delivery_callback' => '', @@ -42355,11 +46148,61 @@ 'include_file' => 'modules/field_ui/field_ui.admin.inc', )) ->values(array( - 'path' => 'admin/structure/types/manage/%/comment/fields/%/widget-type', + 'path' => 'admin/structure/types/manage/%/comment/fields/%/translate', + 'load_functions' => 'a:2:{i:4;a:1:{s:22:"comment_node_type_load";a:4:{i:0;s:7:"comment";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}i:7;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:7:"comment";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}}', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:24:"administer content types";}', + 'page_callback' => 'i18n_field_page_translate', + 'page_arguments' => 'a:1:{i:0;i:7;}', + 'delivery_callback' => '', + 'fit' => '493', + 'number_parts' => '9', + 'context' => '1', + 'tab_parent' => 'admin/structure/types/manage/%/comment/fields/%', + 'tab_root' => 'admin/structure/types/manage/%/comment/fields/%', + 'title' => 'Translate', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '132', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n_field/i18n_field.pages.inc', +)) +->values(array( + 'path' => 'admin/structure/types/manage/%/comment/fields/%/translate/%i18n_language', 'load_functions' => 'a:2:{i:4;a:1:{s:22:"comment_node_type_load";a:4:{i:0;s:7:"comment";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}i:7;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:7:"comment";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}}', 'to_arg_functions' => '', 'access_callback' => 'user_access', 'access_arguments' => 'a:1:{i:0;s:24:"administer content types";}', + 'page_callback' => 'i18n_field_page_translate', + 'page_arguments' => 'a:2:{i:0;i:7;i:1;i:9;}', + 'delivery_callback' => '', + 'fit' => '493', + 'number_parts' => '9', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/structure/types/manage/%/comment/fields/%/translate/%i18n_language', + 'title' => 'Instance', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '0', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n_field/i18n_field.pages.inc', +)) +->values(array( + 'path' => 'admin/structure/types/manage/%/comment/fields/%/widget-type', + 'load_functions' => 'a:2:{i:4;a:1:{s:22:"comment_node_type_load";a:4:{i:0;s:7:"comment";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}i:7;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:7:"comment";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}}', + 'to_arg_functions' => '', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:25:"field_ui_widget_type_form";i:1;i:7;}', 'delivery_callback' => '', @@ -42379,6 +46222,31 @@ 'weight' => '0', 'include_file' => 'modules/field_ui/field_ui.admin.inc', )) +->values(array( + 'path' => 'admin/structure/types/manage/%/comment/fields/replace/%', + 'load_functions' => 'a:2:{i:4;a:1:{s:22:"comment_node_type_load";a:0:{}}i:8;N;}', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:24:"administer content types";}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:4:{i:0;s:28:"title_field_replacement_form";i:1;s:7:"comment";i:2;i:4;i:3;i:8;}', + 'delivery_callback' => '', + 'fit' => '494', + 'number_parts' => '9', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/structure/types/manage/%/comment/fields/replace/%', + 'title' => 'Replace fields', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '6', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/title/title.admin.inc', +)) ->values(array( 'path' => 'admin/structure/types/manage/%/delete', 'load_functions' => 'a:1:{i:4;s:14:"node_type_load";}', @@ -42408,8 +46276,8 @@ 'path' => 'admin/structure/types/manage/%/display', 'load_functions' => 'a:1:{i:4;s:14:"node_type_load";}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:24:"administer content types";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:4:{i:0;s:30:"field_ui_display_overview_form";i:1;s:4:"node";i:2;i:4;i:3;s:7:"default";}', 'delivery_callback' => '', @@ -42434,7 +46302,7 @@ 'load_functions' => 'a:1:{i:4;s:14:"node_type_load";}', 'to_arg_functions' => '', 'access_callback' => '_field_ui_view_mode_menu_access', - 'access_arguments' => 'a:5:{i:0;s:4:"node";i:1;i:4;i:2;s:7:"default";i:3;s:11:"user_access";i:4;s:24:"administer content types";}', + 'access_arguments' => 'a:6:{i:0;s:4:"node";i:1;i:4;i:2;s:7:"default";i:3;s:21:"field_ui_admin_access";i:4;s:11:"user_access";i:5;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:4:{i:0;s:30:"field_ui_display_overview_form";i:1;s:4:"node";i:2;i:4;i:3;s:7:"default";}', 'delivery_callback' => '', @@ -42459,7 +46327,7 @@ 'load_functions' => 'a:1:{i:4;s:14:"node_type_load";}', 'to_arg_functions' => '', 'access_callback' => '_field_ui_view_mode_menu_access', - 'access_arguments' => 'a:5:{i:0;s:4:"node";i:1;i:4;i:2;s:4:"full";i:3;s:11:"user_access";i:4;s:24:"administer content types";}', + 'access_arguments' => 'a:6:{i:0;s:4:"node";i:1;i:4;i:2;s:4:"full";i:3;s:21:"field_ui_admin_access";i:4;s:11:"user_access";i:5;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:4:{i:0;s:30:"field_ui_display_overview_form";i:1;s:4:"node";i:2;i:4;i:3;s:4:"full";}', 'delivery_callback' => '', @@ -42484,7 +46352,7 @@ 'load_functions' => 'a:1:{i:4;s:14:"node_type_load";}', 'to_arg_functions' => '', 'access_callback' => '_field_ui_view_mode_menu_access', - 'access_arguments' => 'a:5:{i:0;s:4:"node";i:1;i:4;i:2;s:5:"print";i:3;s:11:"user_access";i:4;s:24:"administer content types";}', + 'access_arguments' => 'a:6:{i:0;s:4:"node";i:1;i:4;i:2;s:5:"print";i:3;s:21:"field_ui_admin_access";i:4;s:11:"user_access";i:5;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:4:{i:0;s:30:"field_ui_display_overview_form";i:1;s:4:"node";i:2;i:4;i:3;s:5:"print";}', 'delivery_callback' => '', @@ -42509,7 +46377,7 @@ 'load_functions' => 'a:1:{i:4;s:14:"node_type_load";}', 'to_arg_functions' => '', 'access_callback' => '_field_ui_view_mode_menu_access', - 'access_arguments' => 'a:5:{i:0;s:4:"node";i:1;i:4;i:2;s:3:"rss";i:3;s:11:"user_access";i:4;s:24:"administer content types";}', + 'access_arguments' => 'a:6:{i:0;s:4:"node";i:1;i:4;i:2;s:3:"rss";i:3;s:21:"field_ui_admin_access";i:4;s:11:"user_access";i:5;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:4:{i:0;s:30:"field_ui_display_overview_form";i:1;s:4:"node";i:2;i:4;i:3;s:3:"rss";}', 'delivery_callback' => '', @@ -42534,7 +46402,7 @@ 'load_functions' => 'a:1:{i:4;s:14:"node_type_load";}', 'to_arg_functions' => '', 'access_callback' => '_field_ui_view_mode_menu_access', - 'access_arguments' => 'a:5:{i:0;s:4:"node";i:1;i:4;i:2;s:12:"search_index";i:3;s:11:"user_access";i:4;s:24:"administer content types";}', + 'access_arguments' => 'a:6:{i:0;s:4:"node";i:1;i:4;i:2;s:12:"search_index";i:3;s:21:"field_ui_admin_access";i:4;s:11:"user_access";i:5;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:4:{i:0;s:30:"field_ui_display_overview_form";i:1;s:4:"node";i:2;i:4;i:3;s:12:"search_index";}', 'delivery_callback' => '', @@ -42559,7 +46427,7 @@ 'load_functions' => 'a:1:{i:4;s:14:"node_type_load";}', 'to_arg_functions' => '', 'access_callback' => '_field_ui_view_mode_menu_access', - 'access_arguments' => 'a:5:{i:0;s:4:"node";i:1;i:4;i:2;s:13:"search_result";i:3;s:11:"user_access";i:4;s:24:"administer content types";}', + 'access_arguments' => 'a:6:{i:0;s:4:"node";i:1;i:4;i:2;s:13:"search_result";i:3;s:21:"field_ui_admin_access";i:4;s:11:"user_access";i:5;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:4:{i:0;s:30:"field_ui_display_overview_form";i:1;s:4:"node";i:2;i:4;i:3;s:13:"search_result";}', 'delivery_callback' => '', @@ -42584,7 +46452,7 @@ 'load_functions' => 'a:1:{i:4;s:14:"node_type_load";}', 'to_arg_functions' => '', 'access_callback' => '_field_ui_view_mode_menu_access', - 'access_arguments' => 'a:5:{i:0;s:4:"node";i:1;i:4;i:2;s:6:"teaser";i:3;s:11:"user_access";i:4;s:24:"administer content types";}', + 'access_arguments' => 'a:6:{i:0;s:4:"node";i:1;i:4;i:2;s:6:"teaser";i:3;s:21:"field_ui_admin_access";i:4;s:11:"user_access";i:5;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:4:{i:0;s:30:"field_ui_display_overview_form";i:1;s:4:"node";i:2;i:4;i:3;s:6:"teaser";}', 'delivery_callback' => '', @@ -42633,8 +46501,8 @@ 'path' => 'admin/structure/types/manage/%/fields', 'load_functions' => 'a:1:{i:4;s:14:"node_type_load";}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:24:"administer content types";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:3:{i:0;s:28:"field_ui_field_overview_form";i:1;s:4:"node";i:2;i:4;}', 'delivery_callback' => '', @@ -42658,8 +46526,8 @@ 'path' => 'admin/structure/types/manage/%/fields/%', 'load_functions' => 'a:2:{i:4;a:1:{s:14:"node_type_load";a:4:{i:0;s:4:"node";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}i:6;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:4:"node";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:24:"administer content types";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:24:"field_ui_field_edit_form";i:1;i:6;}', 'delivery_callback' => '', @@ -42683,8 +46551,8 @@ 'path' => 'admin/structure/types/manage/%/fields/%/delete', 'load_functions' => 'a:2:{i:4;a:1:{s:14:"node_type_load";a:4:{i:0;s:4:"node";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}i:6;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:4:"node";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:24:"administer content types";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:26:"field_ui_field_delete_form";i:1;i:6;}', 'delivery_callback' => '', @@ -42708,8 +46576,8 @@ 'path' => 'admin/structure/types/manage/%/fields/%/edit', 'load_functions' => 'a:2:{i:4;a:1:{s:14:"node_type_load";a:4:{i:0;s:4:"node";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}i:6;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:4:"node";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:24:"administer content types";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:24:"field_ui_field_edit_form";i:1;i:6;}', 'delivery_callback' => '', @@ -42733,8 +46601,8 @@ 'path' => 'admin/structure/types/manage/%/fields/%/field-settings', 'load_functions' => 'a:2:{i:4;a:1:{s:14:"node_type_load";a:4:{i:0;s:4:"node";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}i:6;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:4:"node";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}}', 'to_arg_functions' => '', - 'access_callback' => 'user_access', - 'access_arguments' => 'a:1:{i:0;s:24:"administer content types";}', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:28:"field_ui_field_settings_form";i:1;i:6;}', 'delivery_callback' => '', @@ -42755,11 +46623,61 @@ 'include_file' => 'modules/field_ui/field_ui.admin.inc', )) ->values(array( - 'path' => 'admin/structure/types/manage/%/fields/%/widget-type', + 'path' => 'admin/structure/types/manage/%/fields/%/translate', 'load_functions' => 'a:2:{i:4;a:1:{s:14:"node_type_load";a:4:{i:0;s:4:"node";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}i:6;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:4:"node";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}}', 'to_arg_functions' => '', 'access_callback' => 'user_access', 'access_arguments' => 'a:1:{i:0;s:24:"administer content types";}', + 'page_callback' => 'i18n_field_page_translate', + 'page_arguments' => 'a:1:{i:0;i:6;}', + 'delivery_callback' => '', + 'fit' => '245', + 'number_parts' => '8', + 'context' => '1', + 'tab_parent' => 'admin/structure/types/manage/%/fields/%', + 'tab_root' => 'admin/structure/types/manage/%/fields/%', + 'title' => 'Translate', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '132', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n_field/i18n_field.pages.inc', +)) +->values(array( + 'path' => 'admin/structure/types/manage/%/fields/%/translate/%', + 'load_functions' => 'a:3:{i:4;a:1:{s:14:"node_type_load";a:4:{i:0;s:4:"node";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}i:6;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:4:"node";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}i:8;a:1:{s:18:"i18n_language_load";a:4:{i:0;s:4:"node";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}}', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:24:"administer content types";}', + 'page_callback' => 'i18n_field_page_translate', + 'page_arguments' => 'a:2:{i:0;i:6;i:1;i:8;}', + 'delivery_callback' => '', + 'fit' => '490', + 'number_parts' => '9', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/structure/types/manage/%/fields/%/translate/%', + 'title' => 'Instance', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '0', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n_field/i18n_field.pages.inc', +)) +->values(array( + 'path' => 'admin/structure/types/manage/%/fields/%/widget-type', + 'load_functions' => 'a:2:{i:4;a:1:{s:14:"node_type_load";a:4:{i:0;s:4:"node";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}i:6;a:1:{s:18:"field_ui_menu_load";a:4:{i:0;s:4:"node";i:1;i:4;i:2;s:1:"4";i:3;s:4:"%map";}}}', + 'to_arg_functions' => '', + 'access_callback' => 'field_ui_admin_access', + 'access_arguments' => 'a:2:{i:0;s:11:"user_access";i:1;a:1:{i:0;s:24:"administer content types";}}', 'page_callback' => 'drupal_get_form', 'page_arguments' => 'a:2:{i:0;s:25:"field_ui_widget_type_form";i:1;i:6;}', 'delivery_callback' => '', @@ -42779,6 +46697,31 @@ 'weight' => '0', 'include_file' => 'modules/field_ui/field_ui.admin.inc', )) +->values(array( + 'path' => 'admin/structure/types/manage/%/fields/replace/%', + 'load_functions' => 'a:2:{i:4;a:1:{s:14:"node_type_load";a:0:{}}i:7;N;}', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:24:"administer content types";}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:4:{i:0;s:28:"title_field_replacement_form";i:1;s:4:"node";i:2;i:4;i:3;i:7;}', + 'delivery_callback' => '', + 'fit' => '246', + 'number_parts' => '8', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'admin/structure/types/manage/%/fields/replace/%', + 'title' => 'Replace fields', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '6', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/title/title.admin.inc', +)) ->values(array( 'path' => 'admin/tasks', 'load_functions' => '', @@ -43408,10 +47351,10 @@ 'path' => 'comment/%/edit', 'load_functions' => 'a:1:{i:1;s:12:"comment_load";}', 'to_arg_functions' => '', - 'access_callback' => 'comment_access', - 'access_arguments' => 'a:2:{i:0;s:4:"edit";i:1;i:1;}', - 'page_callback' => 'comment_edit_page', - 'page_arguments' => 'a:1:{i:0;i:1;}', + 'access_callback' => 'entity_translation_edit_access', + 'access_arguments' => 'a:6:{i:0;s:7:"comment";i:1;i:1;i:2;b:0;i:3;a:8:{s:5:"title";s:4:"Edit";s:13:"page callback";s:17:"comment_edit_page";s:14:"page arguments";a:1:{i:0;i:1;}s:15:"access callback";s:14:"comment_access";s:16:"access arguments";a:2:{i:0;s:4:"edit";i:1;i:1;}s:4:"type";i:132;s:6:"weight";i:0;s:6:"module";s:7:"comment";}i:4;s:4:"edit";i:5;i:1;}', + 'page_callback' => 'entity_translation_edit_page', + 'page_arguments' => 'a:5:{i:0;s:7:"comment";i:1;i:1;i:2;b:0;i:3;a:8:{s:5:"title";s:4:"Edit";s:13:"page callback";s:17:"comment_edit_page";s:14:"page arguments";a:1:{i:0;i:1;}s:15:"access callback";s:14:"comment_access";s:16:"access arguments";a:2:{i:0;s:4:"edit";i:1;i:1;}s:4:"type";i:132;s:6:"weight";i:0;s:6:"module";s:7:"comment";}i:4;i:1;}', 'delivery_callback' => '', 'fit' => '5', 'number_parts' => '3', @@ -43429,6 +47372,106 @@ 'weight' => '0', 'include_file' => '', )) +->values(array( + 'path' => 'comment/%/edit/%', + 'load_functions' => 'a:2:{i:1;s:12:"comment_load";i:3;s:32:"entity_translation_language_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'entity_translation_edit_access', + 'access_arguments' => 'a:6:{i:0;s:7:"comment";i:1;i:1;i:2;i:3;i:3;a:8:{s:5:"title";s:4:"Edit";s:13:"page callback";s:17:"comment_edit_page";s:14:"page arguments";a:1:{i:0;i:1;}s:15:"access callback";s:14:"comment_access";s:16:"access arguments";a:2:{i:0;s:4:"edit";i:1;i:1;}s:4:"type";i:132;s:6:"weight";i:0;s:6:"module";s:7:"comment";}i:4;s:4:"edit";i:5;i:1;}', + 'page_callback' => 'entity_translation_edit_page', + 'page_arguments' => 'a:5:{i:0;s:7:"comment";i:1;i:1;i:2;i:3;i:3;a:8:{s:5:"title";s:4:"Edit";s:13:"page callback";s:17:"comment_edit_page";s:14:"page arguments";a:1:{i:0;i:1;}s:15:"access callback";s:14:"comment_access";s:16:"access arguments";a:2:{i:0;s:4:"edit";i:1;i:1;}s:4:"type";i:132;s:6:"weight";i:0;s:6:"module";s:7:"comment";}i:4;i:1;}', + 'delivery_callback' => '', + 'fit' => '10', + 'number_parts' => '4', + 'context' => '1', + 'tab_parent' => 'comment/%/edit', + 'tab_root' => 'comment/%', + 'title' => 'Edit', + 'title_callback' => 'entity_translation_edit_title', + 'title_arguments' => 'a:1:{i:0;i:3;}', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '140', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => '', +)) +->values(array( + 'path' => 'comment/%/edit/add/%/%', + 'load_functions' => 'a:3:{i:1;s:12:"comment_load";i:4;s:32:"entity_translation_language_load";i:5;s:32:"entity_translation_language_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'entity_translation_add_access', + 'access_arguments' => 'a:7:{i:0;s:7:"comment";i:1;i:1;i:2;i:4;i:3;i:5;i:4;a:8:{s:5:"title";s:4:"Edit";s:13:"page callback";s:17:"comment_edit_page";s:14:"page arguments";a:1:{i:0;i:1;}s:15:"access callback";s:14:"comment_access";s:16:"access arguments";a:2:{i:0;s:4:"edit";i:1;i:1;}s:4:"type";i:132;s:6:"weight";i:0;s:6:"module";s:7:"comment";}i:5;s:4:"edit";i:6;i:1;}', + 'page_callback' => 'entity_translation_add_page', + 'page_arguments' => 'a:6:{i:0;s:7:"comment";i:1;i:1;i:2;i:4;i:3;i:5;i:4;a:8:{s:5:"title";s:4:"Edit";s:13:"page callback";s:17:"comment_edit_page";s:14:"page arguments";a:1:{i:0;i:1;}s:15:"access callback";s:14:"comment_access";s:16:"access arguments";a:2:{i:0;s:4:"edit";i:1;i:1;}s:4:"type";i:132;s:6:"weight";i:0;s:6:"module";s:7:"comment";}i:5;i:1;}', + 'delivery_callback' => '', + 'fit' => '44', + 'number_parts' => '6', + 'context' => '1', + 'tab_parent' => 'comment/%/edit', + 'tab_root' => 'comment/%', + 'title' => 'Edit', + 'title_callback' => 'Add translation', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '132', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => '', +)) +->values(array( + 'path' => 'comment/%/translate', + 'load_functions' => 'a:1:{i:1;s:12:"comment_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'entity_translation_tab_access', + 'access_arguments' => 'a:2:{i:0;s:7:"comment";i:1;i:1;}', + 'page_callback' => 'entity_translation_overview', + 'page_arguments' => 'a:2:{i:0;s:7:"comment";i:1;i:1;}', + 'delivery_callback' => '', + 'fit' => '5', + 'number_parts' => '3', + 'context' => '3', + 'tab_parent' => 'comment/%', + 'tab_root' => 'comment/%', + 'title' => 'Translate', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '132', + 'description' => '', + 'position' => '', + 'weight' => '1', + 'include_file' => 'sites/all/modules/entity_translation/entity_translation.admin.inc', +)) +->values(array( + 'path' => 'comment/%/translate/delete/%', + 'load_functions' => 'a:2:{i:1;s:12:"comment_load";i:4;s:32:"entity_translation_language_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'entity_translation_tab_access', + 'access_arguments' => 'a:2:{i:0;s:7:"comment";i:1;i:1;}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:4:{i:0;s:33:"entity_translation_delete_confirm";i:1;s:7:"comment";i:2;i:1;i:3;i:4;}', + 'delivery_callback' => '', + 'fit' => '22', + 'number_parts' => '5', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'comment/%/translate/delete/%', + 'title' => 'Delete', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '6', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/entity_translation/entity_translation.admin.inc', +)) ->values(array( 'path' => 'comment/%/view', 'load_functions' => 'a:1:{i:1;N;}', @@ -43754,6 +47797,31 @@ 'weight' => '0', 'include_file' => '', )) +->values(array( + 'path' => 'entity_translation/taxonomy_term/autocomplete', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:14:"access content";}', + 'page_callback' => 'entity_translation_taxonomy_term_autocomplete', + 'page_arguments' => 'a:0:{}', + 'delivery_callback' => '', + 'fit' => '7', + 'number_parts' => '3', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'entity_translation/taxonomy_term/autocomplete', + 'title' => 'Entity translation autocomplete', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '0', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => '', +)) ->values(array( 'path' => 'file/ajax', 'load_functions' => '', @@ -43904,6 +47972,81 @@ 'weight' => '0', 'include_file' => 'modules/forum/forum.pages.inc', )) +->values(array( + 'path' => 'i18n/taxonomy/autocomplete/language/%', + 'load_functions' => 'a:1:{i:4;N;}', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:14:"access content";}', + 'page_callback' => 'i18n_taxonomy_autocomplete_language', + 'page_arguments' => 'a:2:{i:0;i:4;i:1;N;}', + 'delivery_callback' => '', + 'fit' => '30', + 'number_parts' => '5', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'i18n/taxonomy/autocomplete/language/%', + 'title' => 'Autocomplete taxonomy', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '0', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.pages.inc', +)) +->values(array( + 'path' => 'i18n/taxonomy/autocomplete/vocabulary/%/%', + 'load_functions' => 'a:2:{i:4;s:37:"taxonomy_vocabulary_machine_name_load";i:5;N;}', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:14:"access content";}', + 'page_callback' => 'i18n_taxonomy_autocomplete_language', + 'page_arguments' => 'a:2:{i:0;i:5;i:1;i:4;}', + 'delivery_callback' => '', + 'fit' => '60', + 'number_parts' => '6', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'i18n/taxonomy/autocomplete/vocabulary/%/%', + 'title' => 'Autocomplete taxonomy', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '0', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.pages.inc', +)) +->values(array( + 'path' => 'i18n_string/save', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'user_access', + 'access_arguments' => 'a:1:{i:0;s:23:"use on-page translation";}', + 'page_callback' => 'i18n_string_l10n_client_save_string', + 'page_arguments' => 'a:0:{}', + 'delivery_callback' => '', + 'fit' => '3', + 'number_parts' => '2', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'i18n_string/save', + 'title' => 'Save string', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '0', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n_string/i18n_string.pages.inc', +)) ->values(array( 'path' => 'node', 'load_functions' => '', @@ -43983,10 +48126,10 @@ 'path' => 'node/%/edit', 'load_functions' => 'a:1:{i:1;s:9:"node_load";}', 'to_arg_functions' => '', - 'access_callback' => 'node_access', - 'access_arguments' => 'a:2:{i:0;s:6:"update";i:1;i:1;}', - 'page_callback' => 'node_page_edit', - 'page_arguments' => 'a:1:{i:0;i:1;}', + 'access_callback' => 'entity_translation_edit_access', + 'access_arguments' => 'a:6:{i:0;s:4:"node";i:1;i:1;i:2;b:0;i:3;a:10:{s:5:"title";s:4:"Edit";s:13:"page callback";s:14:"node_page_edit";s:14:"page arguments";a:1:{i:0;i:1;}s:15:"access callback";s:11:"node_access";s:16:"access arguments";a:2:{i:0;s:6:"update";i:1;i:1;}s:6:"weight";i:0;s:4:"type";i:132;s:7:"context";i:3;s:4:"file";s:14:"node.pages.inc";s:6:"module";s:4:"node";}i:4;s:6:"update";i:5;i:1;}', + 'page_callback' => 'entity_translation_edit_page', + 'page_arguments' => 'a:5:{i:0;s:4:"node";i:1;i:1;i:2;b:0;i:3;a:10:{s:5:"title";s:4:"Edit";s:13:"page callback";s:14:"node_page_edit";s:14:"page arguments";a:1:{i:0;i:1;}s:15:"access callback";s:11:"node_access";s:16:"access arguments";a:2:{i:0;s:6:"update";i:1;i:1;}s:6:"weight";i:0;s:4:"type";i:132;s:7:"context";i:3;s:4:"file";s:14:"node.pages.inc";s:6:"module";s:4:"node";}i:4;i:1;}', 'delivery_callback' => '', 'fit' => '5', 'number_parts' => '3', @@ -44004,6 +48147,56 @@ 'weight' => '0', 'include_file' => 'modules/node/node.pages.inc', )) +->values(array( + 'path' => 'node/%/edit/%', + 'load_functions' => 'a:2:{i:1;s:9:"node_load";i:3;s:32:"entity_translation_language_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'entity_translation_edit_access', + 'access_arguments' => 'a:6:{i:0;s:4:"node";i:1;i:1;i:2;i:3;i:3;a:10:{s:5:"title";s:4:"Edit";s:13:"page callback";s:14:"node_page_edit";s:14:"page arguments";a:1:{i:0;i:1;}s:15:"access callback";s:11:"node_access";s:16:"access arguments";a:2:{i:0;s:6:"update";i:1;i:1;}s:6:"weight";i:0;s:4:"type";i:132;s:7:"context";i:3;s:4:"file";s:14:"node.pages.inc";s:6:"module";s:4:"node";}i:4;s:6:"update";i:5;i:1;}', + 'page_callback' => 'entity_translation_edit_page', + 'page_arguments' => 'a:5:{i:0;s:4:"node";i:1;i:1;i:2;i:3;i:3;a:10:{s:5:"title";s:4:"Edit";s:13:"page callback";s:14:"node_page_edit";s:14:"page arguments";a:1:{i:0;i:1;}s:15:"access callback";s:11:"node_access";s:16:"access arguments";a:2:{i:0;s:6:"update";i:1;i:1;}s:6:"weight";i:0;s:4:"type";i:132;s:7:"context";i:3;s:4:"file";s:14:"node.pages.inc";s:6:"module";s:4:"node";}i:4;i:1;}', + 'delivery_callback' => '', + 'fit' => '10', + 'number_parts' => '4', + 'context' => '3', + 'tab_parent' => 'node/%/edit', + 'tab_root' => 'node/%', + 'title' => 'Edit', + 'title_callback' => 'entity_translation_edit_title', + 'title_arguments' => 'a:1:{i:0;i:3;}', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '140', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'modules/node/node.pages.inc', +)) +->values(array( + 'path' => 'node/%/edit/add/%/%', + 'load_functions' => 'a:3:{i:1;s:9:"node_load";i:4;s:32:"entity_translation_language_load";i:5;s:32:"entity_translation_language_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'entity_translation_add_access', + 'access_arguments' => 'a:7:{i:0;s:4:"node";i:1;i:1;i:2;i:4;i:3;i:5;i:4;a:10:{s:5:"title";s:4:"Edit";s:13:"page callback";s:14:"node_page_edit";s:14:"page arguments";a:1:{i:0;i:1;}s:15:"access callback";s:11:"node_access";s:16:"access arguments";a:2:{i:0;s:6:"update";i:1;i:1;}s:6:"weight";i:0;s:4:"type";i:132;s:7:"context";i:3;s:4:"file";s:14:"node.pages.inc";s:6:"module";s:4:"node";}i:5;s:6:"update";i:6;i:1;}', + 'page_callback' => 'entity_translation_add_page', + 'page_arguments' => 'a:6:{i:0;s:4:"node";i:1;i:1;i:2;i:4;i:3;i:5;i:4;a:10:{s:5:"title";s:4:"Edit";s:13:"page callback";s:14:"node_page_edit";s:14:"page arguments";a:1:{i:0;i:1;}s:15:"access callback";s:11:"node_access";s:16:"access arguments";a:2:{i:0;s:6:"update";i:1;i:1;}s:6:"weight";i:0;s:4:"type";i:132;s:7:"context";i:3;s:4:"file";s:14:"node.pages.inc";s:6:"module";s:4:"node";}i:5;i:1;}', + 'delivery_callback' => '', + 'fit' => '44', + 'number_parts' => '6', + 'context' => '3', + 'tab_parent' => 'node/%/edit', + 'tab_root' => 'node/%', + 'title' => 'Edit', + 'title_callback' => 'Add translation', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '132', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'modules/node/node.pages.inc', +)) ->values(array( 'path' => 'node/%/outline', 'load_functions' => 'a:1:{i:1;s:9:"node_load";}', @@ -44183,14 +48376,14 @@ 'path' => 'node/%/translate', 'load_functions' => 'a:1:{i:1;s:9:"node_load";}', 'to_arg_functions' => '', - 'access_callback' => '_translation_tab_access', - 'access_arguments' => 'a:1:{i:0;i:1;}', - 'page_callback' => 'translation_node_overview', - 'page_arguments' => 'a:1:{i:0;i:1;}', + 'access_callback' => 'entity_translation_node_tab_access', + 'access_arguments' => 'a:3:{i:0;i:1;i:1;s:23:"_translation_tab_access";i:2;i:1;}', + 'page_callback' => 'entity_translation_overview', + 'page_arguments' => 'a:4:{i:0;s:4:"node";i:1;i:1;i:2;a:3:{s:13:"page callback";s:25:"translation_node_overview";s:4:"file";s:21:"translation.pages.inc";s:6:"module";s:11:"translation";}i:3;i:1;}', 'delivery_callback' => '', 'fit' => '5', 'number_parts' => '3', - 'context' => '1', + 'context' => '3', 'tab_parent' => 'node/%', 'tab_root' => 'node/%', 'title' => 'Translate', @@ -44201,8 +48394,33 @@ 'type' => '132', 'description' => '', 'position' => '', - 'weight' => '2', - 'include_file' => 'modules/translation/translation.pages.inc', + 'weight' => '1', + 'include_file' => 'sites/all/modules/entity_translation/entity_translation.admin.inc', +)) +->values(array( + 'path' => 'node/%/translate/delete/%', + 'load_functions' => 'a:2:{i:1;s:9:"node_load";i:4;s:32:"entity_translation_language_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'entity_translation_node_tab_access', + 'access_arguments' => 'a:1:{i:0;i:1;}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:4:{i:0;s:33:"entity_translation_delete_confirm";i:1;s:4:"node";i:2;i:1;i:3;i:4;}', + 'delivery_callback' => '', + 'fit' => '22', + 'number_parts' => '5', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'node/%/translate/delete/%', + 'title' => 'Delete', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '6', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/entity_translation/entity_translation.admin.inc', )) ->values(array( 'path' => 'node/%/view', @@ -44254,6 +48472,31 @@ 'weight' => '0', 'include_file' => 'modules/node/node.pages.inc', )) +->values(array( + 'path' => 'node/add/a-thirty-two-character-type-name', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'node_access', + 'access_arguments' => 'a:2:{i:0;s:6:"create";i:1;s:32:"a_thirty_two_character_type_name";}', + 'page_callback' => 'node_add', + 'page_arguments' => 'a:1:{i:0;s:32:"a_thirty_two_character_type_name";}', + 'delivery_callback' => '', + 'fit' => '7', + 'number_parts' => '3', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'node/add/a-thirty-two-character-type-name', + 'title' => 'Test long name', + 'title_callback' => 'check_plain', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '6', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'modules/node/node.pages.inc', +)) ->values(array( 'path' => 'node/add/article', 'load_functions' => '', @@ -44329,6 +48572,31 @@ 'weight' => '0', 'include_file' => 'modules/node/node.pages.inc', )) +->values(array( + 'path' => 'node/add/et', + 'load_functions' => '', + 'to_arg_functions' => '', + 'access_callback' => 'node_access', + 'access_arguments' => 'a:2:{i:0;s:6:"create";i:1;s:2:"et";}', + 'page_callback' => 'node_add', + 'page_arguments' => 'a:1:{i:0;s:2:"et";}', + 'delivery_callback' => '', + 'fit' => '7', + 'number_parts' => '3', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'node/add/et', + 'title' => 'Entity translation test', + 'title_callback' => 'check_plain', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '6', + 'description' => 'Entity translation test', + 'position' => '', + 'weight' => '0', + 'include_file' => 'modules/node/node.pages.inc', +)) ->values(array( 'path' => 'node/add/forum', 'load_functions' => '', @@ -44529,56 +48797,6 @@ 'weight' => '0', 'include_file' => 'modules/search/search.pages.inc', )) -->values(array( - 'path' => 'search/user', - 'load_functions' => '', - 'to_arg_functions' => '', - 'access_callback' => '_search_menu_access', - 'access_arguments' => 'a:1:{i:0;s:4:"user";}', - 'page_callback' => 'search_view', - 'page_arguments' => 'a:2:{i:0;s:4:"user";i:1;s:0:"";}', - 'delivery_callback' => '', - 'fit' => '3', - 'number_parts' => '2', - 'context' => '1', - 'tab_parent' => 'search', - 'tab_root' => 'search', - 'title' => 'Users', - 'title_callback' => 't', - 'title_arguments' => '', - 'theme_callback' => '', - 'theme_arguments' => 'a:0:{}', - 'type' => '132', - 'description' => '', - 'position' => '', - 'weight' => '0', - 'include_file' => 'modules/search/search.pages.inc', -)) -->values(array( - 'path' => 'search/user/%', - 'load_functions' => 'a:1:{i:2;a:1:{s:14:"menu_tail_load";a:2:{i:0;s:4:"%map";i:1;s:6:"%index";}}}', - 'to_arg_functions' => 'a:1:{i:2;s:16:"menu_tail_to_arg";}', - 'access_callback' => '_search_menu_access', - 'access_arguments' => 'a:1:{i:0;s:4:"user";}', - 'page_callback' => 'search_view', - 'page_arguments' => 'a:2:{i:0;s:4:"user";i:1;i:2;}', - 'delivery_callback' => '', - 'fit' => '6', - 'number_parts' => '3', - 'context' => '1', - 'tab_parent' => 'search/node', - 'tab_root' => 'search/node/%', - 'title' => 'Users', - 'title_callback' => 't', - 'title_arguments' => '', - 'theme_callback' => '', - 'theme_arguments' => 'a:0:{}', - 'type' => '132', - 'description' => '', - 'position' => '', - 'weight' => '0', - 'include_file' => 'modules/search/search.pages.inc', -)) ->values(array( 'path' => 'sites/default/files/styles/%', 'load_functions' => 'a:1:{i:4;s:16:"image_style_load";}', @@ -44735,7 +48953,7 @@ 'to_arg_functions' => '', 'access_callback' => 'user_access', 'access_arguments' => 'a:1:{i:0;s:14:"access content";}', - 'page_callback' => 'taxonomy_autocomplete', + 'page_callback' => 'i18n_taxonomy_autocomplete_field', 'page_arguments' => 'a:0:{}', 'delivery_callback' => '', 'fit' => '3', @@ -44752,7 +48970,7 @@ 'description' => '', 'position' => '', 'weight' => '0', - 'include_file' => 'modules/taxonomy/taxonomy.pages.inc', + 'include_file' => 'sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.pages.inc', )) ->values(array( 'path' => 'taxonomy/term/%', @@ -44760,7 +48978,7 @@ 'to_arg_functions' => '', 'access_callback' => 'user_access', 'access_arguments' => 'a:1:{i:0;s:14:"access content";}', - 'page_callback' => 'taxonomy_term_page', + 'page_callback' => 'i18n_taxonomy_term_page', 'page_arguments' => 'a:1:{i:0;i:2;}', 'delivery_callback' => '', 'fit' => '6', @@ -44769,7 +48987,7 @@ 'tab_parent' => '', 'tab_root' => 'taxonomy/term/%', 'title' => 'Taxonomy term', - 'title_callback' => 'taxonomy_term_title', + 'title_callback' => 'i18n_taxonomy_term_name', 'title_arguments' => 'a:1:{i:0;i:2;}', 'theme_callback' => '', 'theme_arguments' => 'a:0:{}', @@ -44777,16 +48995,16 @@ 'description' => '', 'position' => '', 'weight' => '0', - 'include_file' => 'modules/taxonomy/taxonomy.pages.inc', + 'include_file' => 'sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.pages.inc', )) ->values(array( 'path' => 'taxonomy/term/%/edit', 'load_functions' => 'a:1:{i:2;s:18:"taxonomy_term_load";}', 'to_arg_functions' => '', - 'access_callback' => 'taxonomy_term_edit_access', - 'access_arguments' => 'a:1:{i:0;i:2;}', - 'page_callback' => 'drupal_get_form', - 'page_arguments' => 'a:3:{i:0;s:18:"taxonomy_form_term";i:1;i:2;i:2;N;}', + 'access_callback' => 'entity_translation_edit_access', + 'access_arguments' => 'a:5:{i:0;s:13:"taxonomy_term";i:1;i:2;i:2;b:0;i:3;a:9:{s:5:"title";s:4:"Edit";s:13:"page callback";s:15:"drupal_get_form";s:14:"page arguments";a:3:{i:0;s:18:"taxonomy_form_term";i:1;i:2;i:2;N;}s:15:"access callback";s:25:"taxonomy_term_edit_access";s:16:"access arguments";a:1:{i:0;i:2;}s:4:"type";i:132;s:6:"weight";i:10;s:4:"file";s:18:"taxonomy.admin.inc";s:6:"module";s:8:"taxonomy";}i:4;i:2;}', + 'page_callback' => 'entity_translation_edit_page', + 'page_arguments' => 'a:7:{i:0;s:13:"taxonomy_term";i:1;i:2;i:2;b:0;i:3;a:9:{s:5:"title";s:4:"Edit";s:13:"page callback";s:15:"drupal_get_form";s:14:"page arguments";a:3:{i:0;s:18:"taxonomy_form_term";i:1;i:2;i:2;N;}s:15:"access callback";s:25:"taxonomy_term_edit_access";s:16:"access arguments";a:1:{i:0;i:2;}s:4:"type";i:132;s:6:"weight";i:10;s:4:"file";s:18:"taxonomy.admin.inc";s:6:"module";s:8:"taxonomy";}i:4;s:18:"taxonomy_form_term";i:5;i:2;i:6;N;}', 'delivery_callback' => '', 'fit' => '13', 'number_parts' => '4', @@ -44804,6 +49022,56 @@ 'weight' => '10', 'include_file' => 'modules/taxonomy/taxonomy.admin.inc', )) +->values(array( + 'path' => 'taxonomy/term/%/edit/%', + 'load_functions' => 'a:2:{i:2;s:18:"taxonomy_term_load";i:4;s:32:"entity_translation_language_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'entity_translation_edit_access', + 'access_arguments' => 'a:5:{i:0;s:13:"taxonomy_term";i:1;i:2;i:2;i:4;i:3;a:9:{s:5:"title";s:4:"Edit";s:13:"page callback";s:15:"drupal_get_form";s:14:"page arguments";a:3:{i:0;s:18:"taxonomy_form_term";i:1;i:2;i:2;N;}s:15:"access callback";s:25:"taxonomy_term_edit_access";s:16:"access arguments";a:1:{i:0;i:2;}s:4:"type";i:132;s:6:"weight";i:10;s:4:"file";s:18:"taxonomy.admin.inc";s:6:"module";s:8:"taxonomy";}i:4;i:2;}', + 'page_callback' => 'entity_translation_edit_page', + 'page_arguments' => 'a:7:{i:0;s:13:"taxonomy_term";i:1;i:2;i:2;i:4;i:3;a:9:{s:5:"title";s:4:"Edit";s:13:"page callback";s:15:"drupal_get_form";s:14:"page arguments";a:3:{i:0;s:18:"taxonomy_form_term";i:1;i:2;i:2;N;}s:15:"access callback";s:25:"taxonomy_term_edit_access";s:16:"access arguments";a:1:{i:0;i:2;}s:4:"type";i:132;s:6:"weight";i:10;s:4:"file";s:18:"taxonomy.admin.inc";s:6:"module";s:8:"taxonomy";}i:4;s:18:"taxonomy_form_term";i:5;i:2;i:6;N;}', + 'delivery_callback' => '', + 'fit' => '26', + 'number_parts' => '5', + 'context' => '1', + 'tab_parent' => 'taxonomy/term/%/edit', + 'tab_root' => 'taxonomy/term/%', + 'title' => 'Edit', + 'title_callback' => 'entity_translation_edit_title', + 'title_arguments' => 'a:1:{i:0;i:4;}', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '140', + 'description' => '', + 'position' => '', + 'weight' => '10', + 'include_file' => 'modules/taxonomy/taxonomy.admin.inc', +)) +->values(array( + 'path' => 'taxonomy/term/%/edit/add/%/%', + 'load_functions' => 'a:3:{i:2;s:18:"taxonomy_term_load";i:5;s:32:"entity_translation_language_load";i:6;s:32:"entity_translation_language_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'entity_translation_add_access', + 'access_arguments' => 'a:6:{i:0;s:13:"taxonomy_term";i:1;i:2;i:2;i:5;i:3;i:6;i:4;a:9:{s:5:"title";s:4:"Edit";s:13:"page callback";s:15:"drupal_get_form";s:14:"page arguments";a:3:{i:0;s:18:"taxonomy_form_term";i:1;i:2;i:2;N;}s:15:"access callback";s:25:"taxonomy_term_edit_access";s:16:"access arguments";a:1:{i:0;i:2;}s:4:"type";i:132;s:6:"weight";i:10;s:4:"file";s:18:"taxonomy.admin.inc";s:6:"module";s:8:"taxonomy";}i:5;i:2;}', + 'page_callback' => 'entity_translation_add_page', + 'page_arguments' => 'a:8:{i:0;s:13:"taxonomy_term";i:1;i:2;i:2;i:5;i:3;i:6;i:4;a:9:{s:5:"title";s:4:"Edit";s:13:"page callback";s:15:"drupal_get_form";s:14:"page arguments";a:3:{i:0;s:18:"taxonomy_form_term";i:1;i:2;i:2;N;}s:15:"access callback";s:25:"taxonomy_term_edit_access";s:16:"access arguments";a:1:{i:0;i:2;}s:4:"type";i:132;s:6:"weight";i:10;s:4:"file";s:18:"taxonomy.admin.inc";s:6:"module";s:8:"taxonomy";}i:5;s:18:"taxonomy_form_term";i:6;i:2;i:7;N;}', + 'delivery_callback' => '', + 'fit' => '108', + 'number_parts' => '7', + 'context' => '1', + 'tab_parent' => 'taxonomy/term/%/edit', + 'tab_root' => 'taxonomy/term/%', + 'title' => 'Edit', + 'title_callback' => 'Add translation', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '132', + 'description' => '', + 'position' => '', + 'weight' => '10', + 'include_file' => 'modules/taxonomy/taxonomy.admin.inc', +)) ->values(array( 'path' => 'taxonomy/term/%/feed', 'load_functions' => 'a:1:{i:2;s:18:"taxonomy_term_load";}', @@ -44829,13 +49097,88 @@ 'weight' => '0', 'include_file' => 'modules/taxonomy/taxonomy.pages.inc', )) +->values(array( + 'path' => 'taxonomy/term/%/translate', + 'load_functions' => 'a:1:{i:2;s:18:"taxonomy_term_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'entity_translation_taxonomy_term_tab_access', + 'access_arguments' => 'a:4:{i:0;i:2;i:1;s:28:"i18n_object_translate_access";i:2;s:13:"taxonomy_term";i:3;i:2;}', + 'page_callback' => 'entity_translation_overview', + 'page_arguments' => 'a:5:{i:0;s:13:"taxonomy_term";i:1;i:2;i:2;a:3:{s:13:"page callback";s:23:"i18n_page_translate_tab";s:4:"file";s:14:"i18n.pages.inc";s:6:"module";s:4:"i18n";}i:3;s:13:"taxonomy_term";i:4;i:2;}', + 'delivery_callback' => '', + 'fit' => '13', + 'number_parts' => '4', + 'context' => '3', + 'tab_parent' => 'taxonomy/term/%', + 'tab_root' => 'taxonomy/term/%', + 'title' => 'Translate', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '132', + 'description' => '', + 'position' => '', + 'weight' => '11', + 'include_file' => 'sites/all/modules/entity_translation/entity_translation.admin.inc', +)) +->values(array( + 'path' => 'taxonomy/term/%/translate/%', + 'load_functions' => 'a:2:{i:2;s:18:"taxonomy_term_load";i:4;s:18:"i18n_language_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'i18n_object_translate_access', + 'access_arguments' => 'a:2:{i:0;s:13:"taxonomy_term";i:1;i:2;}', + 'page_callback' => 'i18n_page_translate_tab', + 'page_arguments' => 'a:3:{i:0;s:13:"taxonomy_term";i:1;i:2;i:2;i:4;}', + 'delivery_callback' => '', + 'fit' => '26', + 'number_parts' => '5', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'taxonomy/term/%/translate/%', + 'title' => 'Translate', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '0', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/i18n/i18n.pages.inc', +)) +->values(array( + 'path' => 'taxonomy/term/%/translate/delete/%', + 'load_functions' => 'a:2:{i:2;s:18:"taxonomy_term_load";i:5;s:32:"entity_translation_language_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'entity_translation_taxonomy_term_tab_access', + 'access_arguments' => 'a:4:{i:0;i:2;i:1;s:28:"i18n_object_translate_access";i:2;s:13:"taxonomy_term";i:3;i:2;}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:4:{i:0;s:33:"entity_translation_delete_confirm";i:1;s:13:"taxonomy_term";i:2;i:2;i:3;i:5;}', + 'delivery_callback' => '', + 'fit' => '54', + 'number_parts' => '6', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'taxonomy/term/%/translate/delete/%', + 'title' => 'Delete', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '6', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/entity_translation/entity_translation.admin.inc', +)) ->values(array( 'path' => 'taxonomy/term/%/view', 'load_functions' => 'a:1:{i:2;s:18:"taxonomy_term_load";}', 'to_arg_functions' => '', 'access_callback' => 'user_access', 'access_arguments' => 'a:1:{i:0;s:14:"access content";}', - 'page_callback' => 'taxonomy_term_page', + 'page_callback' => 'i18n_taxonomy_term_page', 'page_arguments' => 'a:1:{i:0;i:2;}', 'delivery_callback' => '', 'fit' => '13', @@ -44852,7 +49195,7 @@ 'description' => '', 'position' => '', 'weight' => '0', - 'include_file' => 'modules/taxonomy/taxonomy.pages.inc', + 'include_file' => 'sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.pages.inc', )) ->values(array( 'path' => 'toolbar/toggle', @@ -45083,10 +49426,10 @@ 'path' => 'user/%/edit', 'load_functions' => 'a:1:{i:1;s:9:"user_load";}', 'to_arg_functions' => '', - 'access_callback' => 'user_edit_access', - 'access_arguments' => 'a:1:{i:0;i:1;}', - 'page_callback' => 'drupal_get_form', - 'page_arguments' => 'a:2:{i:0;s:17:"user_profile_form";i:1;i:1;}', + 'access_callback' => 'entity_translation_edit_access', + 'access_arguments' => 'a:5:{i:0;s:4:"user";i:1;i:1;i:2;b:0;i:3;a:8:{s:5:"title";s:4:"Edit";s:13:"page callback";s:15:"drupal_get_form";s:14:"page arguments";a:2:{i:0;s:17:"user_profile_form";i:1;i:1;}s:15:"access callback";s:16:"user_edit_access";s:16:"access arguments";a:1:{i:0;i:1;}s:4:"type";i:132;s:4:"file";s:14:"user.pages.inc";s:6:"module";s:4:"user";}i:4;i:1;}', + 'page_callback' => 'entity_translation_edit_page', + 'page_arguments' => 'a:6:{i:0;s:4:"user";i:1;i:1;i:2;b:0;i:3;a:8:{s:5:"title";s:4:"Edit";s:13:"page callback";s:15:"drupal_get_form";s:14:"page arguments";a:2:{i:0;s:17:"user_profile_form";i:1;i:1;}s:15:"access callback";s:16:"user_edit_access";s:16:"access arguments";a:1:{i:0;i:1;}s:4:"type";i:132;s:4:"file";s:14:"user.pages.inc";s:6:"module";s:4:"user";}i:4;s:17:"user_profile_form";i:5;i:1;}', 'delivery_callback' => '', 'fit' => '5', 'number_parts' => '3', @@ -45104,14 +49447,39 @@ 'weight' => '0', 'include_file' => 'modules/user/user.pages.inc', )) +->values(array( + 'path' => 'user/%/edit/%', + 'load_functions' => 'a:2:{i:1;s:9:"user_load";i:3;s:32:"entity_translation_language_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'entity_translation_edit_access', + 'access_arguments' => 'a:5:{i:0;s:4:"user";i:1;i:1;i:2;i:3;i:3;a:8:{s:5:"title";s:4:"Edit";s:13:"page callback";s:15:"drupal_get_form";s:14:"page arguments";a:2:{i:0;s:17:"user_profile_form";i:1;i:1;}s:15:"access callback";s:16:"user_edit_access";s:16:"access arguments";a:1:{i:0;i:1;}s:4:"type";i:132;s:4:"file";s:14:"user.pages.inc";s:6:"module";s:4:"user";}i:4;i:1;}', + 'page_callback' => 'entity_translation_edit_page', + 'page_arguments' => 'a:6:{i:0;s:4:"user";i:1;i:1;i:2;i:3;i:3;a:8:{s:5:"title";s:4:"Edit";s:13:"page callback";s:15:"drupal_get_form";s:14:"page arguments";a:2:{i:0;s:17:"user_profile_form";i:1;i:1;}s:15:"access callback";s:16:"user_edit_access";s:16:"access arguments";a:1:{i:0;i:1;}s:4:"type";i:132;s:4:"file";s:14:"user.pages.inc";s:6:"module";s:4:"user";}i:4;s:17:"user_profile_form";i:5;i:1;}', + 'delivery_callback' => '', + 'fit' => '10', + 'number_parts' => '4', + 'context' => '1', + 'tab_parent' => 'user/%/edit', + 'tab_root' => 'user/%', + 'title' => 'Edit', + 'title_callback' => 'entity_translation_edit_title', + 'title_arguments' => 'a:1:{i:0;i:3;}', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '140', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'modules/user/user.pages.inc', +)) ->values(array( 'path' => 'user/%/edit/account', 'load_functions' => 'a:1:{i:1;a:1:{s:18:"user_category_load";a:2:{i:0;s:4:"%map";i:1;s:6:"%index";}}}', 'to_arg_functions' => '', - 'access_callback' => 'user_edit_access', - 'access_arguments' => 'a:1:{i:0;i:1;}', - 'page_callback' => 'drupal_get_form', - 'page_arguments' => 'a:2:{i:0;s:17:"user_profile_form";i:1;i:1;}', + 'access_callback' => 'entity_translation_edit_access', + 'access_arguments' => 'a:5:{i:0;s:4:"user";i:1;i:1;i:2;b:0;i:3;a:8:{s:5:"title";s:4:"Edit";s:13:"page callback";s:15:"drupal_get_form";s:14:"page arguments";a:2:{i:0;s:17:"user_profile_form";i:1;i:1;}s:15:"access callback";s:16:"user_edit_access";s:16:"access arguments";a:1:{i:0;i:1;}s:4:"type";i:132;s:4:"file";s:14:"user.pages.inc";s:6:"module";s:4:"user";}i:4;i:1;}', + 'page_callback' => 'entity_translation_edit_page', + 'page_arguments' => 'a:6:{i:0;s:4:"user";i:1;i:1;i:2;b:0;i:3;a:8:{s:5:"title";s:4:"Edit";s:13:"page callback";s:15:"drupal_get_form";s:14:"page arguments";a:2:{i:0;s:17:"user_profile_form";i:1;i:1;}s:15:"access callback";s:16:"user_edit_access";s:16:"access arguments";a:1:{i:0;i:1;}s:4:"type";i:132;s:4:"file";s:14:"user.pages.inc";s:6:"module";s:4:"user";}i:4;s:17:"user_profile_form";i:5;i:1;}', 'delivery_callback' => '', 'fit' => '11', 'number_parts' => '4', @@ -45129,6 +49497,31 @@ 'weight' => '0', 'include_file' => 'modules/user/user.pages.inc', )) +->values(array( + 'path' => 'user/%/edit/add/%/%', + 'load_functions' => 'a:3:{i:1;s:9:"user_load";i:4;s:32:"entity_translation_language_load";i:5;s:32:"entity_translation_language_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'entity_translation_add_access', + 'access_arguments' => 'a:6:{i:0;s:4:"user";i:1;i:1;i:2;i:4;i:3;i:5;i:4;a:8:{s:5:"title";s:4:"Edit";s:13:"page callback";s:15:"drupal_get_form";s:14:"page arguments";a:2:{i:0;s:17:"user_profile_form";i:1;i:1;}s:15:"access callback";s:16:"user_edit_access";s:16:"access arguments";a:1:{i:0;i:1;}s:4:"type";i:132;s:4:"file";s:14:"user.pages.inc";s:6:"module";s:4:"user";}i:5;i:1;}', + 'page_callback' => 'entity_translation_add_page', + 'page_arguments' => 'a:7:{i:0;s:4:"user";i:1;i:1;i:2;i:4;i:3;i:5;i:4;a:8:{s:5:"title";s:4:"Edit";s:13:"page callback";s:15:"drupal_get_form";s:14:"page arguments";a:2:{i:0;s:17:"user_profile_form";i:1;i:1;}s:15:"access callback";s:16:"user_edit_access";s:16:"access arguments";a:1:{i:0;i:1;}s:4:"type";i:132;s:4:"file";s:14:"user.pages.inc";s:6:"module";s:4:"user";}i:5;s:17:"user_profile_form";i:6;i:1;}', + 'delivery_callback' => '', + 'fit' => '44', + 'number_parts' => '6', + 'context' => '1', + 'tab_parent' => 'user/%/edit', + 'tab_root' => 'user/%', + 'title' => 'Edit', + 'title_callback' => 'Add translation', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '132', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'modules/user/user.pages.inc', +)) ->values(array( 'path' => 'user/%/shortcuts', 'load_functions' => 'a:1:{i:1;s:9:"user_load";}', @@ -45229,6 +49622,56 @@ 'weight' => '2', 'include_file' => 'modules/statistics/statistics.pages.inc', )) +->values(array( + 'path' => 'user/%/translate', + 'load_functions' => 'a:1:{i:1;s:9:"user_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'entity_translation_tab_access', + 'access_arguments' => 'a:2:{i:0;s:4:"user";i:1;i:1;}', + 'page_callback' => 'entity_translation_overview', + 'page_arguments' => 'a:2:{i:0;s:4:"user";i:1;i:1;}', + 'delivery_callback' => '', + 'fit' => '5', + 'number_parts' => '3', + 'context' => '3', + 'tab_parent' => 'user/%', + 'tab_root' => 'user/%', + 'title' => 'Translate', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '132', + 'description' => '', + 'position' => '', + 'weight' => '2', + 'include_file' => 'sites/all/modules/entity_translation/entity_translation.admin.inc', +)) +->values(array( + 'path' => 'user/%/translate/delete/%', + 'load_functions' => 'a:2:{i:1;s:9:"user_load";i:4;s:32:"entity_translation_language_load";}', + 'to_arg_functions' => '', + 'access_callback' => 'entity_translation_tab_access', + 'access_arguments' => 'a:2:{i:0;s:4:"user";i:1;i:1;}', + 'page_callback' => 'drupal_get_form', + 'page_arguments' => 'a:4:{i:0;s:33:"entity_translation_delete_confirm";i:1;s:4:"user";i:2;i:1;i:3;i:4;}', + 'delivery_callback' => '', + 'fit' => '22', + 'number_parts' => '5', + 'context' => '0', + 'tab_parent' => '', + 'tab_root' => 'user/%/translate/delete/%', + 'title' => 'Delete', + 'title_callback' => 't', + 'title_arguments' => '', + 'theme_callback' => '', + 'theme_arguments' => 'a:0:{}', + 'type' => '6', + 'description' => '', + 'position' => '', + 'weight' => '0', + 'include_file' => 'sites/all/modules/entity_translation/entity_translation.admin.inc', +)) ->values(array( 'path' => 'user/%/view', 'load_functions' => 'a:1:{i:1;s:9:"user_load";}', @@ -46406,6 +50849,21 @@ 'disabled' => '0', 'orig_type' => 'article', )) +->values(array( + 'type' => 'a_thirty_two_character_type_name', + 'name' => 'Test long name', + 'base' => 'node_content', + 'module' => 'node', + 'description' => '', + 'help' => '', + 'has_title' => '1', + 'title_label' => 'Title', + 'custom' => '1', + 'modified' => '1', + 'locked' => '0', + 'disabled' => '0', + 'orig_type' => 'page', +)) ->values(array( 'type' => 'blog', 'name' => 'Blog entry', @@ -46436,6 +50894,21 @@ 'disabled' => '0', 'orig_type' => 'book', )) +->values(array( + 'type' => 'et', + 'name' => 'Entity translation test', + 'base' => 'node_content', + 'module' => 'node', + 'description' => 'Entity translation test', + 'help' => 'Help text foret pages', + 'has_title' => '1', + 'title_label' => 'Title', + 'custom' => '1', + 'modified' => '1', + 'locked' => '0', + 'disabled' => '0', + 'orig_type' => 'et', +)) ->values(array( 'type' => 'forum', 'name' => 'Forum topic', @@ -46481,38 +50954,7 @@ 'disabled' => '0', 'orig_type' => 'test_content_type', )) -->values(array( - 'type' => 'et', - 'name' => 'Entity translation test', - 'base' => 'node_content', - 'module' => 'node', - 'description' => 'Entity translation test', - 'help' => 'Help text foret pages', - 'has_title' => '1', - 'title_label' => 'Title', - 'custom' => '1', - 'modified' => '1', - 'locked' => '0', - 'disabled' => '0', - 'orig_type' => 'et', -)) - ->values(array( - 'type' => 'a_thirty_two_character_type_name', - 'name' => 'Test long name', - 'base' => 'node_content', - 'module' => 'node', - 'description' => '', - 'help' => '', - 'has_title' => '1', - 'title_label' => 'Title', - 'custom' => '1', - 'modified' => '1', - 'locked' => '0', - 'disabled' => '0', - 'orig_type' => 'page', -)) ->execute(); - $connection->schema()->createTable('picture_mapping', array( 'fields' => array( 'label' => array( @@ -46556,7 +50998,6 @@ 'mapping' => 'a:2:{s:38:"breakpoints.theme.my_theme_id.computer";a:3:{s:12:"multiplier_1";a:2:{s:12:"mapping_type";s:11:"image_style";s:11:"image_style";s:20:"custom_image_style_1";}s:12:"multiplier_2";a:3:{s:12:"mapping_type";s:5:"sizes";s:5:"sizes";i:2;s:18:"sizes_image_styles";a:2:{i:0;s:20:"custom_image_style_1";i:1;s:20:"custom_image_style_2";}}s:12:"multiplier_3";a:1:{s:12:"mapping_type";s:5:"_none";}}s:41:"breakpoints.theme.my_theme_id.computertwo";a:1:{s:12:"multiplier_2";a:3:{s:12:"mapping_type";s:5:"sizes";s:5:"sizes";i:2;s:18:"sizes_image_styles";a:2:{i:0;s:20:"custom_image_style_1";i:1;s:20:"custom_image_style_2";}}}}', )) ->execute(); - $connection->schema()->createTable('queue', array( 'fields' => array( 'item_id' => array( @@ -46595,6 +51036,22 @@ 'mysql_character_set' => 'utf8', )); +$connection->insert('queue') +->fields(array( + 'item_id', + 'name', + 'data', + 'expire', + 'created', +)) +->values(array( + 'item_id' => '129', + 'name' => 'update_fetch_tasks', + 'data' => 'a:8:{s:4:"name";s:6:"drupal";s:4:"info";a:6:{s:4:"name";s:10:"Aggregator";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:7:"project";s:6:"drupal";s:16:"_info_file_ctime";i:1664863480;s:9:"datestamp";i:0;}s:9:"datestamp";i:0;s:8:"includes";a:41:{s:10:"aggregator";s:10:"Aggregator";s:5:"block";s:5:"Block";s:4:"blog";s:4:"Blog";s:4:"book";s:4:"Book";s:5:"color";s:5:"Color";s:7:"comment";s:7:"Comment";s:7:"contact";s:7:"Contact";s:10:"contextual";s:16:"Contextual links";s:9:"dashboard";s:9:"Dashboard";s:5:"dblog";s:16:"Database logging";s:5:"field";s:5:"Field";s:17:"field_sql_storage";s:17:"Field SQL storage";s:8:"field_ui";s:8:"Field UI";s:4:"file";s:4:"File";s:6:"filter";s:6:"Filter";s:5:"forum";s:5:"Forum";s:4:"help";s:4:"Help";s:5:"image";s:5:"Image";s:4:"list";s:4:"List";s:6:"locale";s:6:"Locale";s:4:"menu";s:4:"Menu";s:4:"node";s:4:"Node";s:6:"number";s:6:"Number";s:7:"options";s:7:"Options";s:7:"overlay";s:7:"Overlay";s:4:"path";s:4:"Path";s:3:"php";s:10:"PHP filter";s:3:"rdf";s:3:"RDF";s:6:"search";s:6:"Search";s:8:"shortcut";s:8:"Shortcut";s:10:"statistics";s:10:"Statistics";s:6:"system";s:6:"System";s:8:"taxonomy";s:8:"Taxonomy";s:4:"text";s:4:"Text";s:7:"toolbar";s:7:"Toolbar";s:7:"tracker";s:7:"Tracker";s:11:"translation";s:19:"Content translation";s:6:"update";s:14:"Update manager";s:4:"user";s:4:"User";s:6:"bartik";s:6:"Bartik";s:5:"seven";s:5:"Seven";}s:12:"project_type";s:4:"core";s:14:"project_status";b:1;s:10:"sub_themes";a:0:{}s:11:"base_themes";a:0:{}}', + 'expire' => '0', + 'created' => '1664931778', +)) +->execute(); $connection->schema()->createTable('rdf_mapping', array( 'fields' => array( 'type' => array( @@ -46641,16 +51098,16 @@ 'bundle' => 'forum', 'mapping' => 'a:10:{s:7:"rdftype";a:2:{i:0;s:9:"sioc:Post";i:1;s:15:"sioct:BoardPost";}s:15:"taxonomy_forums";a:2:{s:10:"predicates";a:1:{i:0;s:18:"sioc:has_container";}s:4:"type";s:3:"rel";}s:5:"title";a:1:{s:10:"predicates";a:1:{i:0;s:8:"dc:title";}}s:7:"created";a:3:{s:10:"predicates";a:2:{i:0;s:7:"dc:date";i:1;s:10:"dc:created";}s:8:"datatype";s:12:"xsd:dateTime";s:8:"callback";s:12:"date_iso8601";}s:7:"changed";a:3:{s:10:"predicates";a:1:{i:0;s:11:"dc:modified";}s:8:"datatype";s:12:"xsd:dateTime";s:8:"callback";s:12:"date_iso8601";}s:4:"body";a:1:{s:10:"predicates";a:1:{i:0;s:15:"content:encoded";}}s:3:"uid";a:2:{s:10:"predicates";a:1:{i:0;s:16:"sioc:has_creator";}s:4:"type";s:3:"rel";}s:4:"name";a:1:{s:10:"predicates";a:1:{i:0;s:9:"foaf:name";}}s:13:"comment_count";a:2:{s:10:"predicates";a:1:{i:0;s:16:"sioc:num_replies";}s:8:"datatype";s:11:"xsd:integer";}s:13:"last_activity";a:3:{s:10:"predicates";a:1:{i:0;s:23:"sioc:last_activity_date";}s:8:"datatype";s:12:"xsd:dateTime";s:8:"callback";s:12:"date_iso8601";}}', )) -->values(array( - 'type' => 'taxonomy_term', - 'bundle' => 'forums', - 'mapping' => 'a:5:{s:7:"rdftype";a:2:{i:0;s:14:"sioc:Container";i:1;s:10:"sioc:Forum";}s:4:"name";a:1:{s:10:"predicates";a:2:{i:0;s:10:"rdfs:label";i:1;s:14:"skos:prefLabel";}}s:11:"description";a:1:{s:10:"predicates";a:1:{i:0;s:15:"skos:definition";}}s:3:"vid";a:2:{s:10:"predicates";a:1:{i:0;s:13:"skos:inScheme";}s:4:"type";s:3:"rel";}s:6:"parent";a:2:{s:10:"predicates";a:1:{i:0;s:12:"skos:broader";}s:4:"type";s:3:"rel";}}', -)) ->values(array( 'type' => 'node', 'bundle' => 'page', 'mapping' => 'a:9:{s:7:"rdftype";a:1:{i:0;s:13:"foaf:Document";}s:5:"title";a:1:{s:10:"predicates";a:1:{i:0;s:8:"dc:title";}}s:7:"created";a:3:{s:10:"predicates";a:2:{i:0;s:7:"dc:date";i:1;s:10:"dc:created";}s:8:"datatype";s:12:"xsd:dateTime";s:8:"callback";s:12:"date_iso8601";}s:7:"changed";a:3:{s:10:"predicates";a:1:{i:0;s:11:"dc:modified";}s:8:"datatype";s:12:"xsd:dateTime";s:8:"callback";s:12:"date_iso8601";}s:4:"body";a:1:{s:10:"predicates";a:1:{i:0;s:15:"content:encoded";}}s:3:"uid";a:2:{s:10:"predicates";a:1:{i:0;s:16:"sioc:has_creator";}s:4:"type";s:3:"rel";}s:4:"name";a:1:{s:10:"predicates";a:1:{i:0;s:9:"foaf:name";}}s:13:"comment_count";a:2:{s:10:"predicates";a:1:{i:0;s:16:"sioc:num_replies";}s:8:"datatype";s:11:"xsd:integer";}s:13:"last_activity";a:3:{s:10:"predicates";a:1:{i:0;s:23:"sioc:last_activity_date";}s:8:"datatype";s:12:"xsd:dateTime";s:8:"callback";s:12:"date_iso8601";}}', )) +->values(array( + 'type' => 'taxonomy_term', + 'bundle' => 'forums', + 'mapping' => 'a:5:{s:7:"rdftype";a:2:{i:0;s:14:"sioc:Container";i:1;s:10:"sioc:Forum";}s:4:"name";a:1:{s:10:"predicates";a:2:{i:0;s:10:"rdfs:label";i:1;s:14:"skos:prefLabel";}}s:11:"description";a:1:{s:10:"predicates";a:1:{i:0;s:15:"skos:definition";}}s:3:"vid";a:2:{s:10:"predicates";a:1:{i:0;s:13:"skos:inScheme";}s:4:"type";s:3:"rel";}s:6:"parent";a:2:{s:10:"predicates";a:1:{i:0;s:12:"skos:broader";}s:4:"type";s:3:"rel";}}', +)) ->execute(); $connection->schema()->createTable('registry', array( 'fields' => array( @@ -46928,63 +51385,70 @@ 'type' => 'class', 'filename' => 'modules/block/block.test', 'module' => 'block', - 'weight' => '-5', + 'weight' => '0', )) ->values(array( 'name' => 'BlockCacheTestCase', 'type' => 'class', 'filename' => 'modules/block/block.test', 'module' => 'block', - 'weight' => '-5', + 'weight' => '0', )) ->values(array( 'name' => 'BlockHashTestCase', 'type' => 'class', 'filename' => 'modules/block/block.test', 'module' => 'block', - 'weight' => '-5', + 'weight' => '0', )) ->values(array( 'name' => 'BlockHiddenRegionTestCase', 'type' => 'class', 'filename' => 'modules/block/block.test', 'module' => 'block', - 'weight' => '-5', + 'weight' => '0', )) ->values(array( 'name' => 'BlockHTMLIdTestCase', 'type' => 'class', 'filename' => 'modules/block/block.test', 'module' => 'block', - 'weight' => '-5', + 'weight' => '0', +)) +->values(array( + 'name' => 'BlockInterestCohortTest', + 'type' => 'class', + 'filename' => 'modules/simpletest/tests/common.test', + 'module' => 'simpletest', + 'weight' => '0', )) ->values(array( 'name' => 'BlockInvalidRegionTestCase', 'type' => 'class', 'filename' => 'modules/block/block.test', 'module' => 'block', - 'weight' => '-5', + 'weight' => '0', )) ->values(array( 'name' => 'BlockTemplateSuggestionsUnitTest', 'type' => 'class', 'filename' => 'modules/block/block.test', 'module' => 'block', - 'weight' => '-5', + 'weight' => '0', )) ->values(array( 'name' => 'BlockTestCase', 'type' => 'class', 'filename' => 'modules/block/block.test', 'module' => 'block', - 'weight' => '-5', + 'weight' => '0', )) ->values(array( 'name' => 'BlockViewModuleDeltaAlterWebTest', 'type' => 'class', 'filename' => 'modules/block/block.test', 'module' => 'block', - 'weight' => '-5', + 'weight' => '0', )) ->values(array( 'name' => 'BlogTestCase', @@ -47021,6 +51485,13 @@ 'module' => 'simpletest', 'weight' => '0', )) +->values(array( + 'name' => 'BootstrapGetFilenameWebTestCase', + 'type' => 'class', + 'filename' => 'modules/simpletest/tests/bootstrap.test', + 'module' => 'simpletest', + 'weight' => '0', +)) ->values(array( 'name' => 'BootstrapIPAddressTestCase', 'type' => 'class', @@ -47231,6 +51702,13 @@ 'module' => 'color', 'weight' => '0', )) +->values(array( + 'name' => 'ColorUnitTestCase', + 'type' => 'class', + 'filename' => 'modules/color/color.test', + 'module' => 'color', + 'weight' => '0', +)) ->values(array( 'name' => 'CommentActionsTestCase', 'type' => 'class', @@ -47343,6 +51821,13 @@ 'module' => 'comment', 'weight' => '0', )) +->values(array( + 'name' => 'CommentUninstallTestCase', + 'type' => 'class', + 'filename' => 'modules/comment/comment.test', + 'module' => 'comment', + 'weight' => '0', +)) ->values(array( 'name' => 'CommentUpgradePathTestCase', 'type' => 'class', @@ -47364,6 +51849,13 @@ 'module' => 'simpletest', 'weight' => '0', )) +->values(array( + 'name' => 'CommonURLWebTest', + 'type' => 'class', + 'filename' => 'modules/simpletest/tests/common.test', + 'module' => 'simpletest', + 'weight' => '0', +)) ->values(array( 'name' => 'CommonXssUnitTest', 'type' => 'class', @@ -47434,25 +51926,11 @@ 'module' => 'phone', 'weight' => '0', )) -->values(array( - 'name' => 'CtoolsContextIDTestCase', - 'type' => 'class', - 'filename' => 'sites/all/modules/ctools/tests/context.test', - 'module' => 'ctools', - 'weight' => '0', -)) ->values(array( 'name' => 'CtoolsContextKeywordsSubstitutionTestCase', 'type' => 'class', 'filename' => 'sites/all/modules/ctools/tests/context.test', - 'module' => 'ctools', - 'weight' => '0', -)) -->values(array( - 'name' => 'CtoolsContextUnitTestCase', - 'type' => 'class', - 'filename' => 'sites/all/modules/ctools/tests/context.test', - 'module' => 'ctools', + 'module' => 'ctools_plugin_test', 'weight' => '0', )) ->values(array( @@ -47462,18 +51940,11 @@ 'module' => 'ctools', 'weight' => '0', )) -->values(array( - 'name' => 'CtoolsCSSObjectCache', - 'type' => 'class', - 'filename' => 'sites/all/modules/ctools/tests/css_cache.test', - 'module' => 'ctools', - 'weight' => '0', -)) ->values(array( 'name' => 'CtoolsCssTestCase', 'type' => 'class', 'filename' => 'sites/all/modules/ctools/tests/css.test', - 'module' => 'ctools', + 'module' => 'ctools_plugin_test', 'weight' => '0', )) ->values(array( @@ -47487,49 +51958,28 @@ 'name' => 'CtoolsMathExpressionStackTestCase', 'type' => 'class', 'filename' => 'sites/all/modules/ctools/tests/math_expression_stack.test', - 'module' => 'ctools', + 'module' => 'ctools_plugin_test', 'weight' => '0', )) ->values(array( 'name' => 'CtoolsMathExpressionTestCase', 'type' => 'class', 'filename' => 'sites/all/modules/ctools/tests/math_expression.test', - 'module' => 'ctools', - 'weight' => '0', -)) -->values(array( - 'name' => 'CtoolsModuleTestCase', - 'type' => 'class', - 'filename' => 'sites/all/modules/ctools/tests/ctools.test', - 'module' => 'ctools', + 'module' => 'ctools_plugin_test', 'weight' => '0', )) ->values(array( 'name' => 'CtoolsObjectCache', 'type' => 'class', 'filename' => 'sites/all/modules/ctools/tests/object_cache.test', - 'module' => 'ctools', - 'weight' => '0', -)) -->values(array( - 'name' => 'CtoolsPageTokens', - 'type' => 'class', - 'filename' => 'sites/all/modules/ctools/tests/page_tokens.test', - 'module' => 'ctools', + 'module' => 'ctools_plugin_test', 'weight' => '0', )) ->values(array( 'name' => 'CtoolsPluginsGetInfoTestCase', 'type' => 'class', 'filename' => 'sites/all/modules/ctools/tests/ctools.plugins.test', - 'module' => 'ctools', - 'weight' => '0', -)) -->values(array( - 'name' => 'CtoolsUnitObjectCachePlugins', - 'type' => 'class', - 'filename' => 'sites/all/modules/ctools/tests/object_cache_unit.test', - 'module' => 'ctools', + 'module' => 'ctools_plugin_test', 'weight' => '0', )) ->values(array( @@ -47777,6 +52227,13 @@ 'module' => 'simpletest', 'weight' => '0', )) +->values(array( + 'name' => 'DatabaseReservedKeywordTestCase', + 'type' => 'class', + 'filename' => 'modules/simpletest/tests/database_test.test', + 'module' => 'simpletest', + 'weight' => '0', +)) ->values(array( 'name' => 'DatabaseSchema', 'type' => 'class', @@ -47917,6 +52374,13 @@ 'module' => '', 'weight' => '0', )) +->values(array( + 'name' => 'DatabaseTablePrefixTestCase', + 'type' => 'class', + 'filename' => 'modules/simpletest/tests/database_test.test', + 'module' => 'simpletest', + 'weight' => '0', +)) ->values(array( 'name' => 'DatabaseTaggingTestCase', 'type' => 'class', @@ -48044,37 +52508,58 @@ 'weight' => '0', )) ->values(array( - 'name' => 'DateAPITestCase', + 'name' => 'DateAllDayUiTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/date/date_all_day/tests/DateAllDayUiTestCase.test', + 'module' => 'date_all_day', + 'weight' => '0', +)) +->values(array( + 'name' => 'DateApiTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/date/date_api/tests/DateApiTestCase.test', + 'module' => 'date_api', + 'weight' => '0', +)) +->values(array( + 'name' => 'DateApiUnitTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/date/date_api/tests/DateApiUnitTestCase.test', + 'module' => 'date_api', + 'weight' => '0', +)) +->values(array( + 'name' => 'DateEmwTestCase', 'type' => 'class', - 'filename' => 'sites/all/modules/date/tests/date_api.test', + 'filename' => 'sites/all/modules/date/tests/DateEmwTestCase.test', 'module' => 'date', 'weight' => '0', )) ->values(array( - 'name' => 'DateFieldBasic', + 'name' => 'DateFieldTestBase', 'type' => 'class', - 'filename' => 'sites/all/modules/date/tests/date_field.test', + 'filename' => 'sites/all/modules/date/tests/DateFieldTestBase.test', 'module' => 'date', 'weight' => '0', )) ->values(array( 'name' => 'DateFieldTestCase', 'type' => 'class', - 'filename' => 'sites/all/modules/date/tests/date_field.test', + 'filename' => 'sites/all/modules/date/tests/DateFieldTestCase.test', 'module' => 'date', 'weight' => '0', )) ->values(array( - 'name' => 'DateFormTestCase', + 'name' => 'DateFormatTestCase', 'type' => 'class', - 'filename' => 'sites/all/modules/date/tests/date_form.test', - 'module' => 'date', + 'filename' => 'modules/system/system.test', + 'module' => 'system', 'weight' => '0', )) ->values(array( - 'name' => 'DateMigrateExampleUnitTest', + 'name' => 'DateFormTestCase', 'type' => 'class', - 'filename' => 'sites/all/modules/date/tests/date_migrate.test', + 'filename' => 'sites/all/modules/date/tests/DateFormTestCase.test', 'module' => 'date', 'weight' => '0', )) @@ -48085,6 +52570,20 @@ 'module' => 'date', 'weight' => '0', )) +->values(array( + 'name' => 'DateMigrateTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/date/tests/DateMigrateTestCase.test', + 'module' => 'date', + 'weight' => '0', +)) +->values(array( + 'name' => 'DateNowUnitTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/date/tests/DateNowUnitTestCase.test', + 'module' => 'date', + 'weight' => '0', +)) ->values(array( 'name' => 'DateObject', 'type' => 'class', @@ -48092,6 +52591,34 @@ 'module' => 'date_api', 'weight' => '0', )) +->values(array( + 'name' => 'DatePopupFieldTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/date/date_popup/tests/DatePopupFieldTestCase.test', + 'module' => 'date_popup', + 'weight' => '0', +)) +->values(array( + 'name' => 'DatePopupValidationTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/date/date_popup/tests/DatePopupValidationTestCase.test', + 'module' => 'date_popup', + 'weight' => '0', +)) +->values(array( + 'name' => 'DatePopupWithViewsTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/date/date_popup/tests/DatePopupWithViewsTestCase.test', + 'module' => 'date_popup', + 'weight' => '0', +)) +->values(array( + 'name' => 'DateRepeatFieldTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/date/date_repeat_field/tests/DateRepeatFieldTestCase.test', + 'module' => 'date_repeat_field', + 'weight' => '0', +)) ->values(array( 'name' => 'DateRepeatFormTestCase', 'type' => 'class', @@ -48116,36 +52643,36 @@ ->values(array( 'name' => 'DateTimezoneTestCase', 'type' => 'class', - 'filename' => 'sites/all/modules/date/tests/date_timezone.test', + 'filename' => 'sites/all/modules/date/tests/DateTimezoneTestCase.test', 'module' => 'date', 'weight' => '0', )) ->values(array( 'name' => 'DateToolsTestCase', 'type' => 'class', - 'filename' => 'sites/all/modules/date/date_tools/tests/date_tools.test', + 'filename' => 'sites/all/modules/date/date_tools/tests/DateToolsTestCase.test', 'module' => 'date_tools', 'weight' => '0', )) ->values(array( - 'name' => 'DateUITestCase', + 'name' => 'DateUiTestCase', 'type' => 'class', - 'filename' => 'sites/all/modules/date/tests/date.test', + 'filename' => 'sites/all/modules/date/tests/DateUiTestCase.test', 'module' => 'date', 'weight' => '0', )) ->values(array( 'name' => 'DateValidationTestCase', 'type' => 'class', - 'filename' => 'sites/all/modules/date/tests/date_validation.test', + 'filename' => 'sites/all/modules/date/tests/DateValidationTestCase.test', 'module' => 'date', 'weight' => '0', )) ->values(array( - 'name' => 'DateViewsPopupTestCase', + 'name' => 'DateViewsFilterTestCase', 'type' => 'class', - 'filename' => 'sites/all/modules/date/tests/date_views_popup.test', - 'module' => 'date', + 'filename' => 'sites/all/modules/date/date_views/tests/date_views_filter.test', + 'module' => 'date_views', 'weight' => '0', )) ->values(array( @@ -48197,6 +52724,13 @@ 'module' => 'simpletest', 'weight' => '0', )) +->values(array( + 'name' => 'DrupalAddHtmlHeadLinkTest', + 'type' => 'class', + 'filename' => 'modules/simpletest/tests/common.test', + 'module' => 'simpletest', + 'weight' => '0', +)) ->values(array( 'name' => 'DrupalAlterTestCase', 'type' => 'class', @@ -48309,6 +52843,13 @@ 'module' => 'simpletest', 'weight' => '0', )) +->values(array( + 'name' => 'DrupalHTTPRedirectTest', + 'type' => 'class', + 'filename' => 'modules/simpletest/tests/common.test', + 'module' => 'simpletest', + 'weight' => '0', +)) ->values(array( 'name' => 'DrupalHTTPRequestTestCase', 'type' => 'class', @@ -48328,14 +52869,14 @@ 'type' => 'class', 'filename' => 'sites/all/modules/i18n/i18n.test', 'module' => 'i18n', - 'weight' => '10', + 'weight' => '0', )) ->values(array( 'name' => 'Drupali18nTestCase', 'type' => 'class', 'filename' => 'sites/all/modules/i18n/i18n.test', 'module' => 'i18n', - 'weight' => '10', + 'weight' => '0', )) ->values(array( 'name' => 'DrupalJSONTest', @@ -48400,6 +52941,13 @@ 'module' => 'simpletest', 'weight' => '0', )) +->values(array( + 'name' => 'DrupalRequestSanitizer', + 'type' => 'class', + 'filename' => 'includes/request-sanitizer.inc', + 'module' => '', + 'weight' => '0', +)) ->values(array( 'name' => 'DrupalSetContentTestCase', 'type' => 'class', @@ -48813,6 +53361,13 @@ 'module' => 'entityreference', 'weight' => '0', )) +->values(array( + 'name' => 'EntityReferenceFieldTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/entityreference/tests/entityreference.field.test', + 'module' => 'entityreference', + 'weight' => '0', +)) ->values(array( 'name' => 'EntityReferenceHandlersTestCase', 'type' => 'class', @@ -48944,49 +53499,126 @@ 'type' => 'class', 'filename' => 'sites/all/modules/entity_translation/includes/translation.handler.comment.inc', 'module' => 'entity_translation', - 'weight' => '11', + 'weight' => '0', +)) +->values(array( + 'name' => 'EntityTranslationCommentTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/entity_translation/tests/entity_translation.test', + 'module' => 'entity_translation', + 'weight' => '0', +)) +->values(array( + 'name' => 'EntityTranslationContentTranslationTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/entity_translation/tests/entity_translation.test', + 'module' => 'entity_translation', + 'weight' => '0', )) ->values(array( 'name' => 'EntityTranslationDefaultHandler', 'type' => 'class', 'filename' => 'sites/all/modules/entity_translation/includes/translation.handler.inc', 'module' => 'entity_translation', - 'weight' => '11', + 'weight' => '0', )) ->values(array( 'name' => 'EntityTranslationHandlerFactory', 'type' => 'class', 'filename' => 'sites/all/modules/entity_translation/includes/translation.handler_factory.inc', 'module' => 'entity_translation', - 'weight' => '11', + 'weight' => '0', )) ->values(array( 'name' => 'EntityTranslationHandlerInterface', 'type' => 'interface', 'filename' => 'sites/all/modules/entity_translation/includes/translation.handler.inc', 'module' => 'entity_translation', - 'weight' => '11', + 'weight' => '0', +)) +->values(array( + 'name' => 'EntityTranslationHierarchyTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/entity_translation/tests/entity_translation.test', + 'module' => 'entity_translation', + 'weight' => '0', +)) +->values(array( + 'name' => 'EntityTranslationHookTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/entity_translation/tests/entity_translation.test', + 'module' => 'entity_translation', + 'weight' => '0', +)) +->values(array( + 'name' => 'EntityTranslationIntegrationTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/entity_translation/tests/entity_translation.test', + 'module' => 'entity_translation', + 'weight' => '0', +)) +->values(array( + 'name' => 'EntityTranslationMenuTranslationTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/entity_translation/entity_translation_i18n_menu/entity_translation_i18n_menu.test', + 'module' => 'entity_translation_i18n_menu', + 'weight' => '0', )) ->values(array( 'name' => 'EntityTranslationNodeHandler', 'type' => 'class', 'filename' => 'sites/all/modules/entity_translation/includes/translation.handler.node.inc', 'module' => 'entity_translation', - 'weight' => '11', + 'weight' => '0', +)) +->values(array( + 'name' => 'EntityTranslationTaxonomyAutocompleteTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/entity_translation/tests/entity_translation.test', + 'module' => 'entity_translation', + 'weight' => '0', )) ->values(array( 'name' => 'EntityTranslationTaxonomyTermHandler', 'type' => 'class', 'filename' => 'sites/all/modules/entity_translation/includes/translation.handler.taxonomy_term.inc', 'module' => 'entity_translation', - 'weight' => '11', + 'weight' => '0', +)) +->values(array( + 'name' => 'EntityTranslationTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/entity_translation/tests/entity_translation.test', + 'module' => 'entity_translation', + 'weight' => '0', +)) +->values(array( + 'name' => 'EntityTranslationToggleFieldsTranslatabilityTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/entity_translation/tests/entity_translation.test', + 'module' => 'entity_translation', + 'weight' => '0', +)) +->values(array( + 'name' => 'EntityTranslationTranslationTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/entity_translation/tests/entity_translation.test', + 'module' => 'entity_translation', + 'weight' => '0', +)) +->values(array( + 'name' => 'EntityTranslationUpgradeTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/entity_translation/entity_translation_upgrade/entity_translation_upgrade.test', + 'module' => 'entity_translation_upgrade', + 'weight' => '0', )) ->values(array( 'name' => 'EntityTranslationUserHandler', 'type' => 'class', 'filename' => 'sites/all/modules/entity_translation/includes/translation.handler.user.inc', 'module' => 'entity_translation', - 'weight' => '11', + 'weight' => '0', )) ->values(array( 'name' => 'EntityValueWrapper', @@ -49007,49 +53639,49 @@ 'type' => 'class', 'filename' => 'sites/all/modules/entity_translation/views/entity_translation_handler_field_field.inc', 'module' => 'entity_translation', - 'weight' => '11', + 'weight' => '0', )) ->values(array( 'name' => 'entity_translation_handler_field_label', 'type' => 'class', 'filename' => 'sites/all/modules/entity_translation/views/entity_translation_handler_field_label.inc', 'module' => 'entity_translation', - 'weight' => '11', + 'weight' => '0', )) ->values(array( 'name' => 'entity_translation_handler_field_translate_link', 'type' => 'class', 'filename' => 'sites/all/modules/entity_translation/views/entity_translation_handler_field_translate_link.inc', 'module' => 'entity_translation', - 'weight' => '11', + 'weight' => '0', )) ->values(array( 'name' => 'entity_translation_handler_filter_entity_type', 'type' => 'class', 'filename' => 'sites/all/modules/entity_translation/views/entity_translation_handler_filter_entity_type.inc', 'module' => 'entity_translation', - 'weight' => '11', + 'weight' => '0', )) ->values(array( 'name' => 'entity_translation_handler_filter_language', 'type' => 'class', 'filename' => 'sites/all/modules/entity_translation/views/entity_translation_handler_filter_language.inc', 'module' => 'entity_translation', - 'weight' => '11', + 'weight' => '0', )) ->values(array( 'name' => 'entity_translation_handler_filter_translation_exists', 'type' => 'class', 'filename' => 'sites/all/modules/entity_translation/views/entity_translation_handler_filter_translation_exists.inc', 'module' => 'entity_translation', - 'weight' => '11', + 'weight' => '0', )) ->values(array( 'name' => 'entity_translation_handler_relationship', 'type' => 'class', 'filename' => 'sites/all/modules/entity_translation/views/entity_translation_handler_relationship.inc', 'module' => 'entity_translation', - 'weight' => '11', + 'weight' => '0', )) ->values(array( 'name' => 'entity_views_handler_area_entity', @@ -49359,6 +53991,13 @@ 'module' => 'simpletest', 'weight' => '0', )) +->values(array( + 'name' => 'FileFieldAnonymousSubmission', + 'type' => 'class', + 'filename' => 'modules/file/tests/file.test', + 'module' => 'file', + 'weight' => '0', +)) ->values(array( 'name' => 'FileFieldDisplayTestCase', 'type' => 'class', @@ -49471,6 +54110,13 @@ 'module' => 'simpletest', 'weight' => '0', )) +->values(array( + 'name' => 'FileScanDirectory', + 'type' => 'class', + 'filename' => 'modules/file/tests/file.test', + 'module' => 'file', + 'weight' => '0', +)) ->values(array( 'name' => 'FileScanDirectoryTest', 'type' => 'class', @@ -49499,6 +54145,13 @@ 'module' => 'simpletest', 'weight' => '0', )) +->values(array( + 'name' => 'FileThemeImplementationsTestCase', + 'type' => 'class', + 'filename' => 'modules/file/tests/file.test', + 'module' => 'file', + 'weight' => '0', +)) ->values(array( 'name' => 'FileTokenReplaceTestCase', 'type' => 'class', @@ -49786,6 +54439,13 @@ 'module' => 'simpletest', 'weight' => '0', )) +->values(array( + 'name' => 'FormsFormCacheTestCase', + 'type' => 'class', + 'filename' => 'modules/simpletest/tests/form.test', + 'module' => 'simpletest', + 'weight' => '0', +)) ->values(array( 'name' => 'FormsFormStoragePageCacheTestCase', 'type' => 'class', @@ -49856,6 +54516,13 @@ 'module' => 'simpletest', 'weight' => '0', )) +->values(array( + 'name' => 'FormTextareaTestCase', + 'type' => 'class', + 'filename' => 'modules/simpletest/tests/form.test', + 'module' => 'simpletest', + 'weight' => '0', +)) ->values(array( 'name' => 'FormValidationTestCase', 'type' => 'class', @@ -49898,13 +54565,6 @@ 'module' => 'simpletest', 'weight' => '0', )) -->values(array( - 'name' => 'HeadLinksTestCase', - 'type' => 'class', - 'filename' => 'sites/all/modules/ctools/page_manager/tests/head_links.test', - 'module' => 'page_manager', - 'weight' => '0', -)) ->values(array( 'name' => 'HelpTestCase', 'type' => 'class', @@ -49926,6 +54586,13 @@ 'module' => 'system', 'weight' => '0', )) +->values(array( + 'name' => 'HtaccessTest', + 'type' => 'class', + 'filename' => 'modules/system/system.test', + 'module' => 'system', + 'weight' => '0', +)) ->values(array( 'name' => 'HTMLIdTestCase', 'type' => 'class', @@ -49940,6 +54607,195 @@ 'module' => 'phone', 'weight' => '0', )) +->values(array( + 'name' => 'i18nBlocksTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_block/i18n_block.test', + 'module' => 'i18n_block', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18nFieldTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_field/i18n_field.test', + 'module' => 'i18n_field', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18nForumTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_forum/i18n_forum.test', + 'module' => 'i18n_forum', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18nMenuTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_menu/i18n_menu.test', + 'module' => 'i18n_menu', + 'weight' => '0', +)) +->values(array( + 'name' => 'I18nNodeTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_node/i18n_node.test', + 'module' => 'i18n_node', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18nPathTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_path/i18n_path.test', + 'module' => 'i18n_path', + 'weight' => '0', +)) +->values(array( + 'name' => 'I18NSelectAdminViewsAjax', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_select/i18n_select.test', + 'module' => 'i18n_select', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18nSelectTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_select/i18n_select.test', + 'module' => 'i18n_select', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18nStringTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_string/i18n_string.test', + 'module' => 'i18n_string', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18nSyncTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_sync/i18n_sync.test', + 'module' => 'i18n_sync', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18nTaxonomyTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.test', + 'module' => 'i18n_taxonomy', + 'weight' => '0', +)) +->values(array( + 'name' => 'I18nVariableLanguageRealm', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_variable/i18n_variable.class.inc', + 'module' => 'i18n_variable', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18nVariableTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_variable/i18n_variable.test', + 'module' => 'i18n_variable', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18n_block_object', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_block/i18n_block.inc', + 'module' => 'i18n_block', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18n_field', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_field/i18n_field.inc', + 'module' => 'i18n_field', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18n_field_base', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_field/i18n_field.inc', + 'module' => 'i18n_field', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18n_field_instance', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_field/i18n_field.inc', + 'module' => 'i18n_field', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18n_menu_link', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_menu/i18n_menu.inc', + 'module' => 'i18n_menu', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18n_menu_link_translation_set', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_menu/i18n_menu.inc', + 'module' => 'i18n_menu', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18n_object_wrapper', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_object.inc', + 'module' => 'i18n', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18n_string_object', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_string/i18n_string.inc', + 'module' => 'i18n_string', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18n_string_object_wrapper', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_string/i18n_string.inc', + 'module' => 'i18n_string', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18n_string_textgroup_cached', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_string/i18n_string.inc', + 'module' => 'i18n_string', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18n_string_textgroup_default', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_string/i18n_string.inc', + 'module' => 'i18n_string', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18n_taxonomy_term', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.inc', + 'module' => 'i18n_taxonomy', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18n_taxonomy_translation_set', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.inc', + 'module' => 'i18n_taxonomy', + 'weight' => '0', +)) +->values(array( + 'name' => 'i18n_translation_set', + 'type' => 'class', + 'filename' => 'sites/all/modules/i18n/i18n_translation/i18n_translation.inc', + 'module' => 'i18n_translation', + 'weight' => '0', +)) ->values(array( 'name' => 'ILPhoneNumberTestCase', 'type' => 'class', @@ -50108,6 +54964,13 @@ 'module' => '', 'weight' => '0', )) +->values(array( + 'name' => 'InvalidQueryConditionOperatorException', + 'type' => 'class', + 'filename' => 'includes/database/database.inc', + 'module' => '', + 'weight' => '0', +)) ->values(array( 'name' => 'IPAddressBlockingTestCase', 'type' => 'class', @@ -50137,72 +55000,86 @@ 'weight' => '0', )) ->values(array( - 'name' => 'LinkAttributeCrudTest', + 'name' => 'LinkBaseTestClass', 'type' => 'class', - 'filename' => 'sites/all/modules/link/tests/link.attribute.test', + 'filename' => 'sites/all/modules/link/tests/LinkBaseTestClass.test', 'module' => 'link', 'weight' => '0', )) ->values(array( - 'name' => 'LinkBaseTestClass', + 'name' => 'LinkConvertInternalPathsTest', 'type' => 'class', - 'filename' => 'sites/all/modules/link/tests/link.test', + 'filename' => 'sites/all/modules/link/tests/LinkConvertInternalPathsTest.test', 'module' => 'link', 'weight' => '0', )) ->values(array( - 'name' => 'LinkContentCrudTest', + 'name' => 'LinkDefaultProtocolTest', 'type' => 'class', - 'filename' => 'sites/all/modules/link/tests/link.crud.test', + 'filename' => 'sites/all/modules/link/tests/LinkDefaultProtocolTest.test', 'module' => 'link', 'weight' => '0', )) ->values(array( - 'name' => 'LinkTokenTest', + 'name' => 'LinkEntityTokenTest', + 'type' => 'class', + 'filename' => 'sites/all/modules/link/tests/LinkEntityTokenTest.test', + 'module' => 'link', + 'weight' => '0', +)) +->values(array( + 'name' => 'LinkFieldAttributesTest', 'type' => 'class', - 'filename' => 'sites/all/modules/link/tests/link.token.test', + 'filename' => 'sites/all/modules/link/tests/LinkFieldAttributesTest.test', 'module' => 'link', 'weight' => '0', )) ->values(array( - 'name' => 'LinkUITest', + 'name' => 'LinkFieldCrudTest', 'type' => 'class', - 'filename' => 'sites/all/modules/link/tests/link.crud_browser.test', + 'filename' => 'sites/all/modules/link/tests/LinkFieldCrudTest.test', 'module' => 'link', 'weight' => '0', )) ->values(array( - 'name' => 'LinkValidateSpecificURL', + 'name' => 'LinkFieldValidateTest', 'type' => 'class', - 'filename' => 'sites/all/modules/link/tests/link.validate.test', + 'filename' => 'sites/all/modules/link/tests/LinkFieldValidateTest.test', 'module' => 'link', 'weight' => '0', )) ->values(array( - 'name' => 'LinkValidateTest', + 'name' => 'LinkPathPrefixesTest', 'type' => 'class', - 'filename' => 'sites/all/modules/link/tests/link.validate.test', + 'filename' => 'sites/all/modules/link/tests/LinkPathPrefixesTest.test', 'module' => 'link', 'weight' => '0', )) ->values(array( - 'name' => 'LinkValidateTestCase', + 'name' => 'LinkSanitizeTest', 'type' => 'class', - 'filename' => 'sites/all/modules/link/tests/link.validate.test', + 'filename' => 'sites/all/modules/link/tests/LinkSanitizeTest.test', 'module' => 'link', 'weight' => '0', )) ->values(array( - 'name' => 'LinkValidateTestNews', + 'name' => 'LinkTokenTest', + 'type' => 'class', + 'filename' => 'sites/all/modules/link/tests/LinkTokenTest.test', + 'module' => 'link', + 'weight' => '0', +)) +->values(array( + 'name' => 'LinkUnitTestCase', 'type' => 'class', - 'filename' => 'sites/all/modules/link/tests/link.validate.test', + 'filename' => 'sites/all/modules/link/tests/LinkUnitTestCase.test', 'module' => 'link', 'weight' => '0', )) ->values(array( - 'name' => 'LinkValidateUrlLight', + 'name' => 'LinkValidationApiTest', 'type' => 'class', - 'filename' => 'sites/all/modules/link/tests/link.validate.test', + 'filename' => 'sites/all/modules/link/tests/LinkValidationApiTest.test', 'module' => 'link', 'weight' => '0', )) @@ -50360,6 +55237,13 @@ 'module' => 'locale', 'weight' => '0', )) +->values(array( + 'name' => 'LocaleStringIsSafeTest', + 'type' => 'class', + 'filename' => 'modules/locale/locale.test', + 'module' => 'locale', + 'weight' => '0', +)) ->values(array( 'name' => 'LocaleTranslationFunctionalTest', 'type' => 'class', @@ -50451,6 +55335,13 @@ 'module' => 'simpletest', 'weight' => '0', )) +->values(array( + 'name' => 'MenuDataIntegrityTestCase', + 'type' => 'class', + 'filename' => 'modules/simpletest/tests/menu.test', + 'module' => 'simpletest', + 'weight' => '0', +)) ->values(array( 'name' => 'MenuLinksUnitTestCase', 'type' => 'class', @@ -50528,6 +55419,13 @@ 'module' => '', 'weight' => '0', )) +->values(array( + 'name' => 'MFWTestCase', + 'type' => 'class', + 'filename' => 'sites/all/modules/multiupload_filefield_widget/multiupload_filefield_widget.test', + 'module' => 'multiupload_filefield_widget', + 'weight' => '0', +)) ->values(array( 'name' => 'MigrateEmailFieldHandler', 'type' => 'class', @@ -50568,7 +55466,7 @@ 'type' => 'class', 'filename' => 'sites/all/modules/entity_translation/includes/translation.migrate.inc', 'module' => 'entity_translation', - 'weight' => '11', + 'weight' => '0', )) ->values(array( 'name' => 'MockTestConnection', @@ -50598,6 +55496,13 @@ 'module' => 'simpletest', 'weight' => '0', )) +->values(array( + 'name' => 'ModuleProvidedThemeEngineTestCase', + 'type' => 'class', + 'filename' => 'modules/simpletest/tests/theme.test', + 'module' => 'simpletest', + 'weight' => '0', +)) ->values(array( 'name' => 'ModuleRequiredTestCase', 'type' => 'class', @@ -50652,7 +55557,7 @@ 'type' => 'class', 'filename' => 'modules/block/block.test', 'module' => 'block', - 'weight' => '-5', + 'weight' => '0', )) ->values(array( 'name' => 'NLPhoneNumberTestCase', @@ -50787,6 +55692,13 @@ 'module' => 'node', 'weight' => '0', )) +->values(array( + 'name' => 'NodeMultiByteUtf8Test', + 'type' => 'class', + 'filename' => 'modules/node/node.test', + 'module' => 'node', + 'weight' => '0', +)) ->values(array( 'name' => 'NodePageCacheTest', 'type' => 'class', @@ -50808,6 +55720,13 @@ 'module' => 'node', 'weight' => '0', )) +->values(array( + 'name' => 'NodeReferenceFormTest', + 'type' => 'class', + 'filename' => 'sites/all/modules/references/node_reference/node_reference.test', + 'module' => 'node_reference', + 'weight' => '0', +)) ->values(array( 'name' => 'NodeRevisionPermissionsTestCase', 'type' => 'class', @@ -50897,7 +55816,7 @@ 'type' => 'class', 'filename' => 'modules/block/block.test', 'module' => 'block', - 'weight' => '-5', + 'weight' => '0', )) ->values(array( 'name' => 'NumberFieldTestCase', @@ -51368,6 +56287,41 @@ 'module' => 'rdf', 'weight' => '0', )) +->values(array( + 'name' => 'references_handler_argument', + 'type' => 'class', + 'filename' => 'sites/all/modules/references/views/references_handler_argument.inc', + 'module' => 'references', + 'weight' => '0', +)) +->values(array( + 'name' => 'references_handler_relationship', + 'type' => 'class', + 'filename' => 'sites/all/modules/references/views/references_handler_relationship.inc', + 'module' => 'references', + 'weight' => '0', +)) +->values(array( + 'name' => 'references_plugin_display', + 'type' => 'class', + 'filename' => 'sites/all/modules/references/views/references_plugin_display.inc', + 'module' => 'references', + 'weight' => '0', +)) +->values(array( + 'name' => 'references_plugin_row_fields', + 'type' => 'class', + 'filename' => 'sites/all/modules/references/views/references_plugin_row_fields.inc', + 'module' => 'references', + 'weight' => '0', +)) +->values(array( + 'name' => 'references_plugin_style', + 'type' => 'class', + 'filename' => 'sites/all/modules/references/views/references_plugin_style.inc', + 'module' => 'references', + 'weight' => '0', +)) ->values(array( 'name' => 'RegistryParseFilesTestCase', 'type' => 'class', @@ -51459,6 +56413,13 @@ 'module' => 'simpletest', 'weight' => '0', )) +->values(array( + 'name' => 'RequestSanitizerTest', + 'type' => 'class', + 'filename' => 'modules/simpletest/tests/request_sanitizer.test', + 'module' => 'simpletest', + 'weight' => '0', +)) ->values(array( 'name' => 'RetrieveFileTestCase', 'type' => 'class', @@ -51473,6 +56434,13 @@ 'module' => 'phone', 'weight' => '0', )) +->values(array( + 'name' => 'SanitizerTestRequest', + 'type' => 'class', + 'filename' => 'modules/simpletest/tests/request_sanitizer.test', + 'module' => 'simpletest', + 'weight' => '0', +)) ->values(array( 'name' => 'SchemaCache', 'type' => 'class', @@ -51704,6 +56672,13 @@ 'module' => 'simpletest', 'weight' => '0', )) +->values(array( + 'name' => 'SessionUnitTestCase', + 'type' => 'class', + 'filename' => 'modules/simpletest/tests/session.test', + 'module' => 'simpletest', + 'weight' => '0', +)) ->values(array( 'name' => 'SGPhoneNumberTestCase', 'type' => 'class', @@ -51893,6 +56868,13 @@ 'module' => 'system', 'weight' => '0', )) +->values(array( + 'name' => 'SystemArchiverTest', + 'type' => 'class', + 'filename' => 'modules/system/system.test', + 'module' => 'system', + 'weight' => '0', +)) ->values(array( 'name' => 'SystemAuthorizeCase', 'type' => 'class', @@ -51991,6 +56973,20 @@ 'module' => 'taxonomy', 'weight' => '0', )) +->values(array( + 'name' => 'TaxonomyPrivateFileTestCase', + 'type' => 'class', + 'filename' => 'modules/taxonomy/taxonomy.test', + 'module' => 'taxonomy', + 'weight' => '0', +)) +->values(array( + 'name' => 'TaxonomyQueryAlterTestCase', + 'type' => 'class', + 'filename' => 'modules/taxonomy/taxonomy.test', + 'module' => 'taxonomy', + 'weight' => '0', +)) ->values(array( 'name' => 'TaxonomyRSSTestCase', 'type' => 'class', @@ -51998,6 +56994,13 @@ 'module' => 'taxonomy', 'weight' => '0', )) +->values(array( + 'name' => 'TaxonomyTermCacheUsageTestCase', + 'type' => 'class', + 'filename' => 'modules/taxonomy/taxonomy.test', + 'module' => 'taxonomy', + 'weight' => '0', +)) ->values(array( 'name' => 'TaxonomyTermController', 'type' => 'class', @@ -52192,21 +57195,21 @@ 'type' => 'class', 'filename' => 'sites/all/modules/title/tests/TitleAdminSettingsTestCase.test', 'module' => 'title', - 'weight' => '100', + 'weight' => '0', )) ->values(array( 'name' => 'TitleFieldReplacementTestCase', 'type' => 'class', 'filename' => 'sites/all/modules/title/tests/TitleFieldReplacementTestCase.test', 'module' => 'title', - 'weight' => '100', + 'weight' => '0', )) ->values(array( 'name' => 'TitleTranslationTestCase', 'type' => 'class', 'filename' => 'sites/all/modules/title/tests/TitleTranslationTestCase.test', 'module' => 'title', - 'weight' => '100', + 'weight' => '0', )) ->values(array( 'name' => 'TokenReplaceTestCase', @@ -52418,6 +57421,13 @@ 'module' => '', 'weight' => '0', )) +->values(array( + 'name' => 'UpdateQuery_mysql', + 'type' => 'class', + 'filename' => 'includes/database/mysql/query.inc', + 'module' => '', + 'weight' => '0', +)) ->values(array( 'name' => 'UpdateQuery_pgsql', 'type' => 'class', @@ -52516,6 +57526,13 @@ 'module' => 'simpletest', 'weight' => '0', )) +->values(array( + 'name' => 'UrlIsExternalUnitTest', + 'type' => 'class', + 'filename' => 'modules/simpletest/tests/common.test', + 'module' => 'simpletest', + 'weight' => '0', +)) ->values(array( 'name' => 'UserAccountLinksUnitTests', 'type' => 'class', @@ -52579,6 +57596,13 @@ 'module' => 'user', 'weight' => '0', )) +->values(array( + 'name' => 'UserEditRebuildTestCase', + 'type' => 'class', + 'filename' => 'modules/user/user.test', + 'module' => 'user', + 'weight' => '0', +)) ->values(array( 'name' => 'UserEditTestCase', 'type' => 'class', @@ -52724,63 +57748,63 @@ 'type' => 'interface', 'filename' => 'sites/all/modules/variable/variable_realm/variable_realm.class.inc', 'module' => 'variable_realm', - 'weight' => '-1000', + 'weight' => '0', )) ->values(array( 'name' => 'VariableRealmDefaultController', 'type' => 'class', 'filename' => 'sites/all/modules/variable/variable_realm/variable_realm.class.inc', 'module' => 'variable_realm', - 'weight' => '-1000', + 'weight' => '0', )) ->values(array( 'name' => 'VariableRealmDefaultStore', 'type' => 'class', 'filename' => 'sites/all/modules/variable/variable_realm/variable_realm.class.inc', 'module' => 'variable_realm', - 'weight' => '-1000', + 'weight' => '0', )) ->values(array( 'name' => 'VariableRealmGlobalStore', 'type' => 'class', 'filename' => 'sites/all/modules/variable/variable_realm/variable_realm.class.inc', 'module' => 'variable_realm', - 'weight' => '-1000', + 'weight' => '0', )) ->values(array( 'name' => 'VariableRealmHooks', 'type' => 'interface', 'filename' => 'sites/all/modules/variable/variable_realm/variable_realm.class.inc', 'module' => 'variable_realm', - 'weight' => '-1000', + 'weight' => '0', )) ->values(array( 'name' => 'VariableRealmStoreInterface', 'type' => 'interface', 'filename' => 'sites/all/modules/variable/variable_realm/variable_realm.class.inc', 'module' => 'variable_realm', - 'weight' => '-1000', + 'weight' => '0', )) ->values(array( 'name' => 'VariableRealmUnionController', 'type' => 'class', 'filename' => 'sites/all/modules/variable/variable_realm/variable_realm_union.class.inc', 'module' => 'variable_realm', - 'weight' => '-1000', + 'weight' => '0', )) ->values(array( 'name' => 'VariableStoreRealmStore', 'type' => 'class', 'filename' => 'sites/all/modules/variable/variable_store/variable_store.class.inc', 'module' => 'variable_store', - 'weight' => '-1000', + 'weight' => '0', )) ->values(array( 'name' => 'VariableStoreTestCase', 'type' => 'class', 'filename' => 'sites/all/modules/variable/variable_store/variable_store.test', 'module' => 'variable_store', - 'weight' => '-1000', + 'weight' => '0', )) ->values(array( 'name' => 'VariableTestCase', @@ -52801,7 +57825,7 @@ 'type' => 'class', 'filename' => 'sites/all/modules/views/tests/views_ajax.test', 'module' => 'views', - 'weight' => '10', + 'weight' => '0', )) ->values(array( 'name' => 'ViewsAnalyzeTest', @@ -52838,6 +57862,13 @@ 'module' => 'views', 'weight' => '0', )) +->values(array( + 'name' => 'ViewsCloneTest', + 'type' => 'class', + 'filename' => 'sites/all/modules/views/tests/views_clone.test', + 'module' => 'views', + 'weight' => '0', +)) ->values(array( 'name' => 'ViewsExposedFormTest', 'type' => 'class', @@ -52887,13 +57918,6 @@ 'module' => 'views', 'weight' => '0', )) -->values(array( - 'name' => 'ViewsHandlerArgumentStringTest', - 'type' => 'class', - 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_argument_string.test', - 'module' => 'views', - 'weight' => '0', -)) ->values(array( 'name' => 'ViewsHandlerFieldBooleanTest', 'type' => 'class', @@ -52955,7 +57979,7 @@ 'type' => 'class', 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_field_file_extension.test', 'module' => 'views', - 'weight' => '10', + 'weight' => '0', )) ->values(array( 'name' => 'ViewsHandlerFilterCombineTest', @@ -53013,6 +58037,20 @@ 'module' => 'views', 'weight' => '0', )) +->values(array( + 'name' => 'ViewsHandlerFilterTest', + 'type' => 'class', + 'filename' => 'sites/all/modules/views/tests/views_handler_filter.test', + 'module' => 'views', + 'weight' => '0', +)) +->values(array( + 'name' => 'ViewsHandlerManyToOneTest', + 'type' => 'class', + 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_manytoone.test', + 'module' => 'views', + 'weight' => '0', +)) ->values(array( 'name' => 'ViewsHandlerRelationshipNodeTermDataTest', 'type' => 'class', @@ -53053,7 +58091,7 @@ 'type' => 'class', 'filename' => 'sites/all/modules/views/tests/handlers/views_handlers.test', 'module' => 'views', - 'weight' => '10', + 'weight' => '0', )) ->values(array( 'name' => 'ViewsHandlerTestFileSize', @@ -53093,8 +58131,8 @@ ->values(array( 'name' => 'ViewsPagerTestCase', 'type' => 'class', - 'filename' => 'sites/all/modules/date/tests/date_views_pager.test', - 'module' => 'date', + 'filename' => 'sites/all/modules/date/date_views/tests/date_views_pager.test', + 'module' => 'date_views', 'weight' => '0', )) ->values(array( @@ -53168,7 +58206,7 @@ 'weight' => '0', )) ->values(array( - 'name' => 'viewsUiGroupbyTestCase', + 'name' => 'ViewsUiGroupbyTestCase', 'type' => 'class', 'filename' => 'sites/all/modules/views/tests/views_groupby.test', 'module' => 'views', @@ -53277,7 +58315,7 @@ 'type' => 'class', 'filename' => 'sites/all/modules/title/views/views_handler_title_field.inc', 'module' => 'title', - 'weight' => '100', + 'weight' => '0', )) ->values(array( 'name' => 'XMLRPCBasicTestCase', @@ -53338,7 +58376,7 @@ )) ->values(array( 'filename' => 'includes/ajax.inc', - 'hash' => 'a22c8f7345c1f714ea40bbaa1385fa0e3763b389c82656cf6ff3e4d051532ee4', + 'hash' => '8d5ebead219c48d5929ee6a5a178a331471ee6ceb38653094514c952457eaebd', )) ->values(array( 'filename' => 'includes/archiver.inc', @@ -53346,11 +58384,11 @@ )) ->values(array( 'filename' => 'includes/authorize.inc', - 'hash' => '6d64d8c21aa01eb12fc29918732e4df6b871ed06e5d41373cb95c197ed661d13', + 'hash' => '3eb984facfe9e0228e4d01ece6345cf33dfcd2fcc9c291b15f2e4f782a6029a9', )) ->values(array( 'filename' => 'includes/batch.inc', - 'hash' => '1fe00f9a25481cd43e19fbd6bd37b7ff9dca79f8405ec3e55ffb011be12ec2c3', + 'hash' => '756b66e69a05b74629dee0ff175385813b27eb635aa49380edd4a65532998825', )) ->values(array( 'filename' => 'includes/batch.queue.inc', @@ -53358,7 +58396,7 @@ )) ->values(array( 'filename' => 'includes/bootstrap.inc', - 'hash' => '245deaa370fa492dae401e2eee215f771f9ffbba14c1ff50631a6a4b2b3c771e', + 'hash' => '7a9ea059e58578df97a205f0b3f0929cfe469e68addb4331a8dd4b54c2c407ec', )) ->values(array( 'filename' => 'includes/cache-install.inc', @@ -53366,15 +58404,15 @@ )) ->values(array( 'filename' => 'includes/cache.inc', - 'hash' => 'ee0bf13c7e067695dffcb9ade3b79fea82a3a8db9e9a422ebfcc91c383aa4b4c', + 'hash' => '033c9bf2555dba29382b077f78cc00c82fd7f42a959ba31b710adddf6fdf24fe', )) ->values(array( 'filename' => 'includes/common.inc', - 'hash' => 'd64557e1027136d80e66c329133336412c8301b48c6703943494cff1309f934c', + 'hash' => '3b30067db24a5ba03a5a2151c6616590ffb8aba4073f15d2398268ac860d8083', )) ->values(array( 'filename' => 'includes/database/database.inc', - 'hash' => '27f874fb21e1a85c86e0317669e2e26c1c6611a5e913c5bbce4c7aa62734edfe', + 'hash' => '9f79732882753fda10b4c0a3fc9fe1cb7f4cdacef743a28664d8af6a855ac8b7', )) ->values(array( 'filename' => 'includes/database/log.inc', @@ -53382,7 +58420,7 @@ )) ->values(array( 'filename' => 'includes/database/mysql/database.inc', - 'hash' => 'f021edd0e2b5e315336eb6b5e481b9516c12de78dff2c468be3d7fd0d3672665', + 'hash' => 'fb808762239838f920ffeb74a89db5894fb46131d8bb4c65a0caff82358562c6', )) ->values(array( 'filename' => 'includes/database/mysql/install.inc', @@ -53390,51 +58428,51 @@ )) ->values(array( 'filename' => 'includes/database/mysql/query.inc', - 'hash' => '0212a871646c223bf77aa26b945c77a8974855373967b5fb9fdc09f8a1de88a6', + 'hash' => 'cddf695f7dbd483591f93af805e7118a04eac3f21c0105326642c6463587670c', )) ->values(array( 'filename' => 'includes/database/mysql/schema.inc', - 'hash' => '6f43ac87508f868fe38ee09994fc18d69915bada0237f8ac3b717cafe8f22c6b', + 'hash' => 'c34aa7b7d2cb4662965497ff86f242224116bbd9b72ca6287c12039a65feb72e', )) ->values(array( 'filename' => 'includes/database/pgsql/database.inc', - 'hash' => 'd737f95947d78eb801e8ec8ca8b01e72d2e305924efce8abca0a98c1b5264cff', + 'hash' => 'f53cb5779d702dde7aefacf8ee25d67cac48d3b94cd8d64057d42c61c5713526', )) ->values(array( 'filename' => 'includes/database/pgsql/install.inc', - 'hash' => '585b80c5bbd6f134bff60d06397f15154657a577d4da8d1b181858905f09dea5', + 'hash' => '39587f26a9e054afaab2064d996af910f1b201ef1c6b82938ef130e4ff8c6aab', )) ->values(array( 'filename' => 'includes/database/pgsql/query.inc', - 'hash' => '0df57377686c921e722a10b49d5e433b131176c8059a4ace4680964206fc14b4', + 'hash' => 'bb04ae9239c2179aeb3ef0a55596ee5ae0ddfb5dfd701896c41bf8c42a62280b', )) ->values(array( 'filename' => 'includes/database/pgsql/schema.inc', - 'hash' => '1588daadfa53506aa1f5d94572162a45a46dc3ceabdd0e2f224532ded6508403', + 'hash' => '0eb77d1d8b30988ba89cbacbcbbc3b66d8ab98b8be8dfa4208a50a45ee77b6e2', )) ->values(array( 'filename' => 'includes/database/pgsql/select.inc', - 'hash' => 'fd4bba7887c1dc6abc8f080fc3a76c01d92ea085434e355dc1ecb50d8743c22d', + 'hash' => '1e509bc97c58223750e8ea735145b316827e36f43c07b946003e41f5bca23659', )) ->values(array( 'filename' => 'includes/database/prefetch.inc', - 'hash' => 'b5b207a66a69ecb52ee4f4459af16a7b5eabedc87254245f37cc33bebb61c0fb', + 'hash' => '026b6b272a91bae5d9325477530167e737b29bf988553a28cdf72fc1d1ea57ed', )) ->values(array( 'filename' => 'includes/database/query.inc', - 'hash' => '4016a397f10f071cac338fd0a9b004296106e42ab2b9db8c7ff0db341658e88f', + 'hash' => 'f4792f623339ba9097e2af5a4785a3d7d836c831af3894506ddacaa124dd892c', )) ->values(array( 'filename' => 'includes/database/schema.inc', - 'hash' => '9fecfd13fc1d4056a62d385840dccd052ea0e184dc47101f4bd8f57f10b68174', + 'hash' => 'da9d48f26c3a47a91f1eb2fa216e9deab2ec42ba10c76039623ce7b6bc984a06', )) ->values(array( 'filename' => 'includes/database/select.inc', - 'hash' => '5e9cdc383564ba86cb9dcad0046990ce15415a3000e4f617d6e0f30a205b852c', + 'hash' => '72eeb85a2739c56d25e359c17847d3094e1a67164a2eb85e70b5260cb7d5c79d', )) ->values(array( 'filename' => 'includes/database/sqlite/database.inc', - 'hash' => '4281c6e80932560ecbeb07d1757efd133e8699a6fccf58c27a55df0f71794622', + 'hash' => '22e80c5a02c143eace3628e196dded78552e6f2889d1989d052e2a37f46e7f0f', )) ->values(array( 'filename' => 'includes/database/sqlite/install.inc', @@ -53442,11 +58480,11 @@ )) ->values(array( 'filename' => 'includes/database/sqlite/query.inc', - 'hash' => 'f33ab1b6350736a231a4f3f93012d3aac4431ac4e5510fb3a015a5aa6cab8303', + 'hash' => '5d4dc3ac34cb2dbc0293471e85e37c890da3da6cd8c0c540c6f33313e4c0cbe9', )) ->values(array( 'filename' => 'includes/database/sqlite/schema.inc', - 'hash' => 'cd829700205a8574f8b9d88cd1eaf909519c64754c6f84d6c62b5d21f5886f8d', + 'hash' => '7bf3af0a255f374ba0c5db175548e836d953b903d31e1adb1e4d3df40d6fdb98', )) ->values(array( 'filename' => 'includes/database/sqlite/select.inc', @@ -53454,27 +58492,31 @@ )) ->values(array( 'filename' => 'includes/date.inc', - 'hash' => '18c047be64f201e16d189f1cc47ed9dcf0a145151b1ee187e90511b24e5d2b36', + 'hash' => '1de2c25e3b67a9919fc6c8061594442b6fb2cdd3a48ddf1591ee3aa98484b737', )) ->values(array( 'filename' => 'includes/entity.inc', - 'hash' => 'e4fc9ff21b165a804d7ac4f036b3b5bd1d3c73da7029bf3f761d4bdee9ae3c96', + 'hash' => 'd548abea63b68b5f59bbb59cf9ceeda53a7e96949cbbfe25ba3fce08f0a7c0e9', )) ->values(array( 'filename' => 'includes/errors.inc', - 'hash' => '72cc29840b24830df98a5628286b4d82738f2abbb78e69b4980310ff12062668', + 'hash' => '577e66843ac3ac0d6cb9d0808ff48d9e83acad0faeffad5dfe1ba09bf2631b97', )) ->values(array( 'filename' => 'includes/file.inc', - 'hash' => '9de0398940bf2db560902736f1832d8b72b3e8b49dbbaba5f94c9331425ee04a', + 'hash' => 'd0b26c57edd76096e28e3bb98a24129bf6070de1523106b03b53803ed883382b', )) ->values(array( 'filename' => 'includes/file.mimetypes.inc', 'hash' => '33266e837f4ce076378e7e8cef6c5af46446226ca4259f83e13f605856a7f147', )) +->values(array( + 'filename' => 'includes/file.phar.inc', + 'hash' => '544df23f736ce49f458033d6515a301a8ca1c7a7d1bfd3f388caef910534abb3', +)) ->values(array( 'filename' => 'includes/filetransfer/filetransfer.inc', - 'hash' => 'fdea8ae48345ec91885ac48a9bc53daf87616271472bb7c29b7e3ce219b22034', + 'hash' => '48a9cbcd6651a7fbf9fca9707ebc9fc79be36c33cd2f8c272b375123ce3f4dc3', )) ->values(array( 'filename' => 'includes/filetransfer/ftp.inc', @@ -53490,7 +58532,7 @@ )) ->values(array( 'filename' => 'includes/form.inc', - 'hash' => '9b37fe7e5d04b25604bbc63abb6b6d332be14926011533b4449de52d45a86765', + 'hash' => 'c6f9db191716ae0ea71bd79951e55344825fbc600e8e07057557593d614f6f9c', )) ->values(array( 'filename' => 'includes/graph.inc', @@ -53502,15 +58544,15 @@ )) ->values(array( 'filename' => 'includes/install.core.inc', - 'hash' => '733ec6fac8e51747d1c83f266a42e4a0cb6bf31ac50f17f06e37c9e0865f4a38', + 'hash' => 'b6f3e5d9bd4154f840253e34aed131bb401deb4fcb3421b379851231b8b4c149', )) ->values(array( 'filename' => 'includes/install.inc', - 'hash' => '781c54771c14b067bb38d222096f981121d479222fbdea9c433405de561a2881', + 'hash' => 'dc7b5c97803df3e8e80e62984fe820de53ebc4141b645f66f6344f51ef4d5b19', )) ->values(array( 'filename' => 'includes/iso.inc', - 'hash' => '0ce4c225edcfa9f037703bc7dd09d4e268a69bcc90e55da0a3f04c502bd2f349', + 'hash' => '09f14cce40153fa48e24a7daa44185c09ec9f56a638b5e56e9390c67ec5aaec8', )) ->values(array( 'filename' => 'includes/json-encode.inc', @@ -53522,7 +58564,7 @@ )) ->values(array( 'filename' => 'includes/locale.inc', - 'hash' => 'f8a3ba7868698e9b43c2ceaebe2cbdcb92d6c68427e817a6e10a76b937b5a127', + 'hash' => '3161313aaab94a956f855a2635d738806142b33f06734cdc3df81a3f3854fbdb', )) ->values(array( 'filename' => 'includes/lock.inc', @@ -53530,19 +58572,19 @@ )) ->values(array( 'filename' => 'includes/mail.inc', - 'hash' => 'd9fb2b99025745cbb73ebcfc7ac12df100508b9273ce35c433deacf12dd6a13a', + 'hash' => 'a7bef724e057f7410e42c8f33b00c9a0246a2ca2e856a113c9e20eecc49fc069', )) ->values(array( 'filename' => 'includes/menu.inc', - 'hash' => '2ecc6f990dc2d987425c680e27a4ddeec2e8376a2be408b00a144131f41a59ea', + 'hash' => '9cbc6636d5c5f9c681eea9fd9c09973e2e29b66bca38420883b657f9e1c0800a', )) ->values(array( 'filename' => 'includes/module.inc', - 'hash' => 'a18bc92e5fc1f2a31a79eace8c6f2436bc15c8f0b332c8b7aaafa3a223746861', + 'hash' => '75720e119c7fdc82bdefdd43e36661c990da6f69c1008e6f7997a6081590c8db', )) ->values(array( 'filename' => 'includes/pager.inc', - 'hash' => '6f9494b85c07a2cc3be4e54aff2d2757485238c476a7da084d25bde1d88be6d8', + 'hash' => 'a596da575268e116c140b65e4ec98e4006c04a188f65a1c48b766b6ee276853f', )) ->values(array( 'filename' => 'includes/password.inc', @@ -53550,19 +58592,23 @@ )) ->values(array( 'filename' => 'includes/path.inc', - 'hash' => '74bf05f3c68b0218730abf3e539fcf08b271959c8f4611940d05124f34a6a66f', + 'hash' => 'e399fc0af1f25cebda4b6c471ab203db8abe1a0fe15e632f19e614f32d71821e', )) ->values(array( 'filename' => 'includes/registry.inc', - 'hash' => 'f47b20859f0fc80bf4bb2849a1282d6c54006957b69da0e5f4691de585ca4cdf', + 'hash' => '2067cc87973e7af23428d3f41b8f8739d80092bc3c9e20b5a8858e481d03f22c', +)) +->values(array( + 'filename' => 'includes/request-sanitizer.inc', + 'hash' => '770e8ece7b53d13e2b5ef99da02adb9a3d18071c6cd29eb01af30927cf749a73', )) ->values(array( 'filename' => 'includes/session.inc', - 'hash' => '7548621ae4c273179a76eba41aa58b740100613bc015ad388a5c30132b61e34b', + 'hash' => '9981d139191b6a983f837e867058a376b62ae7cf5df607aee29e3e322a927b50', )) ->values(array( 'filename' => 'includes/stream_wrappers.inc', - 'hash' => '4f1feb774a8dbc04ca382fa052f59e58039c7261625f3df29987d6b31f08d92d', + 'hash' => '3244dae1fa57557f8d0d805fc163830ac1263914587f652f009594a0fa51eeaf', )) ->values(array( 'filename' => 'includes/tablesort.inc', @@ -53570,7 +58616,7 @@ )) ->values(array( 'filename' => 'includes/theme.inc', - 'hash' => '507932af124871dd2639ab8eafbbd68f962ef70f44ef1c4fd1a14daf04c53b5e', + 'hash' => 'ae46daba6419ca613bc6a08ba4d7f9bbab9b19889937099d2e4c1737e9e7b2df', )) ->values(array( 'filename' => 'includes/theme.maintenance.inc', @@ -53586,11 +58632,11 @@ )) ->values(array( 'filename' => 'includes/unicode.inc', - 'hash' => 'e18772dafe0f80eb139fcfc582fef1704ba9f730647057d4f4841d6a6e4066ca', + 'hash' => '89636ce5847340fd19be319839b4203b0d4bbc3487973413d6de9b5f6f839222', )) ->values(array( 'filename' => 'includes/update.inc', - 'hash' => '77403195059de797422d9d9202f18548a38558995120c7f9ffb9bd044730a3bc', + 'hash' => '25c30f1e61ef9c91a7bdeb37791c2215d9dc2ae07dba124722d783ca31bb01e7', )) ->values(array( 'filename' => 'includes/updater.inc', @@ -53606,11 +58652,11 @@ )) ->values(array( 'filename' => 'includes/xmlrpcs.inc', - 'hash' => '741aa8d6fcc6c45a9409064f52351f7999b7c702d73def8da44de2567946598a', + 'hash' => '925c4d5bf429ad9650f059a8862a100bd394dce887933f5b3e7e32309a51fd8e', )) ->values(array( 'filename' => 'modules/aggregator/aggregator.test', - 'hash' => '1288945ead1e0b250cb0f2d8bc5486ab1c67295b78b5f1ba0f77ade7bf1243b4', + 'hash' => '6219c2fd0469320614567b1229c994bfb3ef8b321c04316df542d1ba936c9c1d', )) ->values(array( 'filename' => 'modules/block/block.test', @@ -53622,23 +58668,23 @@ )) ->values(array( 'filename' => 'modules/book/book.test', - 'hash' => 'a75a4ec12f930d85adbf7c46d6a1a4ed1356657466874f21e9cc931b6cd41aa0', + 'hash' => '6cec3afcb077db3d3fe4bcbfe2011555b69d5588f0c01f181c86305d20a33eae', )) ->values(array( 'filename' => 'modules/color/color.test', - 'hash' => '013806279bd47ceb2f82ca854b57f880ba21058f7a2592c422afae881a7f5d15', + 'hash' => '9e05a4bbd51092c7fabe821fa1950a03347c4b2c0d15cdab91db0407b6e24b75', )) ->values(array( 'filename' => 'modules/comment/comment.module', - 'hash' => 'db858137ff6ce06d87cb3b8f5275bed90c33a6d9aa7d46e7a74524cc2f052309', + 'hash' => '6fa14cedb32d94a5c23ead69bc59ebd3dea04ccde583dc429c38097ca5ff39cc', )) ->values(array( 'filename' => 'modules/comment/comment.test', - 'hash' => '0443a4dbc5aef3d64405a7cabf462c8c5e0b24517d89410d261027b85292cd4b', + 'hash' => '570e35408ad9ca04d881bf2a4f1da6b28668dbb761e7616e8309b2d153d90e03', )) ->values(array( 'filename' => 'modules/contact/contact.test', - 'hash' => 'd49eedd71859fbb6ffa26b87226f640db56694c8f43c863c83d920cf3632f9ad', + 'hash' => '655e8d5fe7536a972c2233e438a142166b15a118cc644e94b756c2814c375634', )) ->values(array( 'filename' => 'modules/contextual/contextual.test', @@ -53650,7 +58696,7 @@ )) ->values(array( 'filename' => 'modules/dblog/dblog.test', - 'hash' => '11fbb8522b1c9dc7c85edba3aed7308a8891f26fc7292008822bea1b54722912', + 'hash' => '87a38f90f57c8a7069e9b34d461049d41388981fe1e16a8c437f0ff12753702e', )) ->values(array( 'filename' => 'modules/field/field.attach.inc', @@ -53658,47 +58704,47 @@ )) ->values(array( 'filename' => 'modules/field/field.info.class.inc', - 'hash' => 'cf18178e119d43897d3abd882ba3acc0cf59d1ad747663437c57b1ec4d0a4322', + 'hash' => '31deca748d873bf78cc6b8c064fdecc5a3451a9d2e9a131bc8c204905029e31f', )) ->values(array( 'filename' => 'modules/field/field.module', - 'hash' => 'e9359f8cac64b2d81ac067d7da22972116dc10b9b346752a8ef8292943a958c9', + 'hash' => '48b5b83f214a8d19e446f46c5d7a1cd35faa656ccb7b540f9f02462a440cacdd', )) ->values(array( 'filename' => 'modules/field/modules/field_sql_storage/field_sql_storage.test', - 'hash' => '315eedaf2022afc884c35efd3b7c400eddab6ea30bec91924bc82ab5cd3e79f2', + 'hash' => '9eb6699cbaf9d8af5879551135ac3acf13b2c356c3792666a38e237db297a97c', )) ->values(array( 'filename' => 'modules/field/modules/list/tests/list.test', - 'hash' => '97e55bd49f6f4b0562d04aa3773b5ab9b35063aee05c8c7231780cdcf9c97714', + 'hash' => '27dbff6becf419aab9652892e4ddcdf53000aa8699c3d5fc72c19af9a0ae52e6', )) ->values(array( 'filename' => 'modules/field/modules/number/number.test', - 'hash' => '9ccf835bbf80ff31b121286f6fbcf59cc42b622a51ab56b22362b2f55c656e18', + 'hash' => '4392f6fadf67c7533725e12bbe15ee2624cd54158e153f42f6cad3c28144395e', )) ->values(array( 'filename' => 'modules/field/modules/options/options.test', - 'hash' => 'c71441020206b1587dece7296cca306a9f0fbd6e8f04dae272efc15ed3a38383', + 'hash' => '9691cd4352c380e8dff0985b539bb3d69c20bc43663427a3d291c59395a87eed', )) ->values(array( 'filename' => 'modules/field/modules/text/text.test', - 'hash' => 'a1e5cb0fa8c0651c68d560d9bb7781463a84200f701b00b6e797a9ca792a7e42', + 'hash' => 'e93177e4fdf4dda8958822410470cfe3c68eca413f1e0eba12e8c03b42acf634', )) ->values(array( 'filename' => 'modules/field/tests/field.test', - 'hash' => '5eaad7a933ef8ea05b958056492ce17858cd542111f0fe81dd1a5949ad8f966e', + 'hash' => 'bb3abf8be54272b4e374bbfcd408694022a58a31354a4dfc99166846a68edbb4', )) ->values(array( 'filename' => 'modules/field_ui/field_ui.test', - 'hash' => 'ded58a83a37cf111834f68fde9c34cddc7f4d36b91f31281e41ed5220c65dac4', + 'hash' => 'f535e5627c969e9083a63aaf72d4ac645e30709d7b87af15c6c3b870481f283a', )) ->values(array( 'filename' => 'modules/file/tests/file.test', - 'hash' => '51d79794cbe647b2f5635ca9193b4d63bb9f99db4d9074676a80c55582b02985', + 'hash' => '6abb9228cc7caae3d1661f389377d3bbd2f590abed2214a1bc5e0860e857aaf3', )) ->values(array( 'filename' => 'modules/filter/filter.test', - 'hash' => '268488be9d8e6a4bfa906bbb5bbf1f0df5881c04a421cbefcd7aa4f05fb63ba0', + 'hash' => 'b8aa5e6b832422c6ad5fe963898ec9526c814614f27ecccb67107ce194997d6a', )) ->values(array( 'filename' => 'modules/forum/forum.test', @@ -53710,31 +58756,31 @@ )) ->values(array( 'filename' => 'modules/image/image.test', - 'hash' => '19459f5be2fb58058a984ef302d6f6defca20207324db25726d06a7743cc2960', + 'hash' => '09bc6e4e69eb11a12abc1ab4823227c528d9a72d2d3651626d129d4700fbaac6', )) ->values(array( 'filename' => 'modules/locale/locale.test', - 'hash' => '61c6a80ba44ff92e6ba4a350b7c95890368e2f9e029b8f84563df2490a8e93b1', + 'hash' => '0b54695190fe24e5024e4a445a8028dd51211852d63147ca8a907b87260275b1', )) ->values(array( 'filename' => 'modules/menu/menu.test', - 'hash' => '51817d6c591c28cf268145c2d39b41f66e453edf42c86472e61b7081da1d86bb', + 'hash' => 'db0600ff4e9d2159ecf26c991cbb81931edb32513a0bb7716964ee84006dd912', )) ->values(array( 'filename' => 'modules/node/node.module', - 'hash' => 'b594aa316e7d74024d633fb95a6e89a2c6c14cb108a481fd0b2521ec0e3316de', + 'hash' => 'a0431f275b291779ffd1061d7d98b6942106235350b807828e94c6929ad04a41', )) ->values(array( 'filename' => 'modules/node/node.test', - 'hash' => 'e2e485fde00796305fd6926c8b4e9c4e1919020a3ec00819aa5cc1d2b3ebcc5c', + 'hash' => '5d6e2853efb3f596525508e76f7f44d15621180f9ef51aaf957fc042fb21df1e', )) ->values(array( 'filename' => 'modules/openid/openid.test', - 'hash' => '3decf7faf3a9396671d52c6065a31f0ef81828015e0348a0ba9358b618e737a1', + 'hash' => 'a9de8727e9411002c28c0caee7fc347780ecebf18959c800683166b7f313416d', )) ->values(array( 'filename' => 'modules/path/path.test', - 'hash' => '2004183b2c7c86028bf78c519c6a7afc4397a8267874462b0c2b49b0f8c20322', + 'hash' => 'e7dabb4bbb7afd1b09adf1e64438b74726fc122422b31c7ae6d8e0ed2f7df6b6', )) ->values(array( 'filename' => 'modules/php/php.test', @@ -53742,11 +58788,11 @@ )) ->values(array( 'filename' => 'modules/poll/poll.test', - 'hash' => 'cc8486dc337471d13014954e1c1e4e5ad4956e4a0cbd395adbd064f8e5849c72', + 'hash' => '7030be7dee36cc35f62a35770287919ca0451362a86dbd8ddd44fd180c176ea3', )) ->values(array( 'filename' => 'modules/profile/profile.test', - 'hash' => 'afc23aa58769a84d94c4a6cef7b0ea2c9aa0edfdf2563a34757a1fb4d3d58233', + 'hash' => 'de3e5807b3dc5f658270194f6ef012b5ad858ca9ad79f2782a69531754b442a3', )) ->values(array( 'filename' => 'modules/rdf/rdf.test', @@ -53754,11 +58800,11 @@ )) ->values(array( 'filename' => 'modules/search/search.extender.inc', - 'hash' => '013a6a841cc48a6dc991153fb692b8d1546e56b78d9c95e97e0d7e92296d3481', + 'hash' => '1a92d28913cd9d7cd0d2ec007848e079c14e84a8bcb9423e70ad97309ac14eb6', )) ->values(array( 'filename' => 'modules/search/search.test', - 'hash' => '6512521f8de3a54238c8f337ae0aa105cab2bbc9a1addb5b1ccb755842656913', + 'hash' => 'e43c21510d510885dfad6484afa931382083b75b7e67286bda56a6aafe265f28', )) ->values(array( 'filename' => 'modules/shortcut/shortcut.test', @@ -53766,11 +58812,11 @@ )) ->values(array( 'filename' => 'modules/simpletest/drupal_web_test_case.php', - 'hash' => 'a4c07ab08d578cc9c4adfb39aaa98270cacc58885c1d61f3a71f207142f4fc0b', + 'hash' => '1083284bccd3bdd544892448225be6bd50ee5756a5c6f1d0b2d1402a5c2b58c5', )) ->values(array( 'filename' => 'modules/simpletest/simpletest.test', - 'hash' => '8112284b928297e326a2cb2a029a8ee35490732ce73ab0b54a91e9613a84e951', + 'hash' => '6277067fd886ab815b43166f7fc2d7d612c1e74250ef2c6d37409231e915cc7a', )) ->values(array( 'filename' => 'modules/simpletest/tests/actions.test', @@ -53790,7 +58836,7 @@ )) ->values(array( 'filename' => 'modules/simpletest/tests/bootstrap.test', - 'hash' => '4ccb0841905a34438e5b3acd712d0a1b52b6aa41535d3a64d3e50eff355a5dbe', + 'hash' => 'b899f759b13e991e1a7da7872ccac11d033b7ede9fd1247f75c5c1ba2964869e', )) ->values(array( 'filename' => 'modules/simpletest/tests/cache.test', @@ -53798,15 +58844,15 @@ )) ->values(array( 'filename' => 'modules/simpletest/tests/common.test', - 'hash' => 'aa2449d4ce5109bc9593901f34f74ce9caeea6450539a120afdf7a71f1e35276', + 'hash' => '93c11263dbe597216dd5d5ac4079d302df2de3325c875c24f1f9ea4d69654655', )) ->values(array( 'filename' => 'modules/simpletest/tests/database_test.test', - 'hash' => '64baa1520d815e049310ae697fa79390b6b0a02fb03d47c64d3caec8d40ab8e9', + 'hash' => '202ce3146c44b7cd074e25ecb508c83d9ae8c824f919dcdbb7f384e45181205b', )) ->values(array( 'filename' => 'modules/simpletest/tests/entity_crud.test', - 'hash' => '0db2e08cb15ef287ed622fa56cee85e6a61b6e7a8547c77531a80a9ec1379d87', + 'hash' => '5f37e407d2f9da2d13bb09250d8410f0b754da49067e1e52c3ff80bc304a7d1c', )) ->values(array( 'filename' => 'modules/simpletest/tests/entity_crud_hook_test.test', @@ -53818,19 +58864,19 @@ )) ->values(array( 'filename' => 'modules/simpletest/tests/error.test', - 'hash' => 'df8360738a4b3c946209a560ae83065728ae1aa56744cd8aaee398325a7cda60', + 'hash' => '8bc733264d5be80534e5b9b2d20c88f5c3990c49c09d66d6331b3acaa4912e39', )) ->values(array( 'filename' => 'modules/simpletest/tests/file.test', - 'hash' => '25fdee40ceb8c84f08677224db941e251906f2caa185b351de80eba76f20c90b', + 'hash' => 'a868d9ac5c41f9a502660d3edba32159d3ab0fb813d27b1fb51bfaa1eb046d59', )) ->values(array( 'filename' => 'modules/simpletest/tests/filetransfer.test', - 'hash' => 'a5ae7e24c43f994968d059c93d56be0dfd580699e2cb884afb074b9ae5895fd9', + 'hash' => '827431af2bb0359633c39a4748bc9b593759a260d1493445940e35a9fb04ca15', )) ->values(array( 'filename' => 'modules/simpletest/tests/form.test', - 'hash' => '1d932031c1b2e33947c1cb480457f9f6c95b1ee93bab6eab785c2cde290fd9d7', + 'hash' => '7c1249cb1dd9af5937c54b30345ad98e6c98df5c8d852264d9b02d157aeea1ff', )) ->values(array( 'filename' => 'modules/simpletest/tests/graph.test', @@ -53838,7 +58884,7 @@ )) ->values(array( 'filename' => 'modules/simpletest/tests/image.test', - 'hash' => 'fbad58b83e40aec654bf66835e30f81b83a76714efc560d73e7be3841ab5e996', + 'hash' => '2481007d8c75d450c26112e3c333f2e4af9fd580d9cfb150e8aaa7e85a711ecc', )) ->values(array( 'filename' => 'modules/simpletest/tests/lock.test', @@ -53846,19 +58892,19 @@ )) ->values(array( 'filename' => 'modules/simpletest/tests/mail.test', - 'hash' => '9f772652385048639264f64147eab2675e9e76be2258e70bbefc2f6f753d047f', + 'hash' => '3ed6b251f5c3926699f0b680f65489e619067ea6e4de920305b7a11c03d00efa', )) ->values(array( 'filename' => 'modules/simpletest/tests/menu.test', - 'hash' => 'b7602b23403271fd404646cd5f4970ce278eb3c014ed30676f1ba680cfd749a1', + 'hash' => 'd69a66ded52e5012a25a816c4bf6994705b395db82328885ac31335e430fedc9', )) ->values(array( 'filename' => 'modules/simpletest/tests/module.test', - 'hash' => '056de988f33d43c39e62f067af8f449f5192cd27bbbcf358a6e3b0d34d94167c', + 'hash' => '3fd14d8d64c3af3dd95e93e4fc3283803becd3702ce8bcd0e4cfb58bba39401d', )) ->values(array( 'filename' => 'modules/simpletest/tests/pager.test', - 'hash' => '9586bc07f5ed2791ae69e8cacf1a257ffe85dde3be7769ce6e84435a001bc296', + 'hash' => '999bda0384620ff7fdf8e4c150e0ca40d08c063b0ba4f3c0e6cff896b75de561', )) ->values(array( 'filename' => 'modules/simpletest/tests/password.test', @@ -53866,19 +58912,23 @@ )) ->values(array( 'filename' => 'modules/simpletest/tests/path.test', - 'hash' => '814b32c225e1a73f225b52c0e5a9579a754dd9f597cb71189fa0b62c5ce821ad', + 'hash' => '4d1212854ad28515c354d8855ed7feddce95fe0ab25049af5219020c3e3ac966', )) ->values(array( 'filename' => 'modules/simpletest/tests/registry.test', 'hash' => 'eadaa4f04ffbe49656ee9c8d477a4855de12f5f7fd6923894ab6565b86fde28f', )) +->values(array( + 'filename' => 'modules/simpletest/tests/request_sanitizer.test', + 'hash' => '7d0e607eff78a19a90f35264816d67e8b7247cfab3cc70acbe83c0eafba8ec32', +)) ->values(array( 'filename' => 'modules/simpletest/tests/schema.test', - 'hash' => '14a7975e040ae8d3a7c8bb82c9e26dabe78978f6371dec22ae8c81b71cf3e4bb', + 'hash' => 'dab8762069f1f39d732285e63e816ff74adf039e3afd490e3aaa12fe593341f4', )) ->values(array( 'filename' => 'modules/simpletest/tests/session.test', - 'hash' => '6416694ef7c79680f99e405468401567357c38abead1e0ce9e232a15e7dcd823', + 'hash' => '4a17c93fb504286398cce49043c525a52308bed909ff85c2f898e7e363a12270', )) ->values(array( 'filename' => 'modules/simpletest/tests/tablesort.test', @@ -53886,7 +58936,7 @@ )) ->values(array( 'filename' => 'modules/simpletest/tests/theme.test', - 'hash' => 'f542bdf4efc342609b8804767b793521c6641ab5cd31a7130865feeef5f2cfa1', + 'hash' => 'd2dae5c529c910ab08b60895115a6b1a7625774ef728fc48a06ade83544afdf0', )) ->values(array( 'filename' => 'modules/simpletest/tests/unicode.test', @@ -53898,7 +58948,7 @@ )) ->values(array( 'filename' => 'modules/simpletest/tests/upgrade/update.aggregator.test', - 'hash' => 'a2b6a574993591e93dacbd303a300b852775a3beea1343fb1f11578a8cdd26e1', + 'hash' => 'fb4c04c020722ff2a430f68b1d5b4248fd200d0c46757f467c55082909c64e7e', )) ->values(array( 'filename' => 'modules/simpletest/tests/upgrade/update.field.test', @@ -53914,59 +58964,59 @@ )) ->values(array( 'filename' => 'modules/simpletest/tests/upgrade/upgrade.comment.test', - 'hash' => 'a20a8b44b46a6bc1cc0f0a18e67a12933d0b101d463bcdc21212e5f35d93c379', + 'hash' => '4680ff86eac44b815f09cb5761cd05269531234a9cdd32173f4cf1796b15e8e5', )) ->values(array( 'filename' => 'modules/simpletest/tests/upgrade/upgrade.filter.test', - 'hash' => '0485b6d466476a85e7591eb4bdaf303b1b75a871038f1d5669a3f6d4cd81ecd0', + 'hash' => 'a73a708aaca2354f3383f488dcdc9594fd2f39c9babb60cc61a4e1f87e113713', )) ->values(array( 'filename' => 'modules/simpletest/tests/upgrade/upgrade.forum.test', - 'hash' => '6330fe5d85a81d7d5686da5a40cf18b275bef4c5819afb334f8fc0b043532bb4', + 'hash' => '5c323b21b20413adeadb994f002e85d4ee01b9f318a0a2ab4fea2ba25b9f9884', )) ->values(array( 'filename' => 'modules/simpletest/tests/upgrade/upgrade.locale.test', - 'hash' => 'ec2d285222dd85022a16daed2b3a3e951dba97ab4de9fd46d89d2064f5db7595', + 'hash' => '81f91bc55599124feada7754a9b33de32b9f489117e914a3daa2634b612f2fca', )) ->values(array( 'filename' => 'modules/simpletest/tests/upgrade/upgrade.menu.test', - 'hash' => 'fa6e46dcb1028e6c3faad86c50d3d9296d7a4095115ffb8d39b627dbd31996d7', + 'hash' => 'bbe507a367a7080dc4c32f89d54f1fab2559ab99aa2957fb657cc9b36f252d76', )) ->values(array( 'filename' => 'modules/simpletest/tests/upgrade/upgrade.node.test', - 'hash' => 'f16f1ae5b5b3584e4d1d119473a962112fb28796efb5283aaa8df2db0ddec364', + 'hash' => 'd5f34bd6e218a9fd1a6df4a9ceb5893ead12566fc5be516aaed5892f05fd2d76', )) ->values(array( 'filename' => 'modules/simpletest/tests/upgrade/upgrade.taxonomy.test', - 'hash' => '805528f81162014479d94e70bcaf234f818a1898d057e05d08b148a9120743b9', + 'hash' => '338bcfaa484637ac2d24289624b46e9ef836f8392a20bcbb13cf205ef7781bdc', )) ->values(array( 'filename' => 'modules/simpletest/tests/upgrade/upgrade.test', - 'hash' => '877364dd82e5e1ed28e1ee93c48fbec083237012f44038a8fef39d9c6cb8b4f9', + 'hash' => 'bbdf974735711a97f9a774d94470aedd1db9ff3e18fea5668b080233d1accd27', )) ->values(array( 'filename' => 'modules/simpletest/tests/upgrade/upgrade.translatable.test', - 'hash' => '7a53241c9df9c671fb1da2789fe32c0e0425267f1647293a89adadbfa49bc4ac', + 'hash' => 'e215bb35f01262678c066b088a7d817ebfa69c1ac96abbfc9f69660b7748c993', )) ->values(array( 'filename' => 'modules/simpletest/tests/upgrade/upgrade.trigger.test', - 'hash' => '4ba820349ef89f6eaa73f429c053e09f937d36808149a00563efa5b551e8669d', + 'hash' => '290da2f6349227bb0e031bdbb3087a1df1d4833926e50f959754079c6363ca34', )) ->values(array( 'filename' => 'modules/simpletest/tests/upgrade/upgrade.upload.test', - 'hash' => '8fc15f53a5ef54b48133a8525fcd384729563ba2d9bd49ab035549d07fabf3c4', + 'hash' => '4c49a9221403f8b2b857c7df85a402459c40600ebe6dd8251954f7fdfc57e8a0', )) ->values(array( 'filename' => 'modules/simpletest/tests/upgrade/upgrade.user.test', - 'hash' => '9c11a51f2bd262f957e6c609ec84b26ac9d1fa00feeb0078b7a12beb450daab3', + 'hash' => 'b63c413ea1c77d87b5bcca26a3fc1b6ad50ad6733bbf0ceae02b6182915d033e', )) ->values(array( 'filename' => 'modules/simpletest/tests/xmlrpc.test', - 'hash' => '1d9b1fe51d31722473478087d50ed09b180748047205cea936db49a74ade82e7', + 'hash' => '6a4f2fec0c3b8027655069ac71c41d9ee7ec7838257081ede18a4647d7dacec4', )) ->values(array( 'filename' => 'modules/statistics/statistics.test', - 'hash' => '3fd921d3cc26f9363bba0d6f29efb96c49c88ca51e2e2376b6554afaff8ceeb5', + 'hash' => '7abe4cce7ef548637d709e22cf340f9973b6d77615a470949d20a6426f5b08f2', )) ->values(array( 'filename' => 'modules/syslog/syslog.test', @@ -53974,39 +59024,39 @@ )) ->values(array( 'filename' => 'modules/system/system.archiver.inc', - 'hash' => 'faa849f3e646a910ab82fd6c8bbf0a4e6b8c60725d7ba81ec0556bd716616cd1', + 'hash' => '05caceec7b3baecfebd053959c513f134a5ae4070749339495274a81bebb904a', )) ->values(array( 'filename' => 'modules/system/system.mail.inc', - 'hash' => 'd31e1769f5defbe5f27dc68f641ab80fb8d3de92f6e895f4c654ec05fc7e5f0f', + 'hash' => 'd2f4fca46269981db5edb6316176b7b8161de59d4c24c514b63fe3c536ebb4d6', )) ->values(array( 'filename' => 'modules/system/system.queue.inc', - 'hash' => 'a60cff401fc410cd81dc1d105ed66f79396ed7b15fdc3a5c5b80593ad5d4352a', + 'hash' => 'a77a5913d84368092805ac551ca63737c1d829455504fcccb95baa2932f28009', )) ->values(array( 'filename' => 'modules/system/system.tar.inc', - 'hash' => '8a31d91f7b3cd7eac25b3fa46e1ed9a8527c39718ba76c3f8c0bbbeaa3aa4086', + 'hash' => '2dd9560bddab659f0379ef9eca095fc65a364128420d9d9e540ef81ca649a7d6', )) ->values(array( 'filename' => 'modules/system/system.test', - 'hash' => 'b53fdc9f28a49d9bdd819721a6bc4ae0e8a7b023a415e98672a99453187c1f1e', + 'hash' => 'f815c9be6f3059a891147aca5dd6f45a857cd608db78d683c529a29ebd5ab7a0', )) ->values(array( 'filename' => 'modules/system/system.updater.inc', - 'hash' => '338cf14cb691ba16ee551b3b9e0fa4f579a2f25c964130658236726d17563b6a', + 'hash' => '9433fa8d39500b8c59ab05f41c0aac83b2586a43be4aa949821380e36c4d3c48', )) ->values(array( 'filename' => 'modules/taxonomy/taxonomy.module', - 'hash' => '45d6d5652a464318f3eccf8bad6220cc5784e7ffdb0c7b732bf4d540e1effe83', + 'hash' => 'b246e538820cbd80b972e8a16b488b8974eb5dcfc16578f5405927c9727441a6', )) ->values(array( 'filename' => 'modules/taxonomy/taxonomy.test', - 'hash' => '8525035816906e327ad48bd48bb071597f4c58368a692bcec401299a86699e6e', + 'hash' => '4db45ebdc63089e79cce177221ffc50658554688c9b467226b7afb2da7e35940', )) ->values(array( 'filename' => 'modules/tracker/tracker.test', - 'hash' => 'bea7303dfe934afeb271506da43bcf24a51d7d5546181796d7f9f70b6283ed67', + 'hash' => '5669b4d8f6ea7f652a4dd47f31de6b68f2cbc087e30fedbf7db0df5bef1470c2', )) ->values(array( 'filename' => 'modules/translation/translation.test', @@ -54014,19 +59064,23 @@ )) ->values(array( 'filename' => 'modules/trigger/trigger.test', - 'hash' => '662f1a55e62832d7d5258965ca70ebe9d36ce8ae34e05fda2a2f9dc72418978b', + 'hash' => '589376e9ce183c4dcb6c8ef49fd8c0295247fd1cf49c5237d770bf73058ef725', )) ->values(array( 'filename' => 'modules/update/update.test', - 'hash' => '1ea3e22bd4d47afb8b2799057cdbdfbb57ce09013d9d5f2de7e61ef9c2ebc72d', + 'hash' => '994b66b737f16eb98ee18c9e9ecd62e86de2792159e70b36982e95b48f2746a3', )) ->values(array( 'filename' => 'modules/user/user.module', - 'hash' => '88bb508e0eb658281b085cd07c81808bd9634bba8a2271515c1d68079d58817d', + 'hash' => '6762ef76e12db1f48e2856d0f5c420ecdaa29fff26775275c1ff9d7e357e7b4d', )) ->values(array( 'filename' => 'modules/user/user.test', - 'hash' => '178320fdb9a0c8754f1fa7272f68f536dcb94ae82ce7d0fc6a0f8a476c1f6922', + 'hash' => '09b1d7ade399e4fc65ce86e39ed33ee62f36e51cda5c25687eb7fa1e51cc06b8', +)) +->values(array( + 'filename' => 'sites/all/modules/breakpoints/breakpoints.test', + 'hash' => '3d0dae6143ff9903554128f599a4156d852e57d5665e5cebc2ecc55f5eaef962', )) ->values(array( 'filename' => 'sites/all/modules/ctools/includes/context.inc', @@ -54082,59 +59136,99 @@ )) ->values(array( 'filename' => 'sites/all/modules/date/date.migrate.inc', - 'hash' => '47ffb48daf97c13ef154cf2ffff577018f02a7091b85dfb39e9c2c89e1da6a5d', + 'hash' => '3fec62a1b4d4860bb56f65834f210f7eaf88834fa3eace42ca23e758366c3d0c', +)) +->values(array( + 'filename' => 'sites/all/modules/date/date_all_day/tests/DateAllDayUiTestCase.test', + 'hash' => '77fccf66c797453a1c2c47901aaba102a02037ac91076d5a1c9674dd73c8ad43', )) ->values(array( 'filename' => 'sites/all/modules/date/date_api/date_api.module', - 'hash' => 'af2124c5727d839871309b31fe288fe3945d6ef67eb469ddcc02839be98860dc', + 'hash' => 'dd47bba4cda203e53a59ae3a0fceee0f2142af27247cd5cf9a572d534628940b', )) ->values(array( 'filename' => 'sites/all/modules/date/date_api/date_api_sql.inc', - 'hash' => '5a484b487c13fd6094348e2011c19e72d6c6c9ceb0b0a4143ef5542cd1c495fa', + 'hash' => '75d63062024609e31649d71564d488e4dc4c58600af5e0d31418482c61282b2f', +)) +->values(array( + 'filename' => 'sites/all/modules/date/date_api/tests/DateApiTestCase.test', + 'hash' => 'b5c1b3f1ec0d5ff3b1daa1d28fccf185b7bd9c8baafb15432a6188a678b97711', +)) +->values(array( + 'filename' => 'sites/all/modules/date/date_api/tests/DateApiUnitTestCase.test', + 'hash' => '941b4fb0ab683801a3baa41c8da5987e0772892934659df5c53d705fb46e2507', +)) +->values(array( + 'filename' => 'sites/all/modules/date/date_popup/tests/DatePopupFieldTestCase.test', + 'hash' => '91a40fbbfa9d764a9fe64a9cf7a6ec918125201689f2729bb15c2cf4d3272047', +)) +->values(array( + 'filename' => 'sites/all/modules/date/date_popup/tests/DatePopupValidationTestCase.test', + 'hash' => '77106bb5dbfb3e5bb19a8c1b48ef3b08defa0f8c784836a6587f1d264e0be146', +)) +->values(array( + 'filename' => 'sites/all/modules/date/date_popup/tests/DatePopupWithViewsTestCase.test', + 'hash' => '86ca5fa9f4ae198b39b5416945922909f72ac1dd136d5b4e4ea32bee7cfc386f', )) ->values(array( 'filename' => 'sites/all/modules/date/date_repeat/tests/date_repeat.test', - 'hash' => '3702268fa89aa7ed9bcae025f0fb21bd67f90e89d53122049854de60a5316d4a', + 'hash' => '1bdd55de5ffa1928c97bb34ef730c8737a2c9b014c125a4944734613a239c771', )) ->values(array( 'filename' => 'sites/all/modules/date/date_repeat/tests/date_repeat_form.test', - 'hash' => '2ec4e5d57d5b9f1adf81505d40890c63dc684f2d0f00669b9c8c12518eb3bf4a', + 'hash' => '43378ddf7bafcee0d1edff8ee6fe25e7feeef00f62d74aed32799860d7dc6ebc', +)) +->values(array( + 'filename' => 'sites/all/modules/date/date_repeat_field/tests/DateRepeatFieldTestCase.test', + 'hash' => '3f80bd729f487ae583c35c4c02283d0f017acab5e166ada327feb1dcaaf6e07e', +)) +->values(array( + 'filename' => 'sites/all/modules/date/date_tools/tests/DateToolsTestCase.test', + 'hash' => '2ec6ea450536c7732a816b98bfdd071e6f6102ef913b7279e511d079a09f76ea', +)) +->values(array( + 'filename' => 'sites/all/modules/date/date_views/tests/date_views_filter.test', + 'hash' => '67f89e36fac1ed70ff7415c04570cfd8fe4760b9d14e5bc823e4727341b4085e', +)) +->values(array( + 'filename' => 'sites/all/modules/date/date_views/tests/date_views_pager.test', + 'hash' => 'd933a4ef64f2dd4a7bca5bc898a178befd6c820279890698767c400806f8db74', )) ->values(array( - 'filename' => 'sites/all/modules/date/date_tools/tests/date_tools.test', - 'hash' => 'bdb9b310295207ce2284b23556810296e1477b9604e98a3d0fb21aba7da04394', + 'filename' => 'sites/all/modules/date/tests/DateEmwTestCase.test', + 'hash' => 'd9d1b6a3700327a99599e0385a4d4acb16ba9a0d66ed004bfa75d56fa589a4e1', )) ->values(array( - 'filename' => 'sites/all/modules/date/tests/date.test', - 'hash' => '6cb38e9ed60bfdfa268051b47fcad699f1c8104accc7286abafbeddbbc9d143c', + 'filename' => 'sites/all/modules/date/tests/DateFieldTestBase.test', + 'hash' => '901a2a2127ccc5190590277246acf06a7d9af7db1f4de3afa5962764c52b62e4', )) ->values(array( - 'filename' => 'sites/all/modules/date/tests/date_api.test', - 'hash' => '280148ca742592a1e22f663fe4d810532b95d09975db0182347a0bbd6917f996', + 'filename' => 'sites/all/modules/date/tests/DateFieldTestCase.test', + 'hash' => '06868eeb56be6956da92a60e7b9b8bfc179a8d041af1cd45e76442f1c92046cc', )) ->values(array( - 'filename' => 'sites/all/modules/date/tests/date_field.test', - 'hash' => 'bae59aee63ed204e27909709e59eeae1a6192e5f7456de2ce2cce06c49732dc4', + 'filename' => 'sites/all/modules/date/tests/DateFormTestCase.test', + 'hash' => '8f43dff86e8b79ce5fd08be4332322a47bb78bf61af94d7019cfc3793460077b', )) ->values(array( - 'filename' => 'sites/all/modules/date/tests/date_migrate.test', - 'hash' => 'a43f448732d474c5136d89ff560b7e14c1ff5622f9c35a1998aa0570cd0c536c', + 'filename' => 'sites/all/modules/date/tests/DateMigrateTestCase.test', + 'hash' => '58f3d573f004199b2ce4bfe4c30aea457659115f8b6ee959c07a21cac1cd976e', )) ->values(array( - 'filename' => 'sites/all/modules/date/tests/date_timezone.test', - 'hash' => '598ac52aa82f79fe90faa401c2c6dc7114295c0321800ea9a9b4058717d00409', + 'filename' => 'sites/all/modules/date/tests/DateNowUnitTestCase.test', + 'hash' => 'd2e17e5a49c56c84bf115cabeccc9c0f8b735ae95433a08962eb790633efd4b6', )) ->values(array( - 'filename' => 'sites/all/modules/date/tests/date_validation.test', - 'hash' => '2e4d27c29192c9d55eb27b985d7e9838702c4324d36ed6e3a85999e9f25ada99', + 'filename' => 'sites/all/modules/date/tests/DateTimezoneTestCase.test', + 'hash' => '55bf0f1bc26cf54f95fd74c9fe0e91b5278e4fab27e28b86c36047da28d00f62', )) ->values(array( - 'filename' => 'sites/all/modules/date/tests/date_views_pager.test', - 'hash' => 'aceff66e11dd3ea418e9905b28384432f4fe7cf9746e711cf56add73e64336dd', + 'filename' => 'sites/all/modules/date/tests/DateUiTestCase.test', + 'hash' => 'c118dbbf38a96407a539d214f9833a6ecad1ff4644820fa56b80d2f99eeae22b', )) ->values(array( - 'filename' => 'sites/all/modules/date/tests/date_views_popup.test', - 'hash' => '0684ad4977093fd7338eb045f85ceda195e82f50bd33fecbf0dca00e42b0385e', + 'filename' => 'sites/all/modules/date/tests/DateValidationTestCase.test', + 'hash' => '675c3dce13d95e424364de4db2c49d88cba19ce8eb86530341374c82a3b1292f', )) ->values(array( 'filename' => 'sites/all/modules/email/email.migrate.inc', @@ -54142,7 +59236,7 @@ )) ->values(array( 'filename' => 'sites/all/modules/entity/entity.features.inc', - 'hash' => '47261e1f4f39ac3707a16fdea8a8147c09df1281bcb4b9e46b0c8120603137e8', + 'hash' => '53f537caf6ad9355fb92b2c6db019959abdf399d80764151dd976b0891f37436', )) ->values(array( 'filename' => 'sites/all/modules/entity/entity.i18n.inc', @@ -54158,35 +59252,35 @@ )) ->values(array( 'filename' => 'sites/all/modules/entity/entity.test', - 'hash' => 'df253128e41f152b45ef30b5674009c51cf4112450e5dad8e815f39ced280db5', + 'hash' => 'aba6490cd2041438d832dc8f63b213e0d171a5a218f6d51a9fe00c51e95069ce', )) ->values(array( 'filename' => 'sites/all/modules/entity/includes/entity.controller.inc', - 'hash' => '342db185e6170b63c59a9b360a196eb322edb9a5b8c7819f66b0eae48ed13ebd', + 'hash' => 'b85d1882fae38ee8a0e82bf75952f44f65a58fd95e3bf0c3cb2a1321cf4d308a', )) ->values(array( 'filename' => 'sites/all/modules/entity/includes/entity.inc', - 'hash' => '57411fa3d7b5cd2afe8b84f20c1741f48c32673a9da07bd2c35d4a11c50c640e', + 'hash' => '02c3c8b1d4b7230f875c4fae8e6ba3bd57431e01f312b32f3ed305a7be734774', )) ->values(array( 'filename' => 'sites/all/modules/entity/includes/entity.ui.inc', - 'hash' => '65739b31af0e6b422919c17805799dc99143fd89cacfb56b9186e26ece2d0df2', + 'hash' => '49653cbbccc4b4e51f957727aa95803c149fac9565f53ed553e2cd1c1c3580ff', )) ->values(array( 'filename' => 'sites/all/modules/entity/includes/entity.wrapper.inc', - 'hash' => '0db08cbb6b730035e3e9a483e6e5c06a744a73f19e4ca83936446b44f0c3d158', + 'hash' => 'c728444ea73d4d5a7f0ec4cc80c7b749ab3134e1d0b973f8c001936c3dd5b861', )) ->values(array( 'filename' => 'sites/all/modules/entity/views/entity.views.inc', - 'hash' => 'de657f42389ed6832df787e4b618d8d7117b60d145d34ce5dcf3a5b65db29df9', + 'hash' => '089b8ed3103f62778be3395a99ddfbd84da4235f5ad431392f8984eaa4bf349f', )) ->values(array( 'filename' => 'sites/all/modules/entity/views/handlers/entity_views_field_handler_helper.inc', - 'hash' => '4ec395881109a71327ab8d7c5b5702bef30288ca66557e44e8539cc15a2135bb', + 'hash' => '88e4cbbbeab9bbaa4c928118bdefb158ea99f343f813cf88cce01ed7fbf8bf6a', )) ->values(array( 'filename' => 'sites/all/modules/entity/views/handlers/entity_views_handler_area_entity.inc', - 'hash' => '7b7bb88e53861739b7279f705f0492fc83ce95f5b20d89339480f546422ebf25', + 'hash' => '39ac643c4365394ac54190c4d130ea5787de423b9dadc14a470687a64cfbc8ab', )) ->values(array( 'filename' => 'sites/all/modules/entity/views/handlers/entity_views_handler_field_boolean.inc', @@ -54234,11 +59328,11 @@ )) ->values(array( 'filename' => 'sites/all/modules/entity/views/plugins/entity_views_plugin_row_entity_view.inc', - 'hash' => 'ba557790215f2658146424d933e0d17787a0b15180c5815f23428448ccf056a0', + 'hash' => 'e489ca209c66b76228383864b8267067e7cf3a1e375d9a195339f89932fed71f', )) ->values(array( 'filename' => 'sites/all/modules/entityreference/entityreference.migrate.inc', - 'hash' => '617c6c49e6e0fa4d106cfb49b61a6994b5520934ac3b64a8400a9d969eab7c59', + 'hash' => '6dfe7be97f3198bff6c145dce9a0f521c3695c380d24fe6d3feb97362363407d', )) ->values(array( 'filename' => 'sites/all/modules/entityreference/plugins/behavior/abstract.inc', @@ -54246,15 +59340,15 @@ )) ->values(array( 'filename' => 'sites/all/modules/entityreference/plugins/behavior/EntityReferenceBehavior_TaxonomyIndex.class.php', - 'hash' => '92fa0cf46ecdf6200659646e6666c562ea506c40efa41a8edd4758dc0c551b92', + 'hash' => '29e0f80ac52c1c313455a531404a3040c9160ecd173afd2e200ff99ffbab491c', )) ->values(array( 'filename' => 'sites/all/modules/entityreference/plugins/selection/abstract.inc', - 'hash' => '7ecf94f5dc3456e4a5c87117d19deb98c368617fb07d610505b1dfa351f14a0b', + 'hash' => '9c8cdf704c8e42cc2a63d4c8271d28c7b0aa7e0b1ec081ed7bd84712631e3e72', )) ->values(array( 'filename' => 'sites/all/modules/entityreference/plugins/selection/EntityReference_SelectionHandler_Generic.class.php', - 'hash' => 'e9a8a3c693ed24218d00c10c445cdb21daed10a26e6b55e5c9d6a8c616cfd871', + 'hash' => '3516c65d6048e182dcd1b7209ccf6838e17b1d342617d06e7a07ffed8bd549c6', )) ->values(array( 'filename' => 'sites/all/modules/entityreference/plugins/selection/views.inc', @@ -54262,23 +59356,27 @@ )) ->values(array( 'filename' => 'sites/all/modules/entityreference/tests/entityreference.admin.test', - 'hash' => 'bcd6516be3099ae87a4c3d41add08edd17eafb4244db8442c5dc15f19ebde7ae', + 'hash' => 'f9e581f0fd8481b12ae74779f28942b26d29b0df828ba092b7be87cab29e1172', )) ->values(array( 'filename' => 'sites/all/modules/entityreference/tests/entityreference.feeds.test', - 'hash' => '320c7480b1758e4d80e91c0a6ea3d43b6b35d1adfe00b6155b61ef786510bb7c', + 'hash' => 'b19193542031d2e1a247ffac8852e9219e5f7f0ed38298207ffe27cd1af9352a', +)) +->values(array( + 'filename' => 'sites/all/modules/entityreference/tests/entityreference.field.test', + 'hash' => '33483dbc58b1bfab047ae640bcf59a9a3e197cdb2d93240ef3bcb939cd4a2862', )) ->values(array( 'filename' => 'sites/all/modules/entityreference/tests/entityreference.handlers.test', - 'hash' => '2fa170925ac5303c519378f1763e918cc2f111205220d90998b547a08db90d8c', + 'hash' => 'be2ea3fab2b6a5116a5ff1292ec3d916fb48ae36001e064503ef3db952c99b99', )) ->values(array( 'filename' => 'sites/all/modules/entityreference/tests/entityreference.taxonomy.test', - 'hash' => '8e4f7d9ae621df0f587b6fcbf139adea2a35c69305ef018ced88447a41164c5f', + 'hash' => '28aed16bd109189d6b2bfc8f59d914c8e237190738fa23d81dbd6cf2c2bced9b', )) ->values(array( 'filename' => 'sites/all/modules/entityreference/views/entityreference_plugin_display.inc', - 'hash' => '9216a065ea4fdb2daacb1280e5c9549e3400b8553b5293534cf65a0d703ab189', + 'hash' => 'f70ee264eec52af076bea73e525bb09fa0fdb7bfe59353d7241ccc2673799a66', )) ->values(array( 'filename' => 'sites/all/modules/entityreference/views/entityreference_plugin_row_fields.inc', @@ -54286,47 +59384,247 @@ )) ->values(array( 'filename' => 'sites/all/modules/entityreference/views/entityreference_plugin_style.inc', - 'hash' => 'ad9a7ea5a37c2d9658c2b1d19ade3011c27ed5d9959423ebf7a390372507e6b0', + 'hash' => 'fef62f9375cbcadbfd1918227434193f45e4cc62964cb4fee22ab1d8d3b3bb26', +)) +->values(array( + 'filename' => 'sites/all/modules/entity_translation/entity_translation_i18n_menu/entity_translation_i18n_menu.test', + 'hash' => '5bae8493da737121bdc9e24654c3ef1fadb9998e031533f6c46d407f5ba2ddb5', +)) +->values(array( + 'filename' => 'sites/all/modules/entity_translation/entity_translation_upgrade/entity_translation_upgrade.test', + 'hash' => 'a7bff85b8ef693c394b387e3588cc4eaa730623df3f2505bc9a6e62e29de009a', +)) +->values(array( + 'filename' => 'sites/all/modules/entity_translation/includes/translation.handler.comment.inc', + 'hash' => 'c1667be0bdea8805be52b10bad904f60a278213b749d4c9903e3887b6165448c', +)) +->values(array( + 'filename' => 'sites/all/modules/entity_translation/includes/translation.handler.inc', + 'hash' => 'd470382679e75b63f370e7d476a737eb104e7bae0937668d912873bc2c94ce89', +)) +->values(array( + 'filename' => 'sites/all/modules/entity_translation/includes/translation.handler.node.inc', + 'hash' => '255963e0d0a38349e1c5cb3ff072819b9c39cb5760a71b312ddaac1dd2edbb82', +)) +->values(array( + 'filename' => 'sites/all/modules/entity_translation/includes/translation.handler.taxonomy_term.inc', + 'hash' => '587417ed1ba9debd4caef9b32722ca003be28c325d12f3fcb82b70384c095814', +)) +->values(array( + 'filename' => 'sites/all/modules/entity_translation/includes/translation.handler.user.inc', + 'hash' => '4574d55fc756f566bc10f574231ee7900a181fbaa68d647ae973d9e06b4167ac', +)) +->values(array( + 'filename' => 'sites/all/modules/entity_translation/includes/translation.handler_factory.inc', + 'hash' => '80ed7658c3d685bc18e7d29129893b2fb48dcda029e730241c1d0f53db7ad367', +)) +->values(array( + 'filename' => 'sites/all/modules/entity_translation/includes/translation.migrate.inc', + 'hash' => 'e5c56971c44ad5352089481e48e01fb83bfefbb5359c8033949ce5227a917d42', +)) +->values(array( + 'filename' => 'sites/all/modules/entity_translation/tests/entity_translation.test', + 'hash' => 'b3aa79b5d0805999336c000aafa63c9384303bd5018ca57d78cb94fa380eb854', +)) +->values(array( + 'filename' => 'sites/all/modules/entity_translation/views/entity_translation_handler_field_field.inc', + 'hash' => '4681a5b5e8963b562e6fbb39c3385024034f392162eb4ff7f52a1684db628ea8', +)) +->values(array( + 'filename' => 'sites/all/modules/entity_translation/views/entity_translation_handler_field_label.inc', + 'hash' => 'd31ea1af45150832df052fad29af729c6c028a54fa44d62a023a861bbeba744d', +)) +->values(array( + 'filename' => 'sites/all/modules/entity_translation/views/entity_translation_handler_field_translate_link.inc', + 'hash' => '78cfa9c4e9b074e5d45d887fe8f69a8966fc0112d95a6abc74b9b13421b58047', +)) +->values(array( + 'filename' => 'sites/all/modules/entity_translation/views/entity_translation_handler_filter_entity_type.inc', + 'hash' => 'd86bb73731c60f8ebaa3d8c29f837403935e91fe062c5ab6293901aa253da3e7', +)) +->values(array( + 'filename' => 'sites/all/modules/entity_translation/views/entity_translation_handler_filter_language.inc', + 'hash' => '44c3a6928b8f7cde5fea6ae7cff973982d6c7781a3c8be663838ff770435c939', +)) +->values(array( + 'filename' => 'sites/all/modules/entity_translation/views/entity_translation_handler_filter_translation_exists.inc', + 'hash' => '25d8ee7f5d45a5e3984572d00816368902121574f04277a67bbabd004b67f39a', +)) +->values(array( + 'filename' => 'sites/all/modules/entity_translation/views/entity_translation_handler_relationship.inc', + 'hash' => 'aac136a9eab8c4b832edd73b942e124c3fdf1f48b6c8a8d0bf5383ba1d32259c', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n.test', + 'hash' => 'c52b5076bfd40ec8820a1f58dd9ea6f8d0098c771f65d740298143137d52866e', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_block/i18n_block.inc', + 'hash' => '73eb3b7ba1e14cd12b51c7a94dcd2e5d701d1cee5aaf24d907aa282dbc9212c1', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_block/i18n_block.test', + 'hash' => 'b2608274dae333577514565b54b14f2ad8f84c3928fb0ea0ed848aa8db7375e6', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_field/i18n_field.inc', + 'hash' => 'b8c9b97f9dbc510e0e3b478e8fe21e86278a19ac5b8ddcf2da15c37d14afcc03', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_field/i18n_field.test', + 'hash' => '933758375305519b97501c2479834620d258881088cdbabb4a493f4e0054d068', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_forum/i18n_forum.test', + 'hash' => '90b38124594fea145afac37b8343cee5a08b0db5e4f4adfcdd5cd5da9231f263', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_menu/i18n_menu.inc', + 'hash' => '932080f89ff854073641d565e46d82b8ecb9221640ce63192ff080527fa89f6e', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_menu/i18n_menu.test', + 'hash' => 'c907c0cf68dec26504ede662d8afa254b3903d9a964e3099011d680de87acf0b', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_node/i18n_node.test', + 'hash' => '0009235387b1fb0a15ae46cea8e00539128f8a807c4e5f6c8abf27929ec28ff6', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_object.inc', + 'hash' => '13118a2525f7ef27040f1c4824fcd05258154fcba128bdb5802c0aac471293c8', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_path/i18n_path.test', + 'hash' => 'd625f7e36e653d8d55cf68e4366a647f5efc20689d3905d6fc77657752ac7584', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_select/i18n_select.test', + 'hash' => 'bfb4267be987278f079382f218433a191973f13f4f8c06077e719ca90fd744ed', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_string/i18n_string.admin.inc', + 'hash' => 'ace6c13b12cbb5379c803def1f4c4ba073457aa7fe84d1f87a4a4693e28b216c', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_string/i18n_string.inc', + 'hash' => '35569a693d0bb7df4035acefddc026087676f5671f0957ec56bbdd63eadd1fbc', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_string/i18n_string.test', + 'hash' => '5127520c1b08f78d3314d6df948b6a59eeb5a889c74687a196bfa3244c33f6d8', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_sync/i18n_sync.install', + 'hash' => '12b053b45d9f2741afd2eccae8fc5e267c0319319976b08125a789d8df76abca', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_sync/i18n_sync.module', + 'hash' => '24aed1c28846be9333241c6c84ef18cea642ad13c220e043112f9dbd7ec081b2', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_sync/i18n_sync.node.inc', + 'hash' => 'eeb55d7fca17c7b8396053a31d7a14e1a40643f87549648617c005115ef480c1', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_sync/i18n_sync.test', + 'hash' => '3da6de303a0d0443d312c44f72c6e346acb52688ffd1349b615640abb7a93ca5', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.admin.inc', + 'hash' => '5b609efc7ae96ddf4129dc9ee59a4a17fd522c8f9c6e148ffb1ac6eb24700246', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.inc', + 'hash' => '7bc643c59e25c8a00491bc70258821793bbcb232a70510eff071a02bb1e4343e', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.pages.inc', + 'hash' => 'cd0cb343cbfe113a13583450618163b90e6bee8778f79b6dc76ce12dfd13a2f4', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.test', + 'hash' => '29fc8c69345e4d2b8eda25ae5d7775772ff1432452f07d51d66b727857ba3690', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_translation/i18n_translation.inc', + 'hash' => 'e7e38105a080efcb1d947e7e6d2f1487127b166905b2722c516582827ddaf143', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_variable/i18n_variable.class.inc', + 'hash' => '8803cd58f313f348b08afb953c6ebcfc6ea2203e9751bee09326b882b346edc6', +)) +->values(array( + 'filename' => 'sites/all/modules/i18n/i18n_variable/i18n_variable.test', + 'hash' => 'b511aa2d4275a7464cb0aef90e308568a08ff523c80d6a63567cbeba94918e01', )) ->values(array( 'filename' => 'sites/all/modules/link/link.migrate.inc', - 'hash' => '0a17ff0daa79813174fff92e9db787e75e710fe757b6924eec193c66fe13f3df', + 'hash' => '329488d6a88a0cbcd68ebeffbb88cc12da3518b61e28744cd612474cf8e8a165', )) ->values(array( - 'filename' => 'sites/all/modules/link/link.module', - 'hash' => '3fdf23f9f409b80df5eee57207a5045c566422cef14128306835f7b1b03a5e66', + 'filename' => 'sites/all/modules/link/tests/LinkBaseTestClass.test', + 'hash' => 'eb3ab4b3a547e0b06e98ec09ede36438b47a64db079a2c55a4e0bb6368218271', +)) +->values(array( + 'filename' => 'sites/all/modules/link/tests/LinkConvertInternalPathsTest.test', + 'hash' => '5696b4cdaaf8253659a11395f79673a26c9596de58a6552532638807cf632050', +)) +->values(array( + 'filename' => 'sites/all/modules/link/tests/LinkDefaultProtocolTest.test', + 'hash' => 'b35360a8c21e242b5c8e34bb9b83e39e84f93d58aca8cc5513a42b95cec5cf3b', +)) +->values(array( + 'filename' => 'sites/all/modules/link/tests/LinkEntityTokenTest.test', + 'hash' => '37efc9d5193f71decc36c29779580c79d54abbfecad2caf14bd05b710176204b', +)) +->values(array( + 'filename' => 'sites/all/modules/link/tests/LinkFieldAttributesTest.test', + 'hash' => '0682b64eb37a6020d81d1049c0ca53c0243fefc3cee3ec3e5b55970e6e1b5e86', +)) +->values(array( + 'filename' => 'sites/all/modules/link/tests/LinkFieldCrudTest.test', + 'hash' => '1ebd9285f414f56c80a0dc454a3193c0829f6fea40ec62a1fd69f6246a73d6c3', )) ->values(array( - 'filename' => 'sites/all/modules/link/tests/link.attribute.test', - 'hash' => '8c21045dbcf346edf8dc70c157d02074dd87372d4f60e7f5a4ae11683cd79399', + 'filename' => 'sites/all/modules/link/tests/LinkFieldValidateTest.test', + 'hash' => '46281a764f666d6edbc6f7efcd2d2e166fa35fe59e7a41d3c4a12eeca8995165', )) ->values(array( - 'filename' => 'sites/all/modules/link/tests/link.crud.test', - 'hash' => 'de19e2c5e8c6cb02f25d7051bdd1db77852379ac59ce8185c25b4bf927478f22', + 'filename' => 'sites/all/modules/link/tests/LinkPathPrefixesTest.test', + 'hash' => '85e24764e755d960f10111b2697836243b08b68f0be2b92e3968e0114ab0a5d5', )) ->values(array( - 'filename' => 'sites/all/modules/link/tests/link.crud_browser.test', - 'hash' => '07794771164033e14a635625ad08fdbcdc4dafa154db2ec0bd9a95ca30202eb5', + 'filename' => 'sites/all/modules/link/tests/LinkSanitizeTest.test', + 'hash' => '6a662005fa4370c7584b35d78c5989aeb5a4dcf6537a095cb3fb5c29ec49e07a', )) ->values(array( - 'filename' => 'sites/all/modules/link/tests/link.test', - 'hash' => 'fe5d8cd577fbfc07929e7216e115530a28777ace9b7135fbc853a3a78d550456', + 'filename' => 'sites/all/modules/link/tests/LinkTokenTest.test', + 'hash' => '04523630d058b3ceb0509dbc4cacc90b81f3c8d1c04cafeb8d1db20606969fa7', )) ->values(array( - 'filename' => 'sites/all/modules/link/tests/link.token.test', - 'hash' => '930af3b64ccabd58a14c8f596ee4b908596b4bee64174bfa34d55fbab7173da4', + 'filename' => 'sites/all/modules/link/tests/LinkUnitTestCase.test', + 'hash' => '57cbcc85ae344b38c1a374df68b8b1864af4eba82246a345a5355bf321fce668', )) ->values(array( - 'filename' => 'sites/all/modules/link/tests/link.validate.test', - 'hash' => '4fb3d9124767f43332f2e40bcca3aba98575dd1f6a286adfc8831607823986c5', + 'filename' => 'sites/all/modules/link/tests/LinkValidationApiTest.test', + 'hash' => '1bc0ad1d140be70511ad6082efb8ea0770593a692100c18e362f6925d29945a9', )) ->values(array( 'filename' => 'sites/all/modules/link/views/link_views_handler_argument_target.inc', - 'hash' => 'd77c23c6b085382c63e7dbce3d95afc9756517edcdc4cd455892d8333520d4c9', + 'hash' => '99203a8b7c5a6e39c75104836aada6d4034ab010c95f4dbdc28b020f32383da7', )) ->values(array( 'filename' => 'sites/all/modules/link/views/link_views_handler_filter_protocol.inc', - 'hash' => 'e10a0d2de73bfa9a56fadbac023c6ac16022ced40c0444ab6ffed1b5d7ea7358', + 'hash' => '7135d542a2f9bb7263870024324d5398208e3b6f1ddff7e3142e6b0de757d5ad', +)) +->values(array( + 'filename' => 'sites/all/modules/multiupload_filefield_widget/multiupload_filefield_widget.module', + 'hash' => '184be72d9c2b74973019acc74df64be6e5c5fdab2d2bcff5111f83cf5210865a', +)) +->values(array( + 'filename' => 'sites/all/modules/multiupload_filefield_widget/multiupload_filefield_widget.test', + 'hash' => 'd206793dfb93a72a82ddaf3dbc408e5944d0f2c47edbf838b037b594aa1fb8fe', )) ->values(array( 'filename' => 'sites/all/modules/phone/phone.migrate.inc', @@ -54448,81 +59746,177 @@ 'filename' => 'sites/all/modules/phone/tests/phone.za.test', 'hash' => 'c5491ab663972aa23ae2f917a0fc605a6136f02e1b207d3fc650ed1f251359ee', )) +->values(array( + 'filename' => 'sites/all/modules/references/node_reference/node_reference.test', + 'hash' => '5746afcbdfe47cfe75cce38c9690759cc2ab762bf2ae88d560aa0634dc671076', +)) +->values(array( + 'filename' => 'sites/all/modules/references/views/references_handler_argument.inc', + 'hash' => '8548d8cd4676fc24bb26d0cf1a81640bbb8e8528c4b5a49195ff6c3d1fc53c41', +)) +->values(array( + 'filename' => 'sites/all/modules/references/views/references_handler_relationship.inc', + 'hash' => '8fbf980fc3c9300ccb95e5efc4fa402233e4c9d4ed7a6d26b70264e37008c6e4', +)) +->values(array( + 'filename' => 'sites/all/modules/references/views/references_plugin_display.inc', + 'hash' => 'eba22fcf16dff09cebd7f0864e8c7a51e1d1041e048dfda6160f6f7836741857', +)) +->values(array( + 'filename' => 'sites/all/modules/references/views/references_plugin_row_fields.inc', + 'hash' => '061ea853c8d82b60aa472f23fdbe050e089d52ea0ede9567ecb0fc21b0135f5b', +)) +->values(array( + 'filename' => 'sites/all/modules/references/views/references_plugin_style.inc', + 'hash' => 'b1761b3fdcb1fed613799011f148358b2a618d3f32126ca1c0465191d9885f74', +)) ->values(array( 'filename' => 'sites/all/modules/telephone/telephone.migrate.inc', 'hash' => '14561d51028bcf5b9e2f18654c3ba76eda444feb12ea6ac4e88fdbf4c1a35650', )) +->values(array( + 'filename' => 'sites/all/modules/title/tests/TitleAdminSettingsTestCase.test', + 'hash' => '1aa98eb4a80966ccefb2378bcbd842f4aef2235c53a087fbbc4c7e103b7c84e7', +)) +->values(array( + 'filename' => 'sites/all/modules/title/tests/TitleFieldReplacementTestCase.test', + 'hash' => '265bfc71f96b08e6ccd3c65286c218bed315d441e8b138ed03f6a18b139aa464', +)) +->values(array( + 'filename' => 'sites/all/modules/title/tests/TitleTranslationTestCase.test', + 'hash' => '1df6a3f30ac41bece9a7a95ce0007827f3a6ebd6748ed1507bb5e71ce2ff9d3c', +)) +->values(array( + 'filename' => 'sites/all/modules/title/views/views_handler_title_field.inc', + 'hash' => '683a24b01764154d49c1822233af47b196f48fe158acd9abe85449db4d743333', +)) +->values(array( + 'filename' => 'sites/all/modules/variable/includes/forum.variable.inc', + 'hash' => '84ab5992d648c704b2ae6d680cf8e02d3150cccd8939170f7e8fd82ac054b516', +)) +->values(array( + 'filename' => 'sites/all/modules/variable/includes/locale.variable.inc', + 'hash' => '27173d9c9e526a8ba88c5f48bf516aaac59ad932b64ef654621bc11f1ccd9f7a', +)) +->values(array( + 'filename' => 'sites/all/modules/variable/includes/menu.variable.inc', + 'hash' => 'bc776840ee32060a9fda616ca154d3fd315461fbe07ce822d7969b79fccd8160', +)) +->values(array( + 'filename' => 'sites/all/modules/variable/includes/node.variable.inc', + 'hash' => '596064101f8fbd3affdb61ca1240354ce0b51778601a8b02c021a1150bbf4e06', +)) +->values(array( + 'filename' => 'sites/all/modules/variable/includes/system.variable.inc', + 'hash' => '909bae0f1e3a4d85c32c385a92a58c559576fb60fd13a0e4f71127eee27afd3e', +)) +->values(array( + 'filename' => 'sites/all/modules/variable/includes/taxonomy.variable.inc', + 'hash' => '7792f07f8ea088cd8c3350e16f4cacef262c319c2e605dd911f17999a872f09e', +)) +->values(array( + 'filename' => 'sites/all/modules/variable/includes/translation.variable.inc', + 'hash' => '3e4e82f779986bfb32987d6b27bdab9f907ba5e18841847f138a20c42cf725d4', +)) +->values(array( + 'filename' => 'sites/all/modules/variable/includes/user.variable.inc', + 'hash' => 'b80094c1db0037f396f197bdd70c19e87afe76f4378c5c6089c4199af3bcb03a', +)) +->values(array( + 'filename' => 'sites/all/modules/variable/variable.test', + 'hash' => 'a6614814c24aee5ae1d2f2f8c23c08138466c41a82e57ee670e070d7cdd6e4b2', +)) +->values(array( + 'filename' => 'sites/all/modules/variable/variable_realm/variable_realm.class.inc', + 'hash' => 'ba523237a0e0116b3fdb3c86390fd2adc51b1cc50bab25d42995cd40a5b582bf', +)) +->values(array( + 'filename' => 'sites/all/modules/variable/variable_realm/variable_realm_union.class.inc', + 'hash' => 'e9597edd9bac66e6b7f078cee37c3ced317b2768821cdac77b8d4c2f68b2adcc', +)) +->values(array( + 'filename' => 'sites/all/modules/variable/variable_store/variable_store.class.inc', + 'hash' => '16870479d9464f0453d573e1384c808bae8319944fdf466e67ebdb53f6f8f54c', +)) +->values(array( + 'filename' => 'sites/all/modules/variable/variable_store/variable_store.test', + 'hash' => '1546243a6be757de0fd7f9fe1428152fb0e53a91453c53c72aebb06f6cef4311', +)) ->values(array( 'filename' => 'sites/all/modules/views/tests/comment/views_handler_argument_comment_user_uid.test', - 'hash' => 'b8b417ef0e05806a88bd7d5e2f7dcb41339fbf5b66f39311defc9fb65476d561', + 'hash' => 'ec9e9668eb1ae33364125feae864e2984b731cc6d6f66874f9b56c5729a42cc3', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/comment/views_handler_filter_comment_user_uid.test', - 'hash' => '347c6ffd4383706dbde844235aaf31cff44a22e95d2e6d8ef4da34a41b70edd1', + 'hash' => 'd62fe3f3257efc0eaf742e3c177ea3f1bd5efb9fc8f91dc1bc5e9e6196085bd7', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/field/views_fieldapi.test', - 'hash' => '53e6d57c2d1d6cd0cd92e15ca4077ba532214daf41e9c7c0f940c7c8dbd86a66', + 'hash' => 'a85c1dddb1c128b40dabbcb02c7013ae96b2da15a2df766b5317483fd4484aba', )) ->values(array( - 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_area_text.test', - 'hash' => 'af74a74a3357567b844606add76d7ca1271317778dd7bd245a216cf963c738b4', + 'filename' => 'sites/all/modules/views/tests/handlers/views_handlers.test', + 'hash' => '44f3dd30909d43e250c726e312290a522131c7f0d3048fc5f8583fc8c5986f72', )) ->values(array( - 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_argument_null.test', - 'hash' => '1d174e1f467b905d67217bd755100d78ffeca4aa4ada5c4be40270cd6d30b721', + 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_area_text.test', + 'hash' => '3553a85c6d86992a17029eac182b486940393cee0c06380cf9f60ed208a57b5f', )) ->values(array( - 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_argument_string.test', - 'hash' => '3d0213af0041146abb61dcdc750869ed773d0ac80cfa74ffbadfdd03b1f11c52', + 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_argument_null.test', + 'hash' => 'e9adbe3e322cc8b536d79b5b915cab97102199abf2a14ad7a6374cfd18246372', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_field.test', - 'hash' => 'af552bf825ab77486b3d0d156779b7c4806ce5a983c6116ad68b633daf9bb927', + 'hash' => 'd4a833179c4f9aa57c42ef951b9e6d5a9304281e7aeb8c7dbe92ed6b24251cb4', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_field_boolean.test', - 'hash' => 'd334b12a850f36b41fe89ab30a9d758fd3ce434286bd136404344b7b288460ae', + 'hash' => 'c9f409147fe545a413b365ee37e0758a47291165effc76f0ae8743f84915053d', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_field_counter.test', - 'hash' => '75b31942adf06b107f5ffd3c97545fde8cd1040b1d00f682e3c7c1320026e26c', + 'hash' => '86f4514cfa72192034db1ef70723cb2b2b1ffde6e4e5fb4212ec959cd5697ba6', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_field_custom.test', - 'hash' => '1446bc3d5a6b1180a79edfa46a5268dbf7f089836aa3bc45df00ddaff9dd0ce1', + 'hash' => '57d1f7d01e57f8e2a9694340684344f5e7d6d5c90bad8679aba591192c1f6a2d', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_field_date.test', - 'hash' => '6f45326d7f74127956d9d8e4d7ad96a4beb0f66175fa40daf1d618d1a5fa996d', + 'hash' => '27f9b23bc31068a3f2a2f5b6678388dd4175b66f758b60e9a996e061a2e3a789', +)) +->values(array( + 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_field_file_extension.test', + 'hash' => '0f9c376f31ca47ecc0f01548d451c548ef7bebe8a07974def77e6725badda4e6', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_field_file_size.test', - 'hash' => '49184db68af398a54e81c8a76261acd861da8fd7846b9d51dcf476d61396bfb9', + 'hash' => '9c951d86dad9df3fca72b20abcb1345a0473578324a454c75d8a5a22e8b68015', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_field_math.test', - 'hash' => '6e39e4f782e6b36151ceafb41a5509f7c661be79b393b24f6f5496d724535887', + 'hash' => 'bbf418c1be15c20d4ddf09add1620f19ff91dc66611e8426a5528900ad9baf60', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_field_url.test', - 'hash' => 'b41f762a71594b438a2e60a79c8260ba54e6305635725b0747e29f0d3ffe08c9', + 'hash' => '0c0e54a93ffd5890b81807e0d0440d061f771fafc6d99943d5d9dfc4a1702686', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_field_xss.test', - 'hash' => 'f129ee16c03f84673e33990cbb2da5aa88c362f46e9ba1620b2a842ffd1c9cd2', + 'hash' => '17f33ec5473f0ddf8fbce6a3dfe3e65c0e51b7b13a0afc1b6d3dcf3667d4d83b', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_filter_combine.test', - 'hash' => '05842d83a11822afe7d566835f5db9f0f94fdb27ddfc388d38138767bdf36f8b', + 'hash' => '40dd1c5db7f8f225999dd1f7acd616269ad6d67155dcb8f843349597ac5a0a13', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_filter_date.test', - 'hash' => '045cc449b68bbd5526071bf38c505b6d44f6c91868273c3120705c3bad250aee', + 'hash' => 'a26c239c803507d2716ad35c4b3ee6b5339628f45d46dcd2a5d505769309c503', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_filter_equality.test', - 'hash' => 'c88f21c9cbf1aae83393b26616908f8020c18fe378d76256c7ba192df2ec17af', + 'hash' => 'df783f081546df2f3f77ac69665cd95a5725bdccc5673ab35a79a59aca08ce1a', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_filter_in_operator.test', @@ -54530,35 +59924,39 @@ )) ->values(array( 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_filter_numeric.test', - 'hash' => '35ac7a34e696b979e86ef7209b6697098d9abe218e30a02cc4fe39fb11f2a852', + 'hash' => '818f73baea9d062dbc7e4ef35444c6cbb26b4b60ed3972c6d9e697162c755d05', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_filter_string.test', - 'hash' => 'b7d090780748faad478e619fd55673d746d4a0cf343d9e40ea96881324c34cbd', + 'hash' => '33eec214b52abf24b54fa7eae0758f9f0cd59468c11829f87f575baa2017b84e', +)) +->values(array( + 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_manytoone.test', + 'hash' => '378fed0a25f7466666441a8d1f6692b9434c026d8b31c1a8659d54f1026fbbf6', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_sort.test', - 'hash' => 'f4ff79e6bc54e83c4eb2777811f33702b7e9fe7416ef70ae00d100fa54d44fec', + 'hash' => 'ace33efab99798d8221871038b2298b9e645f22278dd015dda5fac6688ee54ee', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_sort_date.test', - 'hash' => 'f548584d7c6a71cabd3ce07e04053a38df3f3e1685210ce8114238fd05344c10', + 'hash' => '4f997b2d2afdb64747b087c7e118287bc58872d72740e5004e17e5ee6ef643c7', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/handlers/views_handler_sort_random.test', - 'hash' => '4fdba9bf05a26720ffa97e7a37da65ddc9044bd2832f8c89007b82feb062f182', + 'hash' => '9ff72485303fd209ef748c65d0cb52078400985b54f256b82f1b3bb28a323a1f', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/node/views_node_revision_relations.test', - 'hash' => '9467497a6d693615b48c8f57611a850002317bcb091b926d2efbbe56a4e61480', + 'hash' => '108f56a3381d1c9a72f85d5a681ebeff66c587d032d13ed229dfc32c7d0195d7', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/plugins/views_plugin_display.test', - 'hash' => '4a6b136543a60999604c54125fa9d4f5aa61a5dcc71e2133d89325d81bc0fc2d', + 'hash' => 'fb9399398d003056fe5b7d79f67de93b6a79a2a651f1041c73d5beedf632bfde', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/styles/views_plugin_style.test', - 'hash' => 'fb6c3279645fbcc1126acb3e1c908189e5240c647f81dcfd9b0761570c99d269', + 'hash' => 'ec6258fd8ae26ac1832cf2ad9d0f5625965168126413ed6dc7798d09b658db03', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/styles/views_plugin_style_base.test', @@ -54566,103 +59964,115 @@ )) ->values(array( 'filename' => 'sites/all/modules/views/tests/styles/views_plugin_style_jump_menu.test', - 'hash' => 'b88baa8aebe183943a6e4cf2df314fef13ac41b5844cd5fa4aa91557dd624895', + 'hash' => 'a78de0a289d2813b8b0c4a841c147d8e9c4a2dd6f6b8a7c89b7a62a9daee2520', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/styles/views_plugin_style_mapping.test', - 'hash' => 'a4e68bc8cfbeff4a1d9b8085fd115bfe7a8c4b84c049573fa0409b0dc8c2f053', + 'hash' => 'c0e4768100d803b5f1e48c2883ebb9951e538bd72cf4a7325a7c5c7970c2967a', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/styles/views_plugin_style_unformatted.test', - 'hash' => '033ca29d41af47cd7bd12d50fea6c956dde247202ebda9df7f637111481bb51d', + 'hash' => 'd22239d0812c2f28df86b1742a0968c8ce76f120072a7bf5631b839967ff757a', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/taxonomy/views_handler_relationship_node_term_data.test', - 'hash' => '6074f5c7ae63225ea0cd26626ace6c017740e226f4d3c234e39869c31308223d', + 'hash' => '6c4b72146690700987abca3f746e01278c0866438d5324263766fc4493802e12', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/user/views_handler_field_user_name.test', - 'hash' => '69641b6da26d8daee9a2ceb2d0df56668bf09b86db1d4071c275b6e8d0885f9e', + 'hash' => 'fa92b2055c02ea2c3cd5f9619848f299cc83a3d21638a7dd44804ea9e0644ad0', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/user/views_user.test', - 'hash' => 'fbb63b42a0b7051bd4d33cf36841f39d7cc13a63b0554eca431b2a08c19facae', + 'hash' => '59c88fe311319773d8d2e9d76b4f6b6f5731c86797e47760ec585295c376853c', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/user/views_user_argument_default.test', - 'hash' => '6423f2db7673763991b1fd0c452a7d84413c7dd888ca6c95545fadc531cfaaf4', + 'hash' => 'a2026a55bec3bfd84601f4c03ba5a284732f9797c61c175a906b11a8fbe8effc', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/user/views_user_argument_validate.test', - 'hash' => 'c88c9e5d162958f8924849758486a0d83822ada06088f5cf71bfbe76932d8d84', + 'hash' => '954b4b5886e74f20a113032734dfca6e5c1cfc068d31a5b9ba428337659a44e3', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/views_access.test', - 'hash' => 'f8b9d04b43c09a67ec722290a30408c1df8c163cf6e5863b41468bb4e381ee6f', + 'hash' => '3f17cc9257c3c12f24197106b27654e811801fc5d5639022e23a98c7b45e4d7f', +)) +->values(array( + 'filename' => 'sites/all/modules/views/tests/views_ajax.test', + 'hash' => '9741ae5e85382066f5a6401d1d85b333dedd741d13194c4dafcdc0ca81441e7b', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/views_analyze.test', - 'hash' => '5548e36c99bb626209d63e5cddbc31f49ad83865c983d2662c6826b328d24ffb', + 'hash' => 'f521c5e3c781d6eaf1ad58536a875c2c8cefc973a23087073653f397b7de89df', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/views_argument_default.test', - 'hash' => '5950937aae4608bba5b86f366ef3a56cc6518bbccfeaeacda79fa13246d220e4', + 'hash' => 'de7a8eb60e71b6bc2996d636bb91aa6c9c3adca6f857300b13c1e650d07ad66e', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/views_argument_validator.test', - 'hash' => '31f8f49946c8aa3b03d6d9a2281bdfb11c54071b28e83fb3e827ca6ff5e38c88', + 'hash' => '8fe3d99942cd98f981a08ab49b09eb8bb2cf1e2fb09b53dc1030abb59611edba', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/views_basic.test', - 'hash' => '655bd33983f84bbea68a3f24bfab545d2c02f36a478566edf35a98a58ff0c6cf', + 'hash' => 'e3715a9df468b1c2decb4d8a068a68ca6a3f8bd467066634075ee643d6cabb60', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/views_cache.test', - 'hash' => '76316e1f026c2ab81ef91450b9d6d5985cbfab087f839ea0edd112209bf84fd9', + 'hash' => '325ac3e8100fe1c9aa065a72bdd238c863bf51da269d2a686a36060d05ede112', +)) +->values(array( + 'filename' => 'sites/all/modules/views/tests/views_clone.test', + 'hash' => '99176a985b8e7ce8a83214f2a98a66394a2ebe7a852192e82f50d359bee89052', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/views_exposed_form.test', - 'hash' => '2b2b16373af8ecade91d7c77bd8c2da8286a33bde554874f5d81399d201c3228', + 'hash' => '0427bd048cab45f3f07aca9f96e8e8f083f464ca61975c107f63988ec9fbc9a1', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/views_glossary.test', - 'hash' => '118d50177a68a6f88e3727e10f8bcc6f95176282cc42fbd604458eeb932a36e8', + 'hash' => '777f21f55146c0f54a8fc3326a40cda1d47cfb8c4267c646ad38c76c9b1eb226', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/views_groupby.test', - 'hash' => 'ac6ca55f084f4884c06437815ccfa5c4d10bfef808c3f6f17a4f69537794a992', + 'hash' => 'db01e228395517ed4d0d8fa234a63a14781068f60e54d07e40ae7ef12052394d', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/views_handlers.test', - 'hash' => 'a696e3d6b1748da03a04ac532f403700d07c920b9c405c628a6c94ea6764f501', + 'hash' => '87f9e7bd3afa75f79bb1f3cdfff0b76fc4199174e197459b7c3f985c8256ffcd', +)) +->values(array( + 'filename' => 'sites/all/modules/views/tests/views_handler_filter.test', + 'hash' => '39f2aade9f7d32ca2dd3d22fe3c36eb973695e315e8bca6dd76cb72fd5734779', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/views_module.test', - 'hash' => '3939798f2f679308903d4845f5625dd60df6110aec2615e33ab81e854d0b7e73', + 'hash' => '2640ac503d4a832258f8836459b9228a6ce39849d199d407f85ff4a9d939c7a8', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/views_pager.test', - 'hash' => '6f448c8c13c5177afb35103119d6281958a2d6dbdfb96ae5f4ee77cb3b44adc5', + 'hash' => 'fd1e54a66c8f4c4b7bc811cf0466ea1c7bb8d961b8b592d2101ae168dbc8f613', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/views_query.test', - 'hash' => '1ab587994dc43b1315e9a534d005798aecaa14182ba23a2b445e56516b9528cb', + 'hash' => 'e7f5b1449539805086fd2b10239c8f702851a3dbefe8e93a89d85ab75361e9ff', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/views_translatable.test', - 'hash' => '6899c7b09ab72c262480cf78d200ecddfb683e8f2495438a55b35ae0e103a1b3', + 'hash' => '09e2091a84268085a75992b30b761c76a58b8ca2c1612e41d899c180ff8d9066', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/views_ui.test', - 'hash' => 'f9687a363d7cc2828739583e3eedeb68c99acd505ff4e3036c806a42b93a2688', + 'hash' => 'fbd2f7ed1320f28dc7ac17949296199218f9f10ee18bdc6c35c75c75e68876fb', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/views_upgrade.test', - 'hash' => 'c48bd74b85809dd78d963e525e38f3b6dd7e12aa249f73bd6a20247a40d6713a', + 'hash' => 'ebebe64dc1fd8b70908e11e6ad4e7b81c4ab472d3da4773fd6f46932764fc60e', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/views_view.test', - 'hash' => 'a52e010d27cc2eb29804a3acd30f574adf11fad1f5860e431178b61cddbdbb69', + 'hash' => '9fc3e62bfa6ad01bbf71b9b2ff065466290de378bd7adc28943dba1c1364fc83', )) ->execute(); $connection->schema()->createTable('role', array( @@ -54749,39 +60159,64 @@ 'module', )) ->values(array( - 'rid' => '3', - 'permission' => 'access administration pages', - 'module' => 'system', + 'rid' => '1', + 'permission' => 'access comments', + 'module' => 'comment', )) ->values(array( - 'rid' => '3', - 'permission' => 'access all views', - 'module' => 'views', + 'rid' => '1', + 'permission' => 'access content', + 'module' => 'node', )) ->values(array( 'rid' => '1', + 'permission' => 'use text format filtered_html', + 'module' => 'filter', +)) +->values(array( + 'rid' => '2', 'permission' => 'access comments', 'module' => 'comment', )) ->values(array( 'rid' => '2', - 'permission' => 'access comments', + 'permission' => 'access content', + 'module' => 'node', +)) +->values(array( + 'rid' => '2', + 'permission' => 'post comments', 'module' => 'comment', )) ->values(array( - 'rid' => '3', - 'permission' => 'access comments', + 'rid' => '2', + 'permission' => 'skip comment approval', 'module' => 'comment', )) ->values(array( - 'rid' => '1', - 'permission' => 'access content', - 'module' => 'node', + 'rid' => '2', + 'permission' => 'use text format custom_text_format', + 'module' => 'filter', )) ->values(array( 'rid' => '2', - 'permission' => 'access content', - 'module' => 'node', + 'permission' => 'use text format filtered_html', + 'module' => 'filter', +)) +->values(array( + 'rid' => '3', + 'permission' => 'access administration pages', + 'module' => 'system', +)) +->values(array( + 'rid' => '3', + 'permission' => 'access all views', + 'module' => 'views', +)) +->values(array( + 'rid' => '3', + 'permission' => 'access comments', + 'module' => 'comment', )) ->values(array( 'rid' => '3', @@ -54798,21 +60233,11 @@ 'permission' => 'access contextual links', 'module' => 'contextual', )) -->values(array( - 'rid' => '3', - 'permission' => 'access dashboard', - 'module' => 'dashboard', -)) ->values(array( 'rid' => '3', 'permission' => 'access news feeds', 'module' => 'aggregator', )) -->values(array( - 'rid' => '3', - 'permission' => 'access overlay', - 'module' => 'overlay', -)) ->values(array( 'rid' => '3', 'permission' => 'access printer-friendly version', @@ -54888,6 +60313,11 @@ 'permission' => 'administer content types', 'module' => 'node', )) +->values(array( + 'rid' => '3', + 'permission' => 'administer fields', + 'module' => 'field', +)) ->values(array( 'rid' => '3', 'permission' => 'administer filters', @@ -55093,11 +60523,6 @@ 'permission' => 'edit terms in 1', 'module' => 'taxonomy', )) -->values(array( - 'rid' => '2', - 'permission' => 'post comments', - 'module' => 'comment', -)) ->values(array( 'rid' => '3', 'permission' => 'post comments', @@ -55118,11 +60543,6 @@ 'permission' => 'select account cancellation method', 'module' => 'user', )) -->values(array( - 'rid' => '2', - 'permission' => 'skip comment approval', - 'module' => 'comment', -)) ->values(array( 'rid' => '3', 'permission' => 'skip comment approval', @@ -55168,26 +60588,11 @@ 'permission' => 'use PHP for settings', 'module' => 'php', )) -->values(array( - 'rid' => '2', - 'permission' => 'use text format custom_text_format', - 'module' => 'filter', -)) ->values(array( 'rid' => '3', 'permission' => 'use text format custom_text_format', 'module' => 'filter', )) -->values(array( - 'rid' => '1', - 'permission' => 'use text format filtered_html', - 'module' => 'filter', -)) -->values(array( - 'rid' => '2', - 'permission' => 'use text format filtered_html', - 'module' => 'filter', -)) ->values(array( 'rid' => '3', 'permission' => 'use text format filtered_html', @@ -55357,6 +60762,12 @@ 'type' => 'node', 'score' => '1', )) +->values(array( + 'word' => '9', + 'sid' => '2', + 'type' => 'node', + 'score' => '26', +)) ->values(array( 'word' => '99999999', 'sid' => '1', @@ -55369,6 +60780,18 @@ 'type' => 'node', 'score' => '1', )) +->values(array( + 'word' => 'about', + 'sid' => '2', + 'type' => 'node', + 'score' => '26', +)) +->values(array( + 'word' => 'absolute', + 'sid' => '2', + 'type' => 'node', + 'score' => '1', +)) ->values(array( 'word' => 'admin', 'sid' => '1', @@ -55381,6 +60804,18 @@ 'type' => 'node', 'score' => '11', )) +->values(array( + 'word' => 'benjamin', + 'sid' => '2', + 'type' => 'node', + 'score' => '11', +)) +->values(array( + 'word' => 'best', + 'sid' => '2', + 'type' => 'node', + 'score' => '1', +)) ->values(array( 'word' => 'click', 'sid' => '1', @@ -55399,12 +60834,24 @@ 'type' => 'node', 'score' => '1', )) +->values(array( + 'word' => 'deep', + 'sid' => '2', + 'type' => 'node', + 'score' => '26', +)) ->values(array( 'word' => 'default', 'sid' => '1', 'type' => 'node', 'score' => '11', )) +->values(array( + 'word' => 'ever', + 'sid' => '2', + 'type' => 'node', + 'score' => '1', +)) ->values(array( 'word' => 'examplecom', 'sid' => '1', @@ -55423,6 +60870,12 @@ 'type' => 'node', 'score' => '2', )) +->values(array( + 'word' => 'know', + 'sid' => '2', + 'type' => 'node', + 'score' => '1', +)) ->values(array( 'word' => 'monday', 'sid' => '1', @@ -55460,134 +60913,86 @@ 'score' => '1', )) ->values(array( - 'word' => 'register', - 'sid' => '1', - 'type' => 'node', - 'score' => '2', -)) -->values(array( - 'word' => 'some', - 'sid' => '1', - 'type' => 'node', - 'score' => '1', -)) -->values(array( - 'word' => 'submitted', - 'sid' => '1', - 'type' => 'node', - 'score' => '1', -)) -->values(array( - 'word' => 'text', - 'sid' => '1', - 'type' => 'node', - 'score' => '1', -)) -->values(array( - 'word' => 'this', - 'sid' => '1', - 'type' => 'node', - 'score' => '1', -)) -->values(array( - 'word' => 'value', - 'sid' => '1', - 'type' => 'node', - 'score' => '1', -)) -->values(array( - 'word' => 'value120suffix', - 'sid' => '1', - 'type' => 'node', - 'score' => '1', -)) -->values(array( - 'word' => '9', + 'word' => 'quark', 'sid' => '2', 'type' => 'node', - 'score' => '26', + 'score' => '11', )) ->values(array( - 'word' => 'about', - 'sid' => '2', + 'word' => 'register', + 'sid' => '1', 'type' => 'node', - 'score' => '26', + 'score' => '2', )) ->values(array( - 'word' => 'absolute', + 'word' => 'show', 'sid' => '2', 'type' => 'node', 'score' => '1', )) ->values(array( - 'word' => 'benjamin', + 'word' => 'sisko', 'sid' => '2', 'type' => 'node', 'score' => '11', )) ->values(array( - 'word' => 'best', - 'sid' => '2', + 'word' => 'some', + 'sid' => '1', 'type' => 'node', 'score' => '1', )) ->values(array( - 'word' => 'deep', + 'word' => 'space', 'sid' => '2', 'type' => 'node', 'score' => '26', )) ->values(array( - 'word' => 'ever', - 'sid' => '2', + 'word' => 'submitted', + 'sid' => '1', 'type' => 'node', 'score' => '1', )) ->values(array( - 'word' => 'know', - 'sid' => '2', + 'word' => 'text', + 'sid' => '1', 'type' => 'node', 'score' => '1', )) ->values(array( - 'word' => 'quark', - 'sid' => '2', - 'type' => 'node', - 'score' => '11', -)) -->values(array( - 'word' => 'show', + 'word' => 'that', 'sid' => '2', 'type' => 'node', 'score' => '1', )) ->values(array( - 'word' => 'sisko', + 'word' => 'thing', 'sid' => '2', 'type' => 'node', - 'score' => '11', + 'score' => '26', )) ->values(array( - 'word' => 'space', - 'sid' => '2', + 'word' => 'this', + 'sid' => '1', 'type' => 'node', - 'score' => '26', + 'score' => '1', )) ->values(array( - 'word' => 'that', + 'word' => 'trust', 'sid' => '2', 'type' => 'node', 'score' => '1', )) ->values(array( - 'word' => 'thing', - 'sid' => '2', + 'word' => 'value', + 'sid' => '1', 'type' => 'node', - 'score' => '26', + 'score' => '1', )) ->values(array( - 'word' => 'trust', - 'sid' => '2', + 'word' => 'value120suffix', + 'sid' => '1', 'type' => 'node', 'score' => '1', )) @@ -55892,7 +61297,7 @@ 'value', )) ->values(array( - 'value' => '2', + 'value' => '7', )) ->execute(); $connection->schema()->createTable('sessions', array( @@ -56070,6 +61475,32 @@ 'primary key' => array( 'message_id', ), + 'indexes' => array( + 'reporter' => array( + 'test_class', + 'message_id', + ), + ), + 'mysql_character_set' => 'utf8', +)); + +$connection->schema()->createTable('simpletest_test_id', array( + 'fields' => array( + 'test_id' => array( + 'type' => 'serial', + 'not null' => TRUE, + 'size' => 'normal', + ), + 'last_prefix' => array( + 'type' => 'varchar', + 'not null' => FALSE, + 'length' => '60', + 'default' => '', + ), + ), + 'primary key' => array( + 'test_id', + ), 'mysql_character_set' => 'utf8', )); @@ -56156,7 +61587,7 @@ 'bootstrap' => '0', 'schema_version' => '7004', 'weight' => '0', - 'info' => 'a:14:{s:4:"name";s:10:"Aggregator";s:11:"description";s:57:"Aggregates syndicated content (RSS, RDF, and Atom feeds).";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:15:"aggregator.test";}s:9:"configure";s:41:"admin/config/services/aggregator/settings";s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:14:"aggregator.css";s:33:"modules/aggregator/aggregator.css";}}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:12:{s:4:"name";s:10:"Aggregator";s:11:"description";s:57:"Aggregates syndicated content (RSS, RDF, and Atom feeds).";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:15:"aggregator.test";}s:9:"configure";s:41:"admin/config/services/aggregator/settings";s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:14:"aggregator.css";s:33:"modules/aggregator/aggregator.css";}}s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/aggregator/tests/aggregator_test.module', @@ -56167,7 +61598,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:23:"Aggregator module tests";s:11:"description";s:46:"Support module for aggregator related testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:23:"Aggregator module tests";s:11:"description";s:46:"Support module for aggregator related testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/block/block.module', @@ -56178,7 +61609,7 @@ 'bootstrap' => '0', 'schema_version' => '7009', 'weight' => '-5', - 'info' => 'a:13:{s:4:"name";s:5:"Block";s:11:"description";s:140:"Controls the visual building blocks a page is constructed with. Blocks are boxes of content rendered into an area, or region, of a web page.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:10:"block.test";}s:9:"configure";s:21:"admin/structure/block";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:5:"Block";s:11:"description";s:140:"Controls the visual building blocks a page is constructed with. Blocks are boxes of content rendered into an area, or region, of a web page.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:10:"block.test";}s:9:"configure";s:21:"admin/structure/block";s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/block/tests/block_test.module', @@ -56189,7 +61620,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:10:"Block test";s:11:"description";s:21:"Provides test blocks.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:10:"Block test";s:11:"description";s:21:"Provides test blocks.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/blog/blog.module', @@ -56200,7 +61631,7 @@ 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:4:"Blog";s:11:"description";s:25:"Enables multi-user blogs.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:9:"blog.test";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:4:"Blog";s:11:"description";s:25:"Enables multi-user blogs.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:9:"blog.test";}s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/book/book.module', @@ -56211,7 +61642,7 @@ 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:14:{s:4:"name";s:4:"Book";s:11:"description";s:66:"Allows users to create and organize related content in an outline.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:9:"book.test";}s:9:"configure";s:27:"admin/content/book/settings";s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:8:"book.css";s:21:"modules/book/book.css";}}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:12:{s:4:"name";s:4:"Book";s:11:"description";s:66:"Allows users to create and organize related content in an outline.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:9:"book.test";}s:9:"configure";s:27:"admin/content/book/settings";s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:8:"book.css";s:21:"modules/book/book.css";}}s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/color/color.module', @@ -56222,7 +61653,7 @@ 'bootstrap' => '0', 'schema_version' => '7001', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:5:"Color";s:11:"description";s:70:"Allows administrators to change the color scheme of compatible themes.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:10:"color.test";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:5:"Color";s:11:"description";s:70:"Allows administrators to change the color scheme of compatible themes.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:10:"color.test";}s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/comment/comment.module', @@ -56233,7 +61664,7 @@ 'bootstrap' => '0', 'schema_version' => '7009', 'weight' => '0', - 'info' => 'a:14:{s:4:"name";s:7:"Comment";s:11:"description";s:57:"Allows users to comment on and discuss published content.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:4:"text";}s:5:"files";a:2:{i:0;s:14:"comment.module";i:1;s:12:"comment.test";}s:9:"configure";s:21:"admin/content/comment";s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:11:"comment.css";s:27:"modules/comment/comment.css";}}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:12:{s:4:"name";s:7:"Comment";s:11:"description";s:57:"Allows users to comment on and discuss published content.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:4:"text";}s:5:"files";a:2:{i:0;s:14:"comment.module";i:1;s:12:"comment.test";}s:9:"configure";s:21:"admin/content/comment";s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:11:"comment.css";s:27:"modules/comment/comment.css";}}s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/contact/contact.module', @@ -56244,7 +61675,7 @@ 'bootstrap' => '0', 'schema_version' => '7003', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:7:"Contact";s:11:"description";s:61:"Enables the use of both personal and site-wide contact forms.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:12:"contact.test";}s:9:"configure";s:23:"admin/structure/contact";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:7:"Contact";s:11:"description";s:61:"Enables the use of both personal and site-wide contact forms.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:12:"contact.test";}s:9:"configure";s:23:"admin/structure/contact";s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/contextual/contextual.module', @@ -56255,7 +61686,7 @@ 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:16:"Contextual links";s:11:"description";s:75:"Provides contextual links to perform actions related to elements on a page.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:15:"contextual.test";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:16:"Contextual links";s:11:"description";s:75:"Provides contextual links to perform actions related to elements on a page.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:15:"contextual.test";}s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/dashboard/dashboard.module', @@ -56264,9 +61695,9 @@ 'owner' => '', 'status' => '0', 'bootstrap' => '0', - 'schema_version' => '0', + 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:9:"Dashboard";s:11:"description";s:136:"Provides a dashboard page in the administrative interface for organizing administrative tasks and tracking information within your site.";s:4:"core";s:3:"7.x";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:5:"files";a:1:{i:0;s:14:"dashboard.test";}s:12:"dependencies";a:1:{i:0;s:5:"block";}s:9:"configure";s:25:"admin/dashboard/customize";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:9:"Dashboard";s:11:"description";s:136:"Provides a dashboard page in the administrative interface for organizing administrative tasks and tracking information within your site.";s:4:"core";s:3:"7.x";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:5:"files";a:1:{i:0;s:14:"dashboard.test";}s:12:"dependencies";a:1:{i:0;s:5:"block";}s:9:"configure";s:25:"admin/dashboard/customize";s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/dblog/dblog.module', @@ -56275,9 +61706,9 @@ 'owner' => '', 'status' => '1', 'bootstrap' => '1', - 'schema_version' => '7002', + 'schema_version' => '7003', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:16:"Database logging";s:11:"description";s:47:"Logs and records system events to the database.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:10:"dblog.test";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:16:"Database logging";s:11:"description";s:47:"Logs and records system events to the database.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:10:"dblog.test";}s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/field/field.module', @@ -56286,9 +61717,9 @@ 'owner' => '', 'status' => '1', 'bootstrap' => '0', - 'schema_version' => '7003', + 'schema_version' => '7004', 'weight' => '0', - 'info' => 'a:14:{s:4:"name";s:5:"Field";s:11:"description";s:57:"Field API to add fields to entities like nodes and users.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:4:{i:0;s:12:"field.module";i:1;s:16:"field.attach.inc";i:2;s:20:"field.info.class.inc";i:3;s:16:"tests/field.test";}s:12:"dependencies";a:1:{i:0;s:17:"field_sql_storage";}s:8:"required";b:1;s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:15:"theme/field.css";s:29:"modules/field/theme/field.css";}}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:12:{s:4:"name";s:5:"Field";s:11:"description";s:57:"Field API to add fields to entities like nodes and users.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:4:{i:0;s:12:"field.module";i:1;s:16:"field.attach.inc";i:2;s:20:"field.info.class.inc";i:3;s:16:"tests/field.test";}s:12:"dependencies";a:1:{i:0;s:17:"field_sql_storage";}s:8:"required";b:1;s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:15:"theme/field.css";s:29:"modules/field/theme/field.css";}}s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/field/modules/field_sql_storage/field_sql_storage.module', @@ -56299,7 +61730,7 @@ 'bootstrap' => '0', 'schema_version' => '7002', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:17:"Field SQL storage";s:11:"description";s:37:"Stores field data in an SQL database.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:5:"field";}s:5:"files";a:1:{i:0;s:22:"field_sql_storage.test";}s:8:"required";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:17:"Field SQL storage";s:11:"description";s:37:"Stores field data in an SQL database.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:5:"field";}s:5:"files";a:1:{i:0;s:22:"field_sql_storage.test";}s:8:"required";b:1;s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/field/modules/list/list.module', @@ -56310,7 +61741,7 @@ 'bootstrap' => '0', 'schema_version' => '7002', 'weight' => '0', - 'info' => 'a:14:{s:4:"name";s:4:"List";s:11:"description";s:69:"Defines list field types. Use with Options to create selection lists.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:12:"dependencies";a:2:{i:0;s:5:"field";i:1;s:7:"options";}s:5:"files";a:1:{i:0;s:15:"tests/list.test";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', + 'info' => 'a:12:{s:4:"name";s:4:"List";s:11:"description";s:69:"Defines list field types. Use with Options to create selection lists.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:12:"dependencies";a:2:{i:0;s:5:"field";i:1;s:7:"options";}s:5:"files";a:1:{i:0;s:15:"tests/list.test";}s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', )) ->values(array( 'filename' => 'modules/field/modules/list/tests/list_test.module', @@ -56321,7 +61752,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:9:"List test";s:11:"description";s:41:"Support module for the List module tests.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:9:"List test";s:11:"description";s:41:"Support module for the List module tests.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/field/modules/number/number.module', @@ -56332,7 +61763,7 @@ 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:14:{s:4:"name";s:6:"Number";s:11:"description";s:28:"Defines numeric field types.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:5:"field";}s:5:"files";a:1:{i:0;s:11:"number.test";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', + 'info' => 'a:12:{s:4:"name";s:6:"Number";s:11:"description";s:28:"Defines numeric field types.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:5:"field";}s:5:"files";a:1:{i:0;s:11:"number.test";}s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', )) ->values(array( 'filename' => 'modules/field/modules/options/options.module', @@ -56343,7 +61774,7 @@ 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:7:"Options";s:11:"description";s:82:"Defines selection, check box and radio button widgets for text and numeric fields.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:5:"field";}s:5:"files";a:1:{i:0;s:12:"options.test";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:7:"Options";s:11:"description";s:82:"Defines selection, check box and radio button widgets for text and numeric fields.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:5:"field";}s:5:"files";a:1:{i:0;s:12:"options.test";}s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/field/modules/text/text.module', @@ -56354,7 +61785,7 @@ 'bootstrap' => '0', 'schema_version' => '7000', 'weight' => '0', - 'info' => 'a:14:{s:4:"name";s:4:"Text";s:11:"description";s:32:"Defines simple text field types.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:5:"field";}s:5:"files";a:1:{i:0;s:9:"text.test";}s:8:"required";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', + 'info' => 'a:12:{s:4:"name";s:4:"Text";s:11:"description";s:32:"Defines simple text field types.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:5:"field";}s:5:"files";a:1:{i:0;s:9:"text.test";}s:8:"required";b:1;s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', )) ->values(array( 'filename' => 'modules/field/tests/field_test.module', @@ -56365,7 +61796,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:14:"Field API Test";s:11:"description";s:39:"Support module for the Field API tests.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:5:"files";a:1:{i:0;s:21:"field_test.entity.inc";}s:7:"version";s:4:"7.40";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:14:"Field API Test";s:11:"description";s:39:"Support module for the Field API tests.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:5:"files";a:1:{i:0;s:21:"field_test.entity.inc";}s:7:"version";s:4:"7.92";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/field_ui/field_ui.module', @@ -56376,7 +61807,7 @@ 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:8:"Field UI";s:11:"description";s:33:"User interface for the Field API.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:5:"field";}s:5:"files";a:1:{i:0;s:13:"field_ui.test";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:8:"Field UI";s:11:"description";s:33:"User interface for the Field API.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:5:"field";}s:5:"files";a:1:{i:0;s:13:"field_ui.test";}s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/file/file.module', @@ -56387,7 +61818,7 @@ 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:14:{s:4:"name";s:4:"File";s:11:"description";s:26:"Defines a file field type.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:5:"field";}s:5:"files";a:1:{i:0;s:15:"tests/file.test";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', + 'info' => 'a:12:{s:4:"name";s:4:"File";s:11:"description";s:26:"Defines a file field type.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:5:"field";}s:5:"files";a:1:{i:0;s:15:"tests/file.test";}s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', )) ->values(array( 'filename' => 'modules/file/tests/file_module_test.module', @@ -56398,7 +61829,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:9:"File test";s:11:"description";s:53:"Provides hooks for testing File module functionality.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:9:"File test";s:11:"description";s:53:"Provides hooks for testing File module functionality.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/filter/filter.module', @@ -56409,7 +61840,7 @@ 'bootstrap' => '0', 'schema_version' => '7010', 'weight' => '0', - 'info' => 'a:14:{s:4:"name";s:6:"Filter";s:11:"description";s:43:"Filters content in preparation for display.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:11:"filter.test";}s:8:"required";b:1;s:9:"configure";s:28:"admin/config/content/formats";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:12:{s:4:"name";s:6:"Filter";s:11:"description";s:43:"Filters content in preparation for display.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:11:"filter.test";}s:8:"required";b:1;s:9:"configure";s:28:"admin/config/content/formats";s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/forum/forum.module', @@ -56420,7 +61851,7 @@ 'bootstrap' => '0', 'schema_version' => '7012', 'weight' => '1', - 'info' => 'a:14:{s:4:"name";s:5:"Forum";s:11:"description";s:27:"Provides discussion forums.";s:12:"dependencies";a:2:{i:0;s:8:"taxonomy";i:1;s:7:"comment";}s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:10:"forum.test";}s:9:"configure";s:21:"admin/structure/forum";s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:9:"forum.css";s:23:"modules/forum/forum.css";}}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:12:{s:4:"name";s:5:"Forum";s:11:"description";s:27:"Provides discussion forums.";s:12:"dependencies";a:2:{i:0;s:8:"taxonomy";i:1;s:7:"comment";}s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:10:"forum.test";}s:9:"configure";s:21:"admin/structure/forum";s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:9:"forum.css";s:23:"modules/forum/forum.css";}}s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/help/help.module', @@ -56431,7 +61862,7 @@ 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:4:"Help";s:11:"description";s:35:"Manages the display of online help.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:9:"help.test";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:4:"Help";s:11:"description";s:35:"Manages the display of online help.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:9:"help.test";}s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/image/image.module', @@ -56442,7 +61873,18 @@ 'bootstrap' => '0', 'schema_version' => '7005', 'weight' => '0', - 'info' => 'a:15:{s:4:"name";s:5:"Image";s:11:"description";s:34:"Provides image manipulation tools.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:4:"file";}s:5:"files";a:1:{i:0;s:10:"image.test";}s:9:"configure";s:31:"admin/config/media/image-styles";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', + 'info' => 'a:13:{s:4:"name";s:5:"Image";s:11:"description";s:34:"Provides image manipulation tools.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:4:"file";}s:5:"files";a:1:{i:0;s:10:"image.test";}s:9:"configure";s:31:"admin/config/media/image-styles";s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', +)) +->values(array( + 'filename' => 'modules/image/tests/image_module_styles_test.module', + 'name' => 'image_module_styles_test', + 'type' => 'module', + 'owner' => '', + 'status' => '0', + 'bootstrap' => '0', + 'schema_version' => '-1', + 'weight' => '0', + 'info' => 'a:11:{s:4:"name";s:17:"Image Styles test";s:11:"description";s:80:"Provides additional hook implementations for testing Image Styles functionality.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:31:"image_module_styles_test.module";}s:12:"dependencies";a:1:{i:0;s:17:"image_module_test";}s:6:"hidden";b:1;s:5:"mtime";i:1664871879;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/image/tests/image_module_test.module', @@ -56453,7 +61895,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:10:"Image test";s:11:"description";s:69:"Provides hook implementations for testing Image module functionality.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:24:"image_module_test.module";}s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:10:"Image test";s:11:"description";s:69:"Provides hook implementations for testing Image module functionality.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:24:"image_module_test.module";}s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/locale/locale.module', @@ -56464,7 +61906,7 @@ 'bootstrap' => '0', 'schema_version' => '7005', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:6:"Locale";s:11:"description";s:119:"Adds language handling functionality and enables the translation of the user interface to languages other than English.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:11:"locale.test";}s:9:"configure";s:30:"admin/config/regional/language";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:6:"Locale";s:11:"description";s:119:"Adds language handling functionality and enables the translation of the user interface to languages other than English.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:11:"locale.test";}s:9:"configure";s:30:"admin/config/regional/language";s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/locale/tests/locale_test.module', @@ -56475,7 +61917,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:11:"Locale Test";s:11:"description";s:42:"Support module for the locale layer tests.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:11:"Locale Test";s:11:"description";s:42:"Support module for the locale layer tests.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/menu/menu.module', @@ -56486,7 +61928,7 @@ 'bootstrap' => '0', 'schema_version' => '7003', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:4:"Menu";s:11:"description";s:60:"Allows administrators to customize the site navigation menu.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:9:"menu.test";}s:9:"configure";s:20:"admin/structure/menu";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:4:"Menu";s:11:"description";s:60:"Allows administrators to customize the site navigation menu.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:9:"menu.test";}s:9:"configure";s:20:"admin/structure/menu";s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/node/node.module', @@ -56495,9 +61937,9 @@ 'owner' => '', 'status' => '1', 'bootstrap' => '0', - 'schema_version' => '7015', + 'schema_version' => '7016', 'weight' => '0', - 'info' => 'a:15:{s:4:"name";s:4:"Node";s:11:"description";s:66:"Allows content to be submitted to the site and displayed on pages.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:11:"node.module";i:1;s:9:"node.test";}s:8:"required";b:1;s:9:"configure";s:21:"admin/structure/types";s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:8:"node.css";s:21:"modules/node/node.css";}}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:13:{s:4:"name";s:4:"Node";s:11:"description";s:66:"Allows content to be submitted to the site and displayed on pages.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:11:"node.module";i:1;s:9:"node.test";}s:8:"required";b:1;s:9:"configure";s:21:"admin/structure/types";s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:8:"node.css";s:21:"modules/node/node.css";}}s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/node/tests/node_access_test.module', @@ -56508,7 +61950,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:24:"Node module access tests";s:11:"description";s:43:"Support module for node permission testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:24:"Node module access tests";s:11:"description";s:43:"Support module for node permission testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/node/tests/node_test.module', @@ -56519,7 +61961,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:17:"Node module tests";s:11:"description";s:40:"Support module for node related testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:17:"Node module tests";s:11:"description";s:40:"Support module for node related testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/node/tests/node_test_exception.module', @@ -56530,7 +61972,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:27:"Node module exception tests";s:11:"description";s:50:"Support module for node related exception testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:27:"Node module exception tests";s:11:"description";s:50:"Support module for node related exception testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/openid/openid.module', @@ -56539,9 +61981,9 @@ 'owner' => '', 'status' => '0', 'bootstrap' => '0', - 'schema_version' => '7000', + 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:6:"OpenID";s:11:"description";s:48:"Allows users to log into your site using OpenID.";s:7:"version";s:4:"7.40";s:7:"package";s:4:"Core";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:11:"openid.test";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:6:"OpenID";s:11:"description";s:48:"Allows users to log into your site using OpenID.";s:7:"version";s:4:"7.92";s:7:"package";s:4:"Core";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:11:"openid.test";}s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/openid/tests/openid_test.module', @@ -56552,7 +61994,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:21:"OpenID dummy provider";s:11:"description";s:33:"OpenID provider used for testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:6:"openid";}s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:21:"OpenID dummy provider";s:11:"description";s:33:"OpenID provider used for testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:6:"openid";}s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/overlay/overlay.module', @@ -56561,9 +62003,9 @@ 'owner' => '', 'status' => '0', 'bootstrap' => '0', - 'schema_version' => '0', + 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:7:"Overlay";s:11:"description";s:59:"Displays the Drupal administration interface in an overlay.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:7:"Overlay";s:11:"description";s:59:"Displays the Drupal administration interface in an overlay.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/path/path.module', @@ -56574,7 +62016,7 @@ 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:4:"Path";s:11:"description";s:28:"Allows users to rename URLs.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:9:"path.test";}s:9:"configure";s:24:"admin/config/search/path";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:4:"Path";s:11:"description";s:28:"Allows users to rename URLs.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:9:"path.test";}s:9:"configure";s:24:"admin/config/search/path";s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/php/php.module', @@ -56585,7 +62027,7 @@ 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:10:"PHP filter";s:11:"description";s:50:"Allows embedded PHP code/snippets to be evaluated.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:8:"php.test";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:10:"PHP filter";s:11:"description";s:50:"Allows embedded PHP code/snippets to be evaluated.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:8:"php.test";}s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/poll/poll.module', @@ -56596,7 +62038,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:4:"Poll";s:11:"description";s:95:"Allows your site to capture votes on different topics in the form of multiple choice questions.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:9:"poll.test";}s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:8:"poll.css";s:21:"modules/poll/poll.css";}}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:4:"Poll";s:11:"description";s:95:"Allows your site to capture votes on different topics in the form of multiple choice questions.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:9:"poll.test";}s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:8:"poll.css";s:21:"modules/poll/poll.css";}}s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/profile/profile.module', @@ -56607,7 +62049,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:14:{s:4:"name";s:7:"Profile";s:11:"description";s:36:"Supports configurable user profiles.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:12:"profile.test";}s:9:"configure";s:27:"admin/config/people/profile";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:12:{s:4:"name";s:7:"Profile";s:11:"description";s:36:"Supports configurable user profiles.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:12:"profile.test";}s:9:"configure";s:27:"admin/config/people/profile";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/rdf/rdf.module', @@ -56618,7 +62060,7 @@ 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:3:"RDF";s:11:"description";s:148:"Enriches your content with metadata to let other applications (e.g. search engines, aggregators) better understand its relationships and attributes.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:8:"rdf.test";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:3:"RDF";s:11:"description";s:148:"Enriches your content with metadata to let other applications (e.g. search engines, aggregators) better understand its relationships and attributes.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:8:"rdf.test";}s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/rdf/tests/rdf_test.module', @@ -56629,7 +62071,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:16:"RDF module tests";s:11:"description";s:38:"Support module for RDF module testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:16:"RDF module tests";s:11:"description";s:38:"Support module for RDF module testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:12:"dependencies";a:1:{i:0;s:4:"blog";}s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/search/search.module', @@ -56640,7 +62082,7 @@ 'bootstrap' => '0', 'schema_version' => '7000', 'weight' => '0', - 'info' => 'a:14:{s:4:"name";s:6:"Search";s:11:"description";s:36:"Enables site-wide keyword searching.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:19:"search.extender.inc";i:1;s:11:"search.test";}s:9:"configure";s:28:"admin/config/search/settings";s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:10:"search.css";s:25:"modules/search/search.css";}}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:12:{s:4:"name";s:6:"Search";s:11:"description";s:36:"Enables site-wide keyword searching.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:19:"search.extender.inc";i:1;s:11:"search.test";}s:9:"configure";s:28:"admin/config/search/settings";s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:10:"search.css";s:25:"modules/search/search.css";}}s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/search/tests/search_embedded_form.module', @@ -56651,7 +62093,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:20:"Search embedded form";s:11:"description";s:59:"Support module for search module testing of embedded forms.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:20:"Search embedded form";s:11:"description";s:59:"Support module for search module testing of embedded forms.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/search/tests/search_extra_type.module', @@ -56662,7 +62104,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:16:"Test search type";s:11:"description";s:41:"Support module for search module testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:16:"Test search type";s:11:"description";s:41:"Support module for search module testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/search/tests/search_node_tags.module', @@ -56673,7 +62115,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:21:"Test search node tags";s:11:"description";s:44:"Support module for Node search tags testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:21:"Test search node tags";s:11:"description";s:44:"Support module for Node search tags testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/shortcut/shortcut.module', @@ -56684,7 +62126,7 @@ 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:8:"Shortcut";s:11:"description";s:60:"Allows users to manage customizable lists of shortcut links.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:13:"shortcut.test";}s:9:"configure";s:36:"admin/config/user-interface/shortcut";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:8:"Shortcut";s:11:"description";s:60:"Allows users to manage customizable lists of shortcut links.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:13:"shortcut.test";}s:9:"configure";s:36:"admin/config/user-interface/shortcut";s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/simpletest.module', @@ -56695,7 +62137,7 @@ 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:7:"Testing";s:11:"description";s:53:"Provides a framework for unit and functional testing.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:50:{i:0;s:15:"simpletest.test";i:1;s:24:"drupal_web_test_case.php";i:2;s:18:"tests/actions.test";i:3;s:15:"tests/ajax.test";i:4;s:16:"tests/batch.test";i:5;s:15:"tests/boot.test";i:6;s:20:"tests/bootstrap.test";i:7;s:16:"tests/cache.test";i:8;s:17:"tests/common.test";i:9;s:24:"tests/database_test.test";i:10;s:22:"tests/entity_crud.test";i:11;s:32:"tests/entity_crud_hook_test.test";i:12;s:23:"tests/entity_query.test";i:13;s:16:"tests/error.test";i:14;s:15:"tests/file.test";i:15;s:23:"tests/filetransfer.test";i:16;s:15:"tests/form.test";i:17;s:16:"tests/graph.test";i:18;s:16:"tests/image.test";i:19;s:15:"tests/lock.test";i:20;s:15:"tests/mail.test";i:21;s:15:"tests/menu.test";i:22;s:17:"tests/module.test";i:23;s:16:"tests/pager.test";i:24;s:19:"tests/password.test";i:25;s:15:"tests/path.test";i:26;s:19:"tests/registry.test";i:27;s:17:"tests/schema.test";i:28;s:18:"tests/session.test";i:29;s:20:"tests/tablesort.test";i:30;s:16:"tests/theme.test";i:31;s:18:"tests/unicode.test";i:32;s:17:"tests/update.test";i:33;s:17:"tests/xmlrpc.test";i:34;s:26:"tests/upgrade/upgrade.test";i:35;s:34:"tests/upgrade/upgrade.comment.test";i:36;s:33:"tests/upgrade/upgrade.filter.test";i:37;s:32:"tests/upgrade/upgrade.forum.test";i:38;s:33:"tests/upgrade/upgrade.locale.test";i:39;s:31:"tests/upgrade/upgrade.menu.test";i:40;s:31:"tests/upgrade/upgrade.node.test";i:41;s:35:"tests/upgrade/upgrade.taxonomy.test";i:42;s:34:"tests/upgrade/upgrade.trigger.test";i:43;s:39:"tests/upgrade/upgrade.translatable.test";i:44;s:33:"tests/upgrade/upgrade.upload.test";i:45;s:31:"tests/upgrade/upgrade.user.test";i:46;s:36:"tests/upgrade/update.aggregator.test";i:47;s:33:"tests/upgrade/update.trigger.test";i:48;s:31:"tests/upgrade/update.field.test";i:49;s:30:"tests/upgrade/update.user.test";}s:9:"configure";s:41:"admin/config/development/testing/settings";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:7:"Testing";s:11:"description";s:53:"Provides a framework for unit and functional testing.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:51:{i:0;s:15:"simpletest.test";i:1;s:24:"drupal_web_test_case.php";i:2;s:18:"tests/actions.test";i:3;s:15:"tests/ajax.test";i:4;s:16:"tests/batch.test";i:5;s:15:"tests/boot.test";i:6;s:20:"tests/bootstrap.test";i:7;s:16:"tests/cache.test";i:8;s:17:"tests/common.test";i:9;s:24:"tests/database_test.test";i:10;s:22:"tests/entity_crud.test";i:11;s:32:"tests/entity_crud_hook_test.test";i:12;s:23:"tests/entity_query.test";i:13;s:16:"tests/error.test";i:14;s:15:"tests/file.test";i:15;s:23:"tests/filetransfer.test";i:16;s:15:"tests/form.test";i:17;s:16:"tests/graph.test";i:18;s:16:"tests/image.test";i:19;s:15:"tests/lock.test";i:20;s:15:"tests/mail.test";i:21;s:15:"tests/menu.test";i:22;s:17:"tests/module.test";i:23;s:16:"tests/pager.test";i:24;s:19:"tests/password.test";i:25;s:15:"tests/path.test";i:26;s:19:"tests/registry.test";i:27;s:28:"tests/request_sanitizer.test";i:28;s:17:"tests/schema.test";i:29;s:18:"tests/session.test";i:30;s:20:"tests/tablesort.test";i:31;s:16:"tests/theme.test";i:32;s:18:"tests/unicode.test";i:33;s:17:"tests/update.test";i:34;s:17:"tests/xmlrpc.test";i:35;s:26:"tests/upgrade/upgrade.test";i:36;s:34:"tests/upgrade/upgrade.comment.test";i:37;s:33:"tests/upgrade/upgrade.filter.test";i:38;s:32:"tests/upgrade/upgrade.forum.test";i:39;s:33:"tests/upgrade/upgrade.locale.test";i:40;s:31:"tests/upgrade/upgrade.menu.test";i:41;s:31:"tests/upgrade/upgrade.node.test";i:42;s:35:"tests/upgrade/upgrade.taxonomy.test";i:43;s:34:"tests/upgrade/upgrade.trigger.test";i:44;s:39:"tests/upgrade/upgrade.translatable.test";i:45;s:33:"tests/upgrade/upgrade.upload.test";i:46;s:31:"tests/upgrade/upgrade.user.test";i:47;s:36:"tests/upgrade/update.aggregator.test";i:48;s:33:"tests/upgrade/update.trigger.test";i:49;s:31:"tests/upgrade/update.field.test";i:50;s:30:"tests/upgrade/update.user.test";}s:9:"configure";s:41:"admin/config/development/testing/settings";s:5:"mtime";i:1664871879;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/actions_loop_test.module', @@ -56706,7 +62148,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:17:"Actions loop test";s:11:"description";s:39:"Support module for action loop testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:17:"Actions loop test";s:11:"description";s:39:"Support module for action loop testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/ajax_forms_test.module', @@ -56717,7 +62159,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:26:"AJAX form test mock module";s:11:"description";s:25:"Test for AJAX form calls.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:26:"AJAX form test mock module";s:11:"description";s:25:"Test for AJAX form calls.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/ajax_test.module', @@ -56728,7 +62170,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:9:"AJAX Test";s:11:"description";s:40:"Support module for AJAX framework tests.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:9:"AJAX Test";s:11:"description";s:40:"Support module for AJAX framework tests.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/batch_test.module', @@ -56739,7 +62181,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:14:"Batch API test";s:11:"description";s:35:"Support module for Batch API tests.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:14:"Batch API test";s:11:"description";s:35:"Support module for Batch API tests.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/boot_test_1.module', @@ -56750,7 +62192,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:21:"Early bootstrap tests";s:11:"description";s:39:"A support module for hook_boot testing.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:21:"Early bootstrap tests";s:11:"description";s:39:"A support module for hook_boot testing.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/boot_test_2.module', @@ -56761,7 +62203,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:21:"Early bootstrap tests";s:11:"description";s:44:"A support module for hook_boot hook testing.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:21:"Early bootstrap tests";s:11:"description";s:44:"A support module for hook_boot hook testing.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/common_test.module', @@ -56772,7 +62214,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:14:{s:4:"name";s:11:"Common Test";s:11:"description";s:32:"Support module for Common tests.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:2:{s:3:"all";a:1:{s:15:"common_test.css";s:40:"modules/simpletest/tests/common_test.css";}s:5:"print";a:1:{s:21:"common_test.print.css";s:46:"modules/simpletest/tests/common_test.print.css";}}s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:12:{s:4:"name";s:11:"Common Test";s:11:"description";s:32:"Support module for Common tests.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:2:{s:3:"all";a:1:{s:15:"common_test.css";s:40:"modules/simpletest/tests/common_test.css";}s:5:"print";a:1:{s:21:"common_test.print.css";s:46:"modules/simpletest/tests/common_test.print.css";}}s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/common_test_cron_helper.module', @@ -56783,7 +62225,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:23:"Common Test Cron Helper";s:11:"description";s:56:"Helper module for CronRunTestCase::testCronExceptions().";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:23:"Common Test Cron Helper";s:11:"description";s:56:"Helper module for CronRunTestCase::testCronExceptions().";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/database_test.module', @@ -56794,7 +62236,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:13:"Database Test";s:11:"description";s:40:"Support module for Database layer tests.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:13:"Database Test";s:11:"description";s:40:"Support module for Database layer tests.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/drupal_autoload_test/drupal_autoload_test.module', @@ -56805,7 +62247,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:25:"Drupal code registry test";s:11:"description";s:45:"Support module for testing the code registry.";s:5:"files";a:2:{i:0;s:34:"drupal_autoload_test_interface.inc";i:1;s:30:"drupal_autoload_test_class.inc";}s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:25:"Drupal code registry test";s:11:"description";s:45:"Support module for testing the code registry.";s:5:"files";a:2:{i:0;s:34:"drupal_autoload_test_interface.inc";i:1;s:30:"drupal_autoload_test_class.inc";}s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.module', @@ -56816,7 +62258,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:37:"Drupal system listing compatible test";s:11:"description";s:62:"Support module for testing the drupal_system_listing function.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:37:"Drupal system listing compatible test";s:11:"description";s:62:"Support module for testing the drupal_system_listing function.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.module', @@ -56827,7 +62269,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:39:"Drupal system listing incompatible test";s:11:"description";s:62:"Support module for testing the drupal_system_listing function.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:39:"Drupal system listing incompatible test";s:11:"description";s:62:"Support module for testing the drupal_system_listing function.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/entity_cache_test.module', @@ -56838,7 +62280,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:17:"Entity cache test";s:11:"description";s:40:"Support module for testing entity cache.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:28:"entity_cache_test_dependency";}s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:17:"Entity cache test";s:11:"description";s:40:"Support module for testing entity cache.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:28:"entity_cache_test_dependency";}s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/entity_cache_test_dependency.module', @@ -56849,7 +62291,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:28:"Entity cache test dependency";s:11:"description";s:51:"Support dependency module for testing entity cache.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:28:"Entity cache test dependency";s:11:"description";s:51:"Support dependency module for testing entity cache.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/entity_crud_hook_test.module', @@ -56860,7 +62302,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:22:"Entity CRUD Hooks Test";s:11:"description";s:35:"Support module for CRUD hook tests.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:22:"Entity CRUD Hooks Test";s:11:"description";s:35:"Support module for CRUD hook tests.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/entity_query_access_test.module', @@ -56871,7 +62313,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:24:"Entity query access test";s:11:"description";s:49:"Support module for checking entity query results.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:24:"Entity query access test";s:11:"description";s:49:"Support module for checking entity query results.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/error_test.module', @@ -56882,7 +62324,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:10:"Error test";s:11:"description";s:47:"Support module for error and exception testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:10:"Error test";s:11:"description";s:47:"Support module for error and exception testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/file_test.module', @@ -56893,7 +62335,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:9:"File test";s:11:"description";s:39:"Support module for file handling tests.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:16:"file_test.module";}s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:9:"File test";s:11:"description";s:39:"Support module for file handling tests.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:16:"file_test.module";}s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/filter_test.module', @@ -56904,7 +62346,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:18:"Filter test module";s:11:"description";s:33:"Tests filter hooks and functions.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:18:"Filter test module";s:11:"description";s:33:"Tests filter hooks and functions.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/form_test.module', @@ -56915,7 +62357,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:12:"FormAPI Test";s:11:"description";s:34:"Support module for Form API tests.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:12:"FormAPI Test";s:11:"description";s:34:"Support module for Form API tests.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/image_test.module', @@ -56926,7 +62368,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:10:"Image test";s:11:"description";s:39:"Support module for image toolkit tests.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:10:"Image test";s:11:"description";s:39:"Support module for image toolkit tests.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/menu_test.module', @@ -56937,7 +62379,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:15:"Hook menu tests";s:11:"description";s:37:"Support module for menu hook testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:15:"Hook menu tests";s:11:"description";s:37:"Support module for menu hook testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/module_test.module', @@ -56948,7 +62390,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:11:"Module test";s:11:"description";s:41:"Support module for module system testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:11:"Module test";s:11:"description";s:41:"Support module for module system testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/path_test.module', @@ -56959,7 +62401,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:15:"Hook path tests";s:11:"description";s:37:"Support module for path hook testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:15:"Hook path tests";s:11:"description";s:37:"Support module for path hook testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/psr_0_test/psr_0_test.module', @@ -56970,7 +62412,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:16:"PSR-0 Test cases";s:11:"description";s:44:"Test classes to be discovered by simpletest.";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:16:"PSR-0 Test cases";s:11:"description";s:44:"Test classes to be discovered by simpletest.";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"package";s:7:"Testing";s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/psr_4_test/psr_4_test.module', @@ -56981,7 +62423,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:16:"PSR-4 Test cases";s:11:"description";s:44:"Test classes to be discovered by simpletest.";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:16:"PSR-4 Test cases";s:11:"description";s:44:"Test classes to be discovered by simpletest.";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"package";s:7:"Testing";s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/requirements1_test.module', @@ -56992,7 +62434,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => "a:13:{s:4:\"name\";s:19:\"Requirements 1 Test\";s:11:\"description\";s:80:\"Tests that a module is not installed when it fails hook_requirements('install').\";s:7:\"package\";s:7:\"Testing\";s:7:\"version\";s:4:\"7.40\";s:4:\"core\";s:3:\"7.x\";s:6:\"hidden\";b:1;s:7:\"project\";s:6:\"drupal\";s:9:\"datestamp\";s:10:\"1444866674\";s:5:\"mtime\";i:1444866674;s:12:\"dependencies\";a:0:{}s:3:\"php\";s:5:\"5.2.4\";s:5:\"files\";a:0:{}s:9:\"bootstrap\";i:0;}", + 'info' => "a:11:{s:4:\"name\";s:19:\"Requirements 1 Test\";s:11:\"description\";s:80:\"Tests that a module is not installed when it fails hook_requirements('install').\";s:7:\"package\";s:7:\"Testing\";s:7:\"version\";s:4:\"7.92\";s:4:\"core\";s:3:\"7.x\";s:6:\"hidden\";b:1;s:5:\"mtime\";i:1664863480;s:12:\"dependencies\";a:0:{}s:3:\"php\";s:5:\"5.2.4\";s:5:\"files\";a:0:{}s:9:\"bootstrap\";i:0;}", )) ->values(array( 'filename' => 'modules/simpletest/tests/requirements2_test.module', @@ -57003,7 +62445,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => "a:13:{s:4:\"name\";s:19:\"Requirements 2 Test\";s:11:\"description\";s:98:\"Tests that a module is not installed when the one it depends on fails hook_requirements('install).\";s:12:\"dependencies\";a:2:{i:0;s:18:\"requirements1_test\";i:1;s:7:\"comment\";}s:7:\"package\";s:7:\"Testing\";s:7:\"version\";s:4:\"7.40\";s:4:\"core\";s:3:\"7.x\";s:6:\"hidden\";b:1;s:7:\"project\";s:6:\"drupal\";s:9:\"datestamp\";s:10:\"1444866674\";s:5:\"mtime\";i:1444866674;s:3:\"php\";s:5:\"5.2.4\";s:5:\"files\";a:0:{}s:9:\"bootstrap\";i:0;}", + 'info' => "a:11:{s:4:\"name\";s:19:\"Requirements 2 Test\";s:11:\"description\";s:98:\"Tests that a module is not installed when the one it depends on fails hook_requirements('install).\";s:12:\"dependencies\";a:2:{i:0;s:18:\"requirements1_test\";i:1;s:7:\"comment\";}s:7:\"package\";s:7:\"Testing\";s:7:\"version\";s:4:\"7.92\";s:4:\"core\";s:3:\"7.x\";s:6:\"hidden\";b:1;s:5:\"mtime\";i:1664863480;s:3:\"php\";s:5:\"5.2.4\";s:5:\"files\";a:0:{}s:9:\"bootstrap\";i:0;}", )) ->values(array( 'filename' => 'modules/simpletest/tests/session_test.module', @@ -57014,7 +62456,18 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:12:"Session test";s:11:"description";s:40:"Support module for session data testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:12:"Session test";s:11:"description";s:40:"Support module for session data testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', +)) +->values(array( + 'filename' => 'modules/simpletest/tests/system_admin_test.module', + 'name' => 'system_admin_test', + 'type' => 'module', + 'owner' => '', + 'status' => '0', + 'bootstrap' => '0', + 'schema_version' => '-1', + 'weight' => '0', + 'info' => 'a:12:{s:4:"name";s:17:"System Admin Test";s:11:"description";s:44:"Support module for testing system.admin.inc.";s:7:"package";s:16:"Only For Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:0;s:9:"configure";s:13:"config/broken";s:5:"mtime";i:1664871879;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/system_dependencies_test.module', @@ -57025,7 +62478,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:22:"System dependency test";s:11:"description";s:47:"Support module for testing system dependencies.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:12:"dependencies";a:1:{i:0;s:19:"_missing_dependency";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:22:"System dependency test";s:11:"description";s:47:"Support module for testing system dependencies.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:12:"dependencies";a:1:{i:0;s:19:"_missing_dependency";}s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/system_incompatible_core_version_dependencies_test.module', @@ -57036,7 +62489,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:50:"System incompatible core version dependencies test";s:11:"description";s:47:"Support module for testing system dependencies.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:12:"dependencies";a:1:{i:0;s:37:"system_incompatible_core_version_test";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:50:"System incompatible core version dependencies test";s:11:"description";s:47:"Support module for testing system dependencies.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:12:"dependencies";a:1:{i:0;s:37:"system_incompatible_core_version_test";}s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/system_incompatible_core_version_test.module', @@ -57047,7 +62500,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:37:"System incompatible core version test";s:11:"description";s:47:"Support module for testing system dependencies.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"5.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:37:"System incompatible core version test";s:11:"description";s:47:"Support module for testing system dependencies.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"5.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/system_incompatible_module_version_dependencies_test.module', @@ -57058,7 +62511,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:52:"System incompatible module version dependencies test";s:11:"description";s:47:"Support module for testing system dependencies.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:12:"dependencies";a:1:{i:0;s:46:"system_incompatible_module_version_test (>2.0)";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:52:"System incompatible module version dependencies test";s:11:"description";s:47:"Support module for testing system dependencies.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:12:"dependencies";a:1:{i:0;s:46:"system_incompatible_module_version_test (>2.0)";}s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/system_incompatible_module_version_test.module', @@ -57069,7 +62522,18 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:39:"System incompatible module version test";s:11:"description";s:47:"Support module for testing system dependencies.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:39:"System incompatible module version test";s:11:"description";s:47:"Support module for testing system dependencies.";s:7:"package";s:7:"Testing";s:7:"version";s:3:"1.0";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', +)) +->values(array( + 'filename' => 'modules/simpletest/tests/system_null_version_test.module', + 'name' => 'system_null_version_test', + 'type' => 'module', + 'owner' => '', + 'status' => '0', + 'bootstrap' => '0', + 'schema_version' => '-1', + 'weight' => '0', + 'info' => 'a:11:{s:4:"name";s:24:"System null version test";s:11:"description";s:47:"Support module for testing with a null version.";s:7:"package";s:16:"Only For Testing";s:4:"core";s:3:"7.x";s:6:"hidden";b:0;s:5:"mtime";i:1664871879;s:12:"dependencies";a:0:{}s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/system_project_namespace_test.module', @@ -57080,7 +62544,18 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:29:"System project namespace test";s:11:"description";s:58:"Support module for testing project namespace dependencies.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:12:"dependencies";a:1:{i:0;s:13:"drupal:filter";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:29:"System project namespace test";s:11:"description";s:58:"Support module for testing project namespace dependencies.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:12:"dependencies";a:1:{i:0;s:13:"drupal:filter";}s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', +)) +->values(array( + 'filename' => 'modules/simpletest/tests/system_requires_null_version_test.module', + 'name' => 'system_requires_null_version_test', + 'type' => 'module', + 'owner' => '', + 'status' => '0', + 'bootstrap' => '0', + 'schema_version' => '-1', + 'weight' => '0', + 'info' => 'a:11:{s:4:"name";s:33:"System requires null version test";s:11:"description";s:44:"Support module for testing system_modules().";s:7:"package";s:16:"Only For Testing";s:4:"core";s:3:"7.x";s:7:"version";s:4:"7.92";s:6:"hidden";b:0;s:12:"dependencies";a:1:{i:0;s:24:"system_null_version_test";}s:5:"mtime";i:1664871879;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/system_test.module', @@ -57091,7 +62566,18 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:11:"System test";s:11:"description";s:34:"Support module for system testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:18:"system_test.module";}s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:11:"System test";s:11:"description";s:34:"Support module for system testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:18:"system_test.module";}s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', +)) +->values(array( + 'filename' => 'modules/simpletest/tests/taxonomy_nodes_test.module', + 'name' => 'taxonomy_nodes_test', + 'type' => 'module', + 'owner' => '', + 'status' => '0', + 'bootstrap' => '0', + 'schema_version' => '-1', + 'weight' => '0', + 'info' => 'a:11:{s:4:"name";s:31:"Taxonomy module node list tests";s:11:"description";s:54:"Support module for taxonomy node list related testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664871879;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/taxonomy_test.module', @@ -57102,7 +62588,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:20:"Taxonomy test module";s:11:"description";s:45:""Tests functions and hooks not used in core".";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:12:"dependencies";a:1:{i:0;s:8:"taxonomy";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:20:"Taxonomy test module";s:11:"description";s:45:""Tests functions and hooks not used in core".";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:12:"dependencies";a:1:{i:0;s:8:"taxonomy";}s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/theme_test.module', @@ -57113,7 +62599,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:10:"Theme test";s:11:"description";s:40:"Support module for theme system testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:10:"Theme test";s:11:"description";s:40:"Support module for theme system testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/update_script_test.module', @@ -57124,7 +62610,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:18:"Update script test";s:11:"description";s:41:"Support module for update script testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:18:"Update script test";s:11:"description";s:41:"Support module for update script testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/update_test_1.module', @@ -57135,7 +62621,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:11:"Update test";s:11:"description";s:34:"Support module for update testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:11:"Update test";s:11:"description";s:34:"Support module for update testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/update_test_2.module', @@ -57146,7 +62632,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:11:"Update test";s:11:"description";s:34:"Support module for update testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:11:"Update test";s:11:"description";s:34:"Support module for update testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/update_test_3.module', @@ -57157,7 +62643,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:11:"Update test";s:11:"description";s:34:"Support module for update testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:11:"Update test";s:11:"description";s:34:"Support module for update testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/url_alter_test.module', @@ -57168,7 +62654,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:15:"Url_alter tests";s:11:"description";s:45:"A support modules for url_alter hook testing.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:15:"Url_alter tests";s:11:"description";s:45:"A support modules for url_alter hook testing.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/simpletest/tests/xmlrpc_test.module', @@ -57179,7 +62665,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:12:"XML-RPC Test";s:11:"description";s:75:"Support module for XML-RPC tests according to the validator1 specification.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:12:"XML-RPC Test";s:11:"description";s:75:"Support module for XML-RPC tests according to the validator1 specification.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/statistics/statistics.module', @@ -57190,7 +62676,7 @@ 'bootstrap' => '1', 'schema_version' => '7000', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:10:"Statistics";s:11:"description";s:37:"Logs access statistics for your site.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:15:"statistics.test";}s:9:"configure";s:30:"admin/config/system/statistics";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:10:"Statistics";s:11:"description";s:37:"Logs access statistics for your site.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:15:"statistics.test";}s:9:"configure";s:30:"admin/config/system/statistics";s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/syslog/syslog.module', @@ -57201,7 +62687,7 @@ 'bootstrap' => '1', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:6:"Syslog";s:11:"description";s:41:"Logs and records system events to syslog.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:11:"syslog.test";}s:9:"configure";s:32:"admin/config/development/logging";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:6:"Syslog";s:11:"description";s:41:"Logs and records system events to syslog.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:11:"syslog.test";}s:9:"configure";s:32:"admin/config/development/logging";s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/system/system.module', @@ -57209,10 +62695,10 @@ 'type' => 'module', 'owner' => '', 'status' => '1', - 'bootstrap' => '1', - 'schema_version' => '7080', + 'bootstrap' => '0', + 'schema_version' => '7084', 'weight' => '0', - 'info' => 'a:14:{s:4:"name";s:6:"System";s:11:"description";s:54:"Handles general site configuration for administrators.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:6:{i:0;s:19:"system.archiver.inc";i:1;s:15:"system.mail.inc";i:2;s:16:"system.queue.inc";i:3;s:14:"system.tar.inc";i:4;s:18:"system.updater.inc";i:5;s:11:"system.test";}s:8:"required";b:1;s:9:"configure";s:19:"admin/config/system";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:12:{s:4:"name";s:6:"System";s:11:"description";s:54:"Handles general site configuration for administrators.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:6:{i:0;s:19:"system.archiver.inc";i:1;s:15:"system.mail.inc";i:2;s:16:"system.queue.inc";i:3;s:14:"system.tar.inc";i:4;s:18:"system.updater.inc";i:5;s:11:"system.test";}s:8:"required";b:1;s:9:"configure";s:19:"admin/config/system";s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/system/tests/cron_queue_test.module', @@ -57223,7 +62709,18 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:15:"Cron Queue test";s:11:"description";s:41:"Support module for the cron queue runner.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:15:"Cron Queue test";s:11:"description";s:41:"Support module for the cron queue runner.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', +)) +->values(array( + 'filename' => 'modules/system/tests/system_cron_test.module', + 'name' => 'system_cron_test', + 'type' => 'module', + 'owner' => '', + 'status' => '0', + 'bootstrap' => '0', + 'schema_version' => '-1', + 'weight' => '0', + 'info' => 'a:11:{s:4:"name";s:16:"System Cron Test";s:11:"description";s:45:"Support module for testing the system_cron().";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/taxonomy/taxonomy.module', @@ -57234,7 +62731,7 @@ 'bootstrap' => '0', 'schema_version' => '7011', 'weight' => '0', - 'info' => 'a:15:{s:4:"name";s:8:"Taxonomy";s:11:"description";s:38:"Enables the categorization of content.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:7:"options";}s:5:"files";a:2:{i:0;s:15:"taxonomy.module";i:1;s:13:"taxonomy.test";}s:9:"configure";s:24:"admin/structure/taxonomy";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', + 'info' => 'a:13:{s:4:"name";s:8:"Taxonomy";s:11:"description";s:38:"Enables the categorization of content.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:7:"options";}s:5:"files";a:2:{i:0;s:15:"taxonomy.module";i:1;s:13:"taxonomy.test";}s:9:"configure";s:24:"admin/structure/taxonomy";s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', )) ->values(array( 'filename' => 'modules/toolbar/toolbar.module', @@ -57245,7 +62742,7 @@ 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:7:"Toolbar";s:11:"description";s:99:"Provides a toolbar that shows the top-level administration menu items and links from other modules.";s:4:"core";s:3:"7.x";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:7:"Toolbar";s:11:"description";s:99:"Provides a toolbar that shows the top-level administration menu items and links from other modules.";s:4:"core";s:3:"7.x";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/tracker/tracker.module', @@ -57256,7 +62753,7 @@ 'bootstrap' => '0', 'schema_version' => '7000', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:7:"Tracker";s:11:"description";s:45:"Enables tracking of recent content for users.";s:12:"dependencies";a:1:{i:0;s:7:"comment";}s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:12:"tracker.test";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:7:"Tracker";s:11:"description";s:45:"Enables tracking of recent content for users.";s:12:"dependencies";a:1:{i:0;s:7:"comment";}s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:12:"tracker.test";}s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/translation/tests/translation_test.module', @@ -57267,7 +62764,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:24:"Content Translation Test";s:11:"description";s:49:"Support module for the content translation tests.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:24:"Content Translation Test";s:11:"description";s:49:"Support module for the content translation tests.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/translation/translation.module', @@ -57278,7 +62775,7 @@ 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:19:"Content translation";s:11:"description";s:57:"Allows content to be translated into different languages.";s:12:"dependencies";a:1:{i:0;s:6:"locale";}s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:16:"translation.test";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:19:"Content translation";s:11:"description";s:57:"Allows content to be translated into different languages.";s:12:"dependencies";a:1:{i:0;s:6:"locale";}s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:16:"translation.test";}s:5:"mtime";i:1664863480;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/trigger/tests/trigger_test.module', @@ -57289,7 +62786,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:12:"Trigger Test";s:11:"description";s:33:"Support module for Trigger tests.";s:7:"package";s:7:"Testing";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"version";s:4:"7.40";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:12:"Trigger Test";s:11:"description";s:33:"Support module for Trigger tests.";s:7:"package";s:7:"Testing";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/trigger/trigger.module', @@ -57300,7 +62797,7 @@ 'bootstrap' => '0', 'schema_version' => '7002', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:7:"Trigger";s:11:"description";s:90:"Enables actions to be fired on certain system events, such as when new content is created.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:12:"trigger.test";}s:9:"configure";s:23:"admin/structure/trigger";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:7:"Trigger";s:11:"description";s:90:"Enables actions to be fired on certain system events, such as when new content is created.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:12:"trigger.test";}s:9:"configure";s:23:"admin/structure/trigger";s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/update/tests/aaa_update_test.module', @@ -57311,7 +62808,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:15:"AAA Update test";s:11:"description";s:41:"Support module for update module testing.";s:7:"package";s:7:"Testing";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"version";s:4:"7.40";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:15:"AAA Update test";s:11:"description";s:41:"Support module for update module testing.";s:7:"package";s:7:"Testing";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/update/tests/bbb_update_test.module', @@ -57322,7 +62819,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:15:"BBB Update test";s:11:"description";s:41:"Support module for update module testing.";s:7:"package";s:7:"Testing";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"version";s:4:"7.40";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:15:"BBB Update test";s:11:"description";s:41:"Support module for update module testing.";s:7:"package";s:7:"Testing";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/update/tests/ccc_update_test.module', @@ -57333,7 +62830,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:15:"CCC Update test";s:11:"description";s:41:"Support module for update module testing.";s:7:"package";s:7:"Testing";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"version";s:4:"7.40";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:15:"CCC Update test";s:11:"description";s:41:"Support module for update module testing.";s:7:"package";s:7:"Testing";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/update/tests/update_test.module', @@ -57344,7 +62841,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:11:"Update test";s:11:"description";s:41:"Support module for update module testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:11:"Update test";s:11:"description";s:41:"Support module for update module testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/update/update.module', @@ -57355,7 +62852,18 @@ 'bootstrap' => '0', 'schema_version' => '7001', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:14:"Update manager";s:11:"description";s:104:"Checks for available updates, and can securely install or update modules and themes via a web interface.";s:7:"version";s:4:"7.40";s:7:"package";s:4:"Core";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:11:"update.test";}s:9:"configure";s:30:"admin/reports/updates/settings";s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:14:"Update manager";s:11:"description";s:104:"Checks for available updates, and can securely install or update modules and themes via a web interface.";s:7:"version";s:4:"7.92";s:7:"package";s:4:"Core";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:11:"update.test";}s:9:"configure";s:30:"admin/reports/updates/settings";s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', +)) +->values(array( + 'filename' => 'modules/user/tests/user_flood_test.module', + 'name' => 'user_flood_test', + 'type' => 'module', + 'owner' => '', + 'status' => '0', + 'bootstrap' => '0', + 'schema_version' => '-1', + 'weight' => '0', + 'info' => 'a:11:{s:4:"name";s:31:"User module flood control tests";s:11:"description";s:46:"Support module for user flood control testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664871879;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/user/tests/user_form_test.module', @@ -57366,7 +62874,18 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:22:"User module form tests";s:11:"description";s:37:"Support module for user form testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:22:"User module form tests";s:11:"description";s:37:"Support module for user form testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', +)) +->values(array( + 'filename' => 'modules/user/tests/user_session_test.module', + 'name' => 'user_session_test', + 'type' => 'module', + 'owner' => '', + 'status' => '0', + 'bootstrap' => '0', + 'schema_version' => '-1', + 'weight' => '0', + 'info' => 'a:11:{s:4:"name";s:25:"User module session tests";s:11:"description";s:40:"Support module for user session testing.";s:7:"package";s:7:"Testing";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664871879;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'modules/user/user.module', @@ -57375,9 +62894,9 @@ 'owner' => '', 'status' => '1', 'bootstrap' => '0', - 'schema_version' => '7018', + 'schema_version' => '7020', 'weight' => '0', - 'info' => 'a:15:{s:4:"name";s:4:"User";s:11:"description";s:47:"Manages the user registration and login system.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:11:"user.module";i:1;s:9:"user.test";}s:8:"required";b:1;s:9:"configure";s:19:"admin/config/people";s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:8:"user.css";s:21:"modules/user/user.css";}}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:5:"mtime";i:1444866674;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:13:{s:4:"name";s:4:"User";s:11:"description";s:47:"Manages the user registration and login system.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:11:"user.module";i:1;s:9:"user.test";}s:8:"required";b:1;s:9:"configure";s:19:"admin/config/people";s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:8:"user.css";s:21:"modules/user/user.css";}}s:5:"mtime";i:1664863480;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'profiles/standard/standard.profile', @@ -57388,7 +62907,7 @@ 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '1000', - 'info' => 'a:13:{s:4:"name";s:8:"Standard";s:11:"description";s:51:"Install with commonly used features pre-configured.";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:12:"dependencies";a:21:{i:0;s:5:"block";i:1;s:5:"color";i:2;s:7:"comment";i:3;s:10:"contextual";i:4;s:9:"dashboard";i:5;s:4:"help";i:6;s:5:"image";i:7;s:4:"list";i:8;s:4:"menu";i:9;s:6:"number";i:10;s:7:"options";i:11;s:4:"path";i:12;s:8:"taxonomy";i:13;s:5:"dblog";i:14;s:6:"search";i:15;s:8:"shortcut";i:16;s:7:"toolbar";i:17;s:7:"overlay";i:18;s:8:"field_ui";i:19;s:4:"file";i:20;s:3:"rdf";}s:5:"mtime";i:1535762879;s:7:"package";s:5:"Other";s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;s:6:"hidden";b:1;s:8:"required";b:1;s:17:"distribution_name";s:6:"Drupal";}', + 'info' => 'a:13:{s:4:"name";s:8:"Standard";s:11:"description";s:51:"Install with commonly used features pre-configured.";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:12:"dependencies";a:21:{i:0;s:5:"block";i:1;s:5:"color";i:2;s:7:"comment";i:3;s:10:"contextual";i:4;s:9:"dashboard";i:5;s:4:"help";i:6;s:5:"image";i:7;s:4:"list";i:8;s:4:"menu";i:9;s:6:"number";i:10;s:7:"options";i:11;s:4:"path";i:12;s:8:"taxonomy";i:13;s:5:"dblog";i:14;s:6:"search";i:15;s:8:"shortcut";i:16;s:7:"toolbar";i:17;s:7:"overlay";i:18;s:8:"field_ui";i:19;s:4:"file";i:20;s:3:"rdf";}s:5:"mtime";i:1664863480;s:7:"package";s:5:"Other";s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;s:6:"hidden";b:1;s:8:"required";b:1;s:17:"distribution_name";s:6:"Drupal";}', )) ->values(array( 'filename' => 'sites/all/modules/breakpoints/breakpoints.module', @@ -57397,9 +62916,9 @@ 'owner' => '', 'status' => '0', 'bootstrap' => '0', - 'schema_version' => '-1', + 'schema_version' => '7102', 'weight' => '0', - 'info' => 'a:11:{s:4:"name";s:11:"Breakpoints";s:11:"description";s:18:"Manage breakpoints";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:6:"ctools";}s:5:"files";a:2:{i:0;s:18:"breakpoints.module";i:1;s:16:"breakpoints.test";}s:9:"configure";s:30:"admin/config/media/breakpoints";s:5:"mtime";i:1544938132;s:7:"package";s:5:"Other";s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:11:"Breakpoints";s:11:"description";s:18:"Manage breakpoints";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:6:"ctools";}s:5:"files";a:2:{i:0;s:18:"breakpoints.module";i:1;s:16:"breakpoints.test";}s:9:"configure";s:30:"admin/config/media/breakpoints";s:5:"mtime";i:1664870344;s:7:"package";s:5:"Other";s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/breakpoints/tests/breakpoints_theme_test.module', @@ -57410,29 +62929,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:11:{s:4:"name";s:22:"Breakpoints Theme Test";s:11:"description";s:35:"Test breakpoints provided by themes";s:7:"package";s:5:"Other";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1544938132;s:12:"dependencies";a:0:{}s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', -)) -->values(array( - 'filename' => 'sites/all/modules/multiupload_filefield_widget/multiupload_filefield_widget.module', - 'name' => 'multiupload_filefield_widget', - 'type' => 'module', - 'owner' => '', - 'status' => '1', - 'bootstrap' => '0', - 'schema_version' => '0', - 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:28:"Multiupload Filefield Widget";s:11:"description";s:76:"Creates a widget for filefield to upload multiple files at once using html5.";s:7:"package";s:6:"Fields";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:4:"file";}s:5:"files";a:2:{i:0;s:35:"multiupload_filefield_widget.module";i:1;s:33:"multiupload_filefield_widget.test";}s:7:"version";s:8:"7.x-1.13";s:7:"project";s:28:"multiupload_filefield_widget";s:9:"datestamp";s:10:"1388873905";s:5:"mtime";i:1388873905;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', -)) -->values(array( - 'filename' => 'sites/all/modules/multiupload_imagefield_widget/multiupload_imagefield_widget.module', - 'name' => 'multiupload_imagefield_widget', - 'type' => 'module', - 'owner' => '', - 'status' => '1', - 'bootstrap' => '0', - 'schema_version' => '0', - 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:29:"Multiupload Imagefield Widget";s:11:"description";s:77:"Creates a widget for imagefield to upload multiple files at once using html5.";s:7:"package";s:6:"Fields";s:12:"dependencies";a:2:{i:0;s:28:"multiupload_filefield_widget";i:1;s:5:"image";}s:4:"core";s:3:"7.x";s:7:"version";s:7:"7.x-1.3";s:7:"project";s:29:"multiupload_imagefield_widget";s:9:"datestamp";s:10:"1388874206";s:5:"mtime";i:1388874206;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:22:"Breakpoints Theme Test";s:11:"description";s:35:"Test breakpoints provided by themes";s:7:"package";s:5:"Other";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664870344;s:12:"dependencies";a:0:{}s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/ctools/bulk_export/bulk_export.module', @@ -57443,7 +62940,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:11:"Bulk Export";s:11:"description";s:67:"Performs bulk exporting of data objects known about by Chaos tools.";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:6:"ctools";}s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:7:"project";s:6:"ctools";s:9:"datestamp";s:10:"1440020680";s:5:"mtime";i:1440020680;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:11:"Bulk Export";s:11:"description";s:67:"Performs bulk exporting of data objects known about by Chaos tools.";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:6:"ctools";}s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:5:"mtime";i:1664871889;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/ctools/ctools.module', @@ -57452,9 +62949,9 @@ 'owner' => '', 'status' => '1', 'bootstrap' => '0', - 'schema_version' => '6008', + 'schema_version' => '7001', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:11:"Chaos tools";s:11:"description";s:46:"A library of helpful tools by Merlin of Chaos.";s:4:"core";s:3:"7.x";s:7:"package";s:16:"Chaos tool suite";s:5:"files";a:3:{i:0;s:20:"includes/context.inc";i:1;s:22:"includes/math-expr.inc";i:2;s:21:"includes/stylizer.inc";}s:7:"version";s:7:"7.x-1.4";s:7:"project";s:6:"ctools";s:9:"datestamp";s:10:"1392220730";s:5:"mtime";i:1392220730;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:11:"Chaos tools";s:11:"description";s:46:"A library of helpful tools by Merlin of Chaos.";s:4:"core";s:3:"7.x";s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:5:"files";a:5:{i:0;s:20:"includes/context.inc";i:1;s:22:"includes/css-cache.inc";i:2;s:22:"includes/math-expr.inc";i:3;s:21:"includes/stylizer.inc";i:4;s:20:"tests/css_cache.test";}s:5:"mtime";i:1664871889;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/ctools/ctools_access_ruleset/ctools_access_ruleset.module', @@ -57465,7 +62962,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:15:"Custom rulesets";s:11:"description";s:81:"Create custom, exportable, reusable access rulesets for applications like Panels.";s:4:"core";s:3:"7.x";s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:12:"dependencies";a:1:{i:0;s:6:"ctools";}s:7:"project";s:6:"ctools";s:9:"datestamp";s:10:"1440020680";s:5:"mtime";i:1440020680;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:15:"Custom rulesets";s:11:"description";s:81:"Create custom, exportable, reusable access rulesets for applications like Panels.";s:4:"core";s:3:"7.x";s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:12:"dependencies";a:1:{i:0;s:6:"ctools";}s:5:"mtime";i:1664871889;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/ctools/ctools_ajax_sample/ctools_ajax_sample.module', @@ -57476,7 +62973,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:33:"Chaos Tools (CTools) AJAX Example";s:11:"description";s:41:"Shows how to use the power of Chaos AJAX.";s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:12:"dependencies";a:1:{i:0;s:6:"ctools";}s:4:"core";s:3:"7.x";s:7:"project";s:6:"ctools";s:9:"datestamp";s:10:"1440020680";s:5:"mtime";i:1440020680;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:33:"Chaos Tools (CTools) AJAX Example";s:11:"description";s:41:"Shows how to use the power of Chaos AJAX.";s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:12:"dependencies";a:1:{i:0;s:6:"ctools";}s:4:"core";s:3:"7.x";s:5:"mtime";i:1664871889;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/ctools/ctools_custom_content/ctools_custom_content.module', @@ -57487,7 +62984,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:20:"Custom content panes";s:11:"description";s:79:"Create custom, exportable, reusable content panes for applications like Panels.";s:4:"core";s:3:"7.x";s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:12:"dependencies";a:1:{i:0;s:6:"ctools";}s:7:"project";s:6:"ctools";s:9:"datestamp";s:10:"1440020680";s:5:"mtime";i:1440020680;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:20:"Custom content panes";s:11:"description";s:79:"Create custom, exportable, reusable content panes for applications like Panels.";s:4:"core";s:3:"7.x";s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:12:"dependencies";a:1:{i:0;s:6:"ctools";}s:5:"mtime";i:1664871889;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/ctools/ctools_plugin_example/ctools_plugin_example.module', @@ -57498,7 +62995,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:35:"Chaos Tools (CTools) Plugin Example";s:11:"description";s:75:"Shows how an external module can provide ctools plugins (for Panels, etc.).";s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:12:"dependencies";a:4:{i:0;s:6:"ctools";i:1;s:6:"panels";i:2;s:12:"page_manager";i:3;s:13:"advanced_help";}s:4:"core";s:3:"7.x";s:7:"project";s:6:"ctools";s:9:"datestamp";s:10:"1440020680";s:5:"mtime";i:1440020680;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:35:"Chaos Tools (CTools) Plugin Example";s:11:"description";s:75:"Shows how an external module can provide ctools plugins (for Panels, etc.).";s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:12:"dependencies";a:4:{i:0;s:6:"ctools";i:1;s:6:"panels";i:2;s:12:"page_manager";i:3;s:13:"advanced_help";}s:4:"core";s:3:"7.x";s:5:"mtime";i:1664871889;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/ctools/page_manager/page_manager.module', @@ -57509,7 +63006,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:12:"Page manager";s:11:"description";s:54:"Provides a UI and API to manage pages within the site.";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:6:"ctools";}s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:7:"project";s:6:"ctools";s:9:"datestamp";s:10:"1440020680";s:5:"mtime";i:1440020680;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:12:"Page manager";s:11:"description";s:54:"Provides a UI and API to manage pages within the site.";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:6:"ctools";}s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:5:"mtime";i:1664871889;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/ctools/stylizer/stylizer.module', @@ -57520,7 +63017,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:8:"Stylizer";s:11:"description";s:53:"Create custom styles for applications such as Panels.";s:4:"core";s:3:"7.x";s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:12:"dependencies";a:2:{i:0;s:6:"ctools";i:1;s:5:"color";}s:7:"project";s:6:"ctools";s:9:"datestamp";s:10:"1440020680";s:5:"mtime";i:1440020680;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:8:"Stylizer";s:11:"description";s:53:"Create custom styles for applications such as Panels.";s:4:"core";s:3:"7.x";s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:12:"dependencies";a:2:{i:0;s:6:"ctools";i:1;s:5:"color";}s:5:"mtime";i:1664871889;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/ctools/term_depth/term_depth.module', @@ -57531,7 +63028,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:17:"Term Depth access";s:11:"description";s:48:"Controls access to context based upon term depth";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:6:"ctools";}s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:7:"project";s:6:"ctools";s:9:"datestamp";s:10:"1440020680";s:5:"mtime";i:1440020680;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:17:"Term Depth access";s:11:"description";s:48:"Controls access to context based upon term depth";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:6:"ctools";}s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:5:"mtime";i:1664871889;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/ctools/tests/ctools_export_test/ctools_export_test.module', @@ -57542,7 +63039,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:18:"CTools export test";s:11:"description";s:25:"CTools export test module";s:4:"core";s:3:"7.x";s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:12:"dependencies";a:1:{i:0;s:6:"ctools";}s:6:"hidden";b:1;s:5:"files";a:1:{i:0;s:18:"ctools_export.test";}s:7:"project";s:6:"ctools";s:9:"datestamp";s:10:"1440020680";s:5:"mtime";i:1440020680;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:18:"CTools export test";s:11:"description";s:25:"CTools export test module";s:4:"core";s:3:"7.x";s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:12:"dependencies";a:1:{i:0;s:6:"ctools";}s:6:"hidden";b:1;s:5:"files";a:1:{i:0;s:18:"ctools_export.test";}s:5:"mtime";i:1664871889;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/ctools/tests/ctools_plugin_test.module', @@ -57553,7 +63050,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:24:"Chaos tools plugins test";s:11:"description";s:42:"Provides hooks for testing ctools plugins.";s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:6:"ctools";}s:5:"files";a:6:{i:0;s:19:"ctools.plugins.test";i:1;s:17:"object_cache.test";i:2;s:8:"css.test";i:3;s:12:"context.test";i:4;s:20:"math_expression.test";i:5;s:26:"math_expression_stack.test";}s:6:"hidden";b:1;s:7:"project";s:6:"ctools";s:9:"datestamp";s:10:"1440020680";s:5:"mtime";i:1440020680;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:24:"Chaos tools plugins test";s:11:"description";s:42:"Provides hooks for testing ctools plugins.";s:7:"package";s:16:"Chaos tool suite";s:7:"version";s:7:"7.x-1.9";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:6:"ctools";}s:5:"files";a:6:{i:0;s:19:"ctools.plugins.test";i:1;s:17:"object_cache.test";i:2;s:8:"css.test";i:3;s:12:"context.test";i:4;s:20:"math_expression.test";i:5;s:26:"math_expression_stack.test";}s:6:"hidden";b:1;s:5:"mtime";i:1664871889;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/ctools/views_content/views_content.module', @@ -57564,7 +63061,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:19:"Views content panes";s:11:"description";s:104:"Allows Views content to be used in Panels, Dashboard and other modules which use the CTools Content API.";s:7:"package";s:16:"Chaos tool suite";s:12:"dependencies";a:2:{i:0;s:6:"ctools";i:1;s:5:"views";}s:4:"core";s:3:"7.x";s:7:"version";s:7:"7.x-1.9";s:5:"files";a:3:{i:0;s:61:"plugins/views/views_content_plugin_display_ctools_context.inc";i:1;s:57:"plugins/views/views_content_plugin_display_panel_pane.inc";i:2;s:59:"plugins/views/views_content_plugin_style_ctools_context.inc";}s:7:"project";s:6:"ctools";s:9:"datestamp";s:10:"1440020680";s:5:"mtime";i:1440020680;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:19:"Views content panes";s:11:"description";s:104:"Allows Views content to be used in Panels, Dashboard and other modules which use the CTools Content API.";s:7:"package";s:16:"Chaos tool suite";s:12:"dependencies";a:2:{i:0;s:6:"ctools";i:1;s:5:"views";}s:4:"core";s:3:"7.x";s:7:"version";s:7:"7.x-1.9";s:5:"files";a:3:{i:0;s:61:"plugins/views/views_content_plugin_display_ctools_context.inc";i:1;s:57:"plugins/views/views_content_plugin_display_panel_pane.inc";i:2;s:59:"plugins/views/views_content_plugin_style_ctools_context.inc";}s:5:"mtime";i:1664871889;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/date/date.module', @@ -57573,9 +63070,9 @@ 'owner' => '', 'status' => '1', 'bootstrap' => '0', - 'schema_version' => '7004', + 'schema_version' => '7200', 'weight' => '0', - 'info' => 'a:14:{s:4:"name";s:4:"Date";s:11:"description";s:33:"Makes date/time fields available.";s:12:"dependencies";a:1:{i:0;s:8:"date_api";}s:7:"package";s:9:"Date/Time";s:4:"core";s:3:"7.x";s:3:"php";s:3:"5.2";s:5:"files";a:9:{i:0;s:16:"date.migrate.inc";i:1;s:19:"tests/date_api.test";i:2;s:15:"tests/date.test";i:3;s:21:"tests/date_field.test";i:4;s:23:"tests/date_migrate.test";i:5;s:26:"tests/date_validation.test";i:6;s:24:"tests/date_timezone.test";i:7;s:27:"tests/date_views_pager.test";i:8;s:27:"tests/date_views_popup.test";}s:7:"version";s:7:"7.x-2.9";s:7:"project";s:4:"date";s:9:"datestamp";s:10:"1441727353";s:5:"mtime";i:1441727353;s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', + 'info' => 'a:13:{s:4:"name";s:4:"Date";s:11:"description";s:33:"Makes date/time fields available.";s:12:"dependencies";a:1:{i:0;s:13:"date:date_api";}s:7:"package";s:9:"Date/Time";s:4:"core";s:3:"7.x";s:5:"files";a:10:{i:0;s:16:"date.migrate.inc";i:1;s:26:"tests/DateEmwTestCase.test";i:2;s:27:"tests/DateFormTestCase.test";i:3;s:30:"tests/DateMigrateTestCase.test";i:4;s:30:"tests/DateNowUnitTestCase.test";i:5;s:28:"tests/DateFieldTestBase.test";i:6;s:28:"tests/DateFieldTestCase.test";i:7;s:31:"tests/DateTimezoneTestCase.test";i:8;s:25:"tests/DateUiTestCase.test";i:9;s:33:"tests/DateValidationTestCase.test";}s:17:"test_dependencies";a:4:{i:0;s:13:"entity:entity";i:1;s:23:"features:features (2.x)";i:2;s:15:"migrate:migrate";i:3;s:11:"views:views";}s:5:"mtime";i:1664867418;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', )) ->values(array( 'filename' => 'sites/all/modules/date/date_all_day/date_all_day.module', @@ -57586,7 +63083,18 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => "a:12:{s:4:\"name\";s:12:\"Date All Day\";s:11:\"description\";s:142:\"Adds 'All Day' functionality to date fields, including an 'All Day' theme and 'All Day' checkboxes for the Date select and Date popup widgets.\";s:12:\"dependencies\";a:2:{i:0;s:8:\"date_api\";i:1;s:4:\"date\";}s:7:\"package\";s:9:\"Date/Time\";s:4:\"core\";s:3:\"7.x\";s:7:\"version\";s:7:\"7.x-2.9\";s:7:\"project\";s:4:\"date\";s:9:\"datestamp\";s:10:\"1441727353\";s:5:\"mtime\";i:1441727353;s:3:\"php\";s:5:\"5.2.4\";s:5:\"files\";a:0:{}s:9:\"bootstrap\";i:0;}", + 'info' => "a:10:{s:4:\"name\";s:12:\"Date All Day\";s:11:\"description\";s:142:\"Adds 'All Day' functionality to date fields, including an 'All Day' theme and 'All Day' checkboxes for the Date select and Date popup widgets.\";s:7:\"package\";s:9:\"Date/Time\";s:4:\"core\";s:3:\"7.x\";s:12:\"dependencies\";a:2:{i:0;s:13:\"date:date_api\";i:1;s:9:\"date:date\";}s:5:\"files\";a:2:{i:0;s:31:\"tests/DateAllDayUiTestCase.test\";i:1;s:32:\"tests/DateAllDayUpdatesTest.test\";}s:5:\"mtime\";i:1664867418;s:7:\"version\";N;s:3:\"php\";s:5:\"5.2.4\";s:9:\"bootstrap\";i:0;}", +)) +->values(array( + 'filename' => 'sites/all/modules/date/date_all_day/tests/date_all_day_test_feature/date_all_day_test_feature.module', + 'name' => 'date_all_day_test_feature', + 'type' => 'module', + 'owner' => '', + 'status' => '0', + 'bootstrap' => '0', + 'schema_version' => '-1', + 'weight' => '0', + 'info' => 'a:12:{s:4:"name";s:25:"Date All Day Test Feature";s:11:"description";s:57:"Example content type for testing the Date All Day module.";s:4:"core";s:3:"7.x";s:7:"package";s:9:"Date/Time";s:12:"dependencies";a:3:{i:0;s:9:"date:date";i:1;s:17:"date:date_all_day";i:2;s:17:"features:features";}s:8:"features";a:4:{s:12:"features_api";a:1:{i:0;s:5:"api:2";}s:10:"field_base";a:2:{i:0;s:4:"body";i:1;s:18:"field_date_all_day";}s:14:"field_instance";a:2:{i:0;s:27:"node-date_all_day_test-body";i:1;s:41:"node-date_all_day_test-field_date_all_day";}s:4:"node";a:1:{i:0;s:17:"date_all_day_test";}}s:6:"hidden";s:1:"1";s:5:"mtime";i:1664867418;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/date/date_api/date_api.module', @@ -57597,7 +63105,7 @@ 'bootstrap' => '0', 'schema_version' => '7001', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:8:"Date API";s:11:"description";s:45:"A Date API that can be used by other modules.";s:7:"package";s:9:"Date/Time";s:4:"core";s:3:"7.x";s:3:"php";s:3:"5.2";s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:8:"date.css";s:40:"sites/all/modules/date/date_api/date.css";}}s:5:"files";a:2:{i:0;s:15:"date_api.module";i:1;s:16:"date_api_sql.inc";}s:7:"version";s:7:"7.x-2.9";s:7:"project";s:4:"date";s:9:"datestamp";s:10:"1441727353";s:5:"mtime";i:1441727353;s:12:"dependencies";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:8:"Date API";s:11:"description";s:45:"A Date API that can be used by other modules.";s:7:"package";s:9:"Date/Time";s:4:"core";s:3:"7.x";s:5:"files";a:4:{i:0;s:15:"date_api.module";i:1;s:16:"date_api_sql.inc";i:2;s:26:"tests/DateApiTestCase.test";i:3;s:30:"tests/DateApiUnitTestCase.test";}s:5:"mtime";i:1664867418;s:12:"dependencies";a:0:{}s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/date/date_context/date_context.module', @@ -57608,7 +63116,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:12:"Date Context";s:11:"description";s:99:"Adds an option to the Context module to set a context condition based on the value of a date field.";s:7:"package";s:9:"Date/Time";s:4:"core";s:3:"7.x";s:12:"dependencies";a:2:{i:0;s:4:"date";i:1;s:7:"context";}s:5:"files";a:2:{i:0;s:19:"date_context.module";i:1;s:39:"plugins/date_context_date_condition.inc";}s:7:"version";s:7:"7.x-2.9";s:7:"project";s:4:"date";s:9:"datestamp";s:10:"1441727353";s:5:"mtime";i:1441727353;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:12:"Date Context";s:11:"description";s:99:"Adds an option to the Context module to set a context condition based on the value of a date field.";s:7:"package";s:9:"Date/Time";s:4:"core";s:3:"7.x";s:12:"dependencies";a:2:{i:0;s:9:"date:date";i:1;s:15:"context:context";}s:5:"files";a:1:{i:0;s:39:"plugins/date_context_date_condition.inc";}s:5:"mtime";i:1664867418;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/date/date_migrate/date_migrate.module', @@ -57619,51 +63127,51 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:14:"Date Migration";s:11:"description";s:73:"Obsolete data migration module. Disable if no other modules depend on it.";s:4:"core";s:3:"7.x";s:7:"package";s:9:"Date/Time";s:6:"hidden";b:1;s:7:"version";s:7:"7.x-2.9";s:7:"project";s:4:"date";s:9:"datestamp";s:10:"1441727353";s:5:"mtime";i:1441727353;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:14:"Date Migration";s:11:"description";s:73:"Obsolete data migration module. Disable if no other modules depend on it.";s:4:"core";s:3:"7.x";s:7:"package";s:9:"Date/Time";s:6:"hidden";b:1;s:5:"mtime";i:1664867418;s:12:"dependencies";a:0:{}s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( - 'filename' => 'sites/all/modules/date/date_migrate/date_migrate_example/date_migrate_example.module', - 'name' => 'date_migrate_example', + 'filename' => 'sites/all/modules/date/date_popup/date_popup.module', + 'name' => 'date_popup', 'type' => 'module', 'owner' => '', 'status' => '0', 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"core";s:3:"7.x";s:12:"dependencies";a:5:{i:0;s:4:"date";i:1;s:11:"date_repeat";i:2;s:17:"date_repeat_field";i:3;s:8:"features";i:4;s:7:"migrate";}s:11:"description";s:42:"Examples of migrating with the Date module";s:8:"features";a:2:{s:5:"field";a:8:{i:0;s:30:"node-date_migrate_example-body";i:1;s:36:"node-date_migrate_example-field_date";i:2;s:42:"node-date_migrate_example-field_date_range";i:3;s:43:"node-date_migrate_example-field_date_repeat";i:4;s:41:"node-date_migrate_example-field_datestamp";i:5;s:47:"node-date_migrate_example-field_datestamp_range";i:6;s:40:"node-date_migrate_example-field_datetime";i:7;s:46:"node-date_migrate_example-field_datetime_range";}s:4:"node";a:1:{i:0;s:20:"date_migrate_example";}}s:5:"files";a:1:{i:0;s:32:"date_migrate_example.migrate.inc";}s:4:"name";s:22:"Date Migration Example";s:7:"package";s:8:"Features";s:7:"project";s:4:"date";s:7:"version";s:7:"7.x-2.9";s:9:"datestamp";s:10:"1441727353";s:5:"mtime";i:1441727353;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:10:"Date Popup";s:11:"description";s:84:"Enables jquery popup calendars and time entry widgets for selecting dates and times.";s:7:"package";s:9:"Date/Time";s:4:"core";s:3:"7.x";s:9:"configure";s:28:"admin/config/date/date_popup";s:12:"dependencies";a:1:{i:0;s:13:"date:date_api";}s:5:"files";a:3:{i:0;s:33:"tests/DatePopupFieldTestCase.test";i:1;s:38:"tests/DatePopupValidationTestCase.test";i:2;s:37:"tests/DatePopupWithViewsTestCase.test";}s:5:"mtime";i:1664867418;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( - 'filename' => 'sites/all/modules/date/date_popup/date_popup.module', - 'name' => 'date_popup', + 'filename' => 'sites/all/modules/date/date_repeat/date_repeat.module', + 'name' => 'date_repeat', 'type' => 'module', 'owner' => '', 'status' => '0', 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:14:{s:4:"name";s:10:"Date Popup";s:11:"description";s:84:"Enables jquery popup calendars and time entry widgets for selecting dates and times.";s:12:"dependencies";a:1:{i:0;s:8:"date_api";}s:7:"package";s:9:"Date/Time";s:4:"core";s:3:"7.x";s:9:"configure";s:28:"admin/config/date/date_popup";s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:25:"themes/datepicker.1.7.css";s:59:"sites/all/modules/date/date_popup/themes/datepicker.1.7.css";}}s:7:"version";s:7:"7.x-2.9";s:7:"project";s:4:"date";s:9:"datestamp";s:10:"1441727353";s:5:"mtime";i:1441727353;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:15:"Date Repeat API";s:11:"description";s:73:"A Date Repeat API to calculate repeating dates and times from iCal rules.";s:7:"package";s:9:"Date/Time";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:13:"date:date_api";}s:5:"files";a:2:{i:0;s:22:"tests/date_repeat.test";i:1;s:27:"tests/date_repeat_form.test";}s:5:"mtime";i:1664867418;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( - 'filename' => 'sites/all/modules/date/date_repeat/date_repeat.module', - 'name' => 'date_repeat', + 'filename' => 'sites/all/modules/date/date_repeat_field/date_repeat_field.module', + 'name' => 'date_repeat_field', 'type' => 'module', 'owner' => '', 'status' => '0', 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:15:"Date Repeat API";s:11:"description";s:73:"A Date Repeat API to calculate repeating dates and times from iCal rules.";s:12:"dependencies";a:1:{i:0;s:8:"date_api";}s:7:"package";s:9:"Date/Time";s:4:"core";s:3:"7.x";s:3:"php";s:3:"5.2";s:5:"files";a:2:{i:0;s:22:"tests/date_repeat.test";i:1;s:27:"tests/date_repeat_form.test";}s:7:"version";s:7:"7.x-2.9";s:7:"project";s:4:"date";s:9:"datestamp";s:10:"1441727353";s:5:"mtime";i:1441727353;s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:17:"Date Repeat Field";s:11:"description";s:97:"Creates the option of Repeating date fields and manages Date fields that use the Date Repeat API.";s:7:"package";s:9:"Date/Time";s:4:"core";s:3:"7.x";s:12:"dependencies";a:3:{i:0;s:13:"date:date_api";i:1;s:9:"date:date";i:2;s:16:"date:date_repeat";}s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:21:"date_repeat_field.css";s:62:"sites/all/modules/date/date_repeat_field/date_repeat_field.css";}}s:5:"files";a:1:{i:0;s:34:"tests/DateRepeatFieldTestCase.test";}s:5:"mtime";i:1664867418;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( - 'filename' => 'sites/all/modules/date/date_repeat_field/date_repeat_field.module', - 'name' => 'date_repeat_field', + 'filename' => 'sites/all/modules/date/date_repeat_field/tests/date_repeat_test_feature/date_repeat_test_feature.module', + 'name' => 'date_repeat_test_feature', 'type' => 'module', 'owner' => '', 'status' => '0', 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:17:"Date Repeat Field";s:11:"description";s:97:"Creates the option of Repeating date fields and manages Date fields that use the Date Repeat API.";s:12:"dependencies";a:3:{i:0;s:8:"date_api";i:1;s:4:"date";i:2;s:11:"date_repeat";}s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:21:"date_repeat_field.css";s:62:"sites/all/modules/date/date_repeat_field/date_repeat_field.css";}}s:7:"package";s:9:"Date/Time";s:4:"core";s:3:"7.x";s:7:"version";s:7:"7.x-2.9";s:7:"project";s:4:"date";s:9:"datestamp";s:10:"1441727353";s:5:"mtime";i:1441727353;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:12:{s:4:"name";s:24:"Date Repeat Test Feature";s:11:"description";s:44:"Examples for testing the Date Repeat module.";s:4:"core";s:3:"7.x";s:7:"package";s:9:"Date/Time";s:6:"hidden";b:1;s:12:"dependencies";a:4:{i:0;s:9:"date:date";i:1;s:16:"date:date_repeat";i:2;s:22:"date:date_repeat_field";i:3;s:17:"features:features";}s:8:"features";a:4:{s:12:"features_api";a:1:{i:0;s:5:"api:2";}s:10:"field_base";a:2:{i:0;s:4:"body";i:1;s:17:"field_date_repeat";}s:14:"field_instance";a:2:{i:0;s:26:"node-date_repeat_test-body";i:1;s:39:"node-date_repeat_test-field_date_repeat";}s:4:"node";a:1:{i:0;s:16:"date_repeat_test";}}s:5:"mtime";i:1664867418;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/date/date_tools/date_tools.module', @@ -57674,7 +63182,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:10:"Date Tools";s:11:"description";s:52:"Tools to import and auto-create dates and calendars.";s:12:"dependencies";a:1:{i:0;s:4:"date";}s:7:"package";s:9:"Date/Time";s:4:"core";s:3:"7.x";s:9:"configure";s:23:"admin/config/date/tools";s:5:"files";a:1:{i:0;s:21:"tests/date_tools.test";}s:7:"version";s:8:"7.x-2.10";s:7:"project";s:4:"date";s:9:"datestamp";s:10:"1491562090";s:5:"mtime";i:1535762879;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:10:"Date Tools";s:11:"description";s:52:"Tools to import and auto-create dates and calendars.";s:7:"package";s:9:"Date/Time";s:4:"core";s:3:"7.x";s:9:"configure";s:23:"admin/config/date/tools";s:12:"dependencies";a:1:{i:0;s:9:"date:date";}s:5:"files";a:1:{i:0;s:28:"tests/DateToolsTestCase.test";}s:5:"mtime";i:1664867418;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/date/date_views/date_views.module', @@ -57685,7 +63193,18 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:10:"Date Views";s:11:"description";s:57:"Views integration for date fields and date functionality.";s:7:"package";s:9:"Date/Time";s:12:"dependencies";a:2:{i:0;s:8:"date_api";i:1;s:5:"views";}s:4:"core";s:3:"7.x";s:3:"php";s:3:"5.2";s:5:"files";a:6:{i:0;s:40:"includes/date_views_argument_handler.inc";i:1;s:47:"includes/date_views_argument_handler_simple.inc";i:2;s:38:"includes/date_views_filter_handler.inc";i:3;s:45:"includes/date_views_filter_handler_simple.inc";i:4;s:29:"includes/date_views.views.inc";i:5;s:36:"includes/date_views_plugin_pager.inc";}s:7:"version";s:8:"7.x-2.10";s:7:"project";s:4:"date";s:9:"datestamp";s:10:"1491562090";s:5:"mtime";i:1535762879;s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:10:"Date Views";s:11:"description";s:57:"Views integration for date fields and date functionality.";s:7:"package";s:9:"Date/Time";s:4:"core";s:3:"7.x";s:12:"dependencies";a:2:{i:0;s:13:"date:date_api";i:1;s:11:"views:views";}s:5:"files";a:7:{i:0;s:40:"includes/date_views_argument_handler.inc";i:1;s:47:"includes/date_views_argument_handler_simple.inc";i:2;s:38:"includes/date_views_filter_handler.inc";i:3;s:45:"includes/date_views_filter_handler_simple.inc";i:4;s:36:"includes/date_views_plugin_pager.inc";i:5;s:28:"tests/date_views_filter.test";i:6;s:27:"tests/date_views_pager.test";}s:5:"mtime";i:1664867418;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', +)) +->values(array( + 'filename' => 'sites/all/modules/date/tests/date_migrate_test/date_migrate_test.module', + 'name' => 'date_migrate_test', + 'type' => 'module', + 'owner' => '', + 'status' => '0', + 'bootstrap' => '0', + 'schema_version' => '-1', + 'weight' => '0', + 'info' => "a:11:{s:4:\"name\";s:26:\"Date Migration Test Helper\";s:11:\"description\";s:53:\"Helper for the Date module's Migrate API integration.\";s:7:\"package\";s:9:\"Date/Time\";s:4:\"core\";s:3:\"7.x\";s:6:\"hidden\";b:1;s:12:\"dependencies\";a:2:{i:0;s:22:\"date:date_test_feature\";i:1;s:15:\"migrate:migrate\";}s:5:\"files\";a:1:{i:0;s:29:\"date_migrate_test.migrate.inc\";}s:5:\"mtime\";i:1664867418;s:7:\"version\";N;s:3:\"php\";s:5:\"5.2.4\";s:9:\"bootstrap\";i:0;}", )) ->values(array( 'filename' => 'sites/all/modules/date/tests/date_test/date_test.module', @@ -57696,7 +63215,18 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:17:"Date module tests";s:11:"description";s:40:"Support module for date related testing.";s:7:"package";s:9:"Date/Time";s:7:"version";s:8:"7.x-2.10";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:12:"dependencies";a:1:{i:0;s:4:"date";}s:7:"project";s:4:"date";s:9:"datestamp";s:10:"1491562090";s:5:"mtime";i:1535762879;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:17:"Date module tests";s:11:"description";s:40:"Support module for date related testing.";s:7:"package";s:9:"Date/Time";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:12:"dependencies";a:1:{i:0;s:9:"date:date";}s:5:"mtime";i:1664867418;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', +)) +->values(array( + 'filename' => 'sites/all/modules/date/tests/date_test_feature/date_test_feature.module', + 'name' => 'date_test_feature', + 'type' => 'module', + 'owner' => '', + 'status' => '0', + 'bootstrap' => '0', + 'schema_version' => '-1', + 'weight' => '0', + 'info' => 'a:12:{s:4:"name";s:17:"Date Test Feature";s:11:"description";s:73:"Examples of migrating with the Date module, primarily for use with tests.";s:4:"core";s:3:"7.x";s:7:"package";s:9:"Date/Time";s:6:"hidden";b:1;s:12:"dependencies";a:4:{i:0;s:9:"date:date";i:1;s:16:"date:date_repeat";i:2;s:22:"date:date_repeat_field";i:3;s:17:"features:features";}s:8:"features";a:4:{s:12:"features_api";a:1:{i:0;s:5:"api:2";}s:10:"field_base";a:8:{i:0;s:4:"body";i:1;s:10:"field_date";i:2;s:16:"field_date_range";i:3;s:17:"field_date_repeat";i:4;s:15:"field_datestamp";i:5;s:21:"field_datestamp_range";i:6;s:14:"field_datetime";i:7;s:20:"field_datetime_range";}s:14:"field_instance";a:8:{i:0;s:19:"node-date_test-body";i:1;s:25:"node-date_test-field_date";i:2;s:31:"node-date_test-field_date_range";i:3;s:32:"node-date_test-field_date_repeat";i:4;s:30:"node-date_test-field_datestamp";i:5;s:36:"node-date_test-field_datestamp_range";i:6;s:29:"node-date_test-field_datetime";i:7;s:35:"node-date_test-field_datetime_range";}s:4:"node";a:1:{i:0;s:9:"date_test";}}s:5:"mtime";i:1664867418;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/email/email.module', @@ -57707,7 +63237,7 @@ 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:14:{s:4:"name";s:5:"Email";s:11:"description";s:28:"Defines an email field type.";s:4:"core";s:3:"7.x";s:7:"package";s:6:"Fields";s:5:"files";a:1:{i:0;s:17:"email.migrate.inc";}s:7:"version";s:7:"7.x-1.3";s:7:"project";s:5:"email";s:9:"datestamp";s:10:"1397134155";s:5:"mtime";i:1397134155;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', + 'info' => 'a:12:{s:4:"name";s:5:"Email";s:11:"description";s:28:"Defines an email field type.";s:4:"core";s:3:"7.x";s:7:"package";s:6:"Fields";s:5:"files";a:1:{i:0;s:17:"email.migrate.inc";}s:5:"mtime";i:1664867555;s:12:"dependencies";a:0:{}s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', )) ->values(array( 'filename' => 'sites/all/modules/entity/entity.module', @@ -57718,7 +63248,7 @@ 'bootstrap' => '0', 'schema_version' => '7003', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:10:"Entity API";s:11:"description";s:69:"Enables modules to work with any entity type and to provide entities.";s:4:"core";s:3:"7.x";s:5:"files";a:24:{i:0;s:19:"entity.features.inc";i:1;s:15:"entity.i18n.inc";i:2;s:15:"entity.info.inc";i:3;s:16:"entity.rules.inc";i:4;s:11:"entity.test";i:5;s:19:"includes/entity.inc";i:6;s:30:"includes/entity.controller.inc";i:7;s:22:"includes/entity.ui.inc";i:8;s:27:"includes/entity.wrapper.inc";i:9;s:22:"views/entity.views.inc";i:10;s:52:"views/handlers/entity_views_field_handler_helper.inc";i:11;s:51:"views/handlers/entity_views_handler_area_entity.inc";i:12;s:53:"views/handlers/entity_views_handler_field_boolean.inc";i:13;s:50:"views/handlers/entity_views_handler_field_date.inc";i:14;s:54:"views/handlers/entity_views_handler_field_duration.inc";i:15;s:52:"views/handlers/entity_views_handler_field_entity.inc";i:16;s:51:"views/handlers/entity_views_handler_field_field.inc";i:17;s:53:"views/handlers/entity_views_handler_field_numeric.inc";i:18;s:53:"views/handlers/entity_views_handler_field_options.inc";i:19;s:50:"views/handlers/entity_views_handler_field_text.inc";i:20;s:49:"views/handlers/entity_views_handler_field_uri.inc";i:21;s:62:"views/handlers/entity_views_handler_relationship_by_bundle.inc";i:22;s:52:"views/handlers/entity_views_handler_relationship.inc";i:23;s:53:"views/plugins/entity_views_plugin_row_entity_view.inc";}s:7:"version";s:7:"7.x-1.6";s:7:"project";s:6:"entity";s:9:"datestamp";s:10:"1424876582";s:5:"mtime";i:1424876582;s:12:"dependencies";a:0:{}s:7:"package";s:5:"Other";s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:10:"Entity API";s:11:"description";s:69:"Enables modules to work with any entity type and to provide entities.";s:4:"core";s:3:"7.x";s:5:"files";a:24:{i:0;s:19:"entity.features.inc";i:1;s:15:"entity.i18n.inc";i:2;s:15:"entity.info.inc";i:3;s:16:"entity.rules.inc";i:4;s:11:"entity.test";i:5;s:19:"includes/entity.inc";i:6;s:30:"includes/entity.controller.inc";i:7;s:22:"includes/entity.ui.inc";i:8;s:27:"includes/entity.wrapper.inc";i:9;s:22:"views/entity.views.inc";i:10;s:52:"views/handlers/entity_views_field_handler_helper.inc";i:11;s:51:"views/handlers/entity_views_handler_area_entity.inc";i:12;s:53:"views/handlers/entity_views_handler_field_boolean.inc";i:13;s:50:"views/handlers/entity_views_handler_field_date.inc";i:14;s:54:"views/handlers/entity_views_handler_field_duration.inc";i:15;s:52:"views/handlers/entity_views_handler_field_entity.inc";i:16;s:51:"views/handlers/entity_views_handler_field_field.inc";i:17;s:53:"views/handlers/entity_views_handler_field_numeric.inc";i:18;s:53:"views/handlers/entity_views_handler_field_options.inc";i:19;s:50:"views/handlers/entity_views_handler_field_text.inc";i:20;s:49:"views/handlers/entity_views_handler_field_uri.inc";i:21;s:62:"views/handlers/entity_views_handler_relationship_by_bundle.inc";i:22;s:52:"views/handlers/entity_views_handler_relationship.inc";i:23;s:53:"views/plugins/entity_views_plugin_row_entity_view.inc";}s:5:"mtime";i:1664868240;s:12:"dependencies";a:0:{}s:7:"package";s:5:"Other";s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/entity/entity_token.module', @@ -57729,7 +63259,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:13:"Entity tokens";s:11:"description";s:99:"Provides token replacements for all properties that have no tokens and are known to the entity API.";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:23:"entity_token.tokens.inc";i:1;s:19:"entity_token.module";}s:12:"dependencies";a:1:{i:0;s:6:"entity";}s:7:"version";s:7:"7.x-1.6";s:7:"project";s:6:"entity";s:9:"datestamp";s:10:"1424876582";s:5:"mtime";i:1424876582;s:7:"package";s:5:"Other";s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:13:"Entity tokens";s:11:"description";s:99:"Provides token replacements for all properties that have no tokens and are known to the entity API.";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:23:"entity_token.tokens.inc";i:1;s:19:"entity_token.module";}s:12:"dependencies";a:1:{i:0;s:6:"entity";}s:5:"mtime";i:1664868240;s:7:"package";s:5:"Other";s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/entity/tests/entity_feature.module', @@ -57740,7 +63270,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:21:"Entity feature module";s:11:"description";s:31:"Provides some entities in code.";s:7:"version";s:7:"7.x-1.6";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:21:"entity_feature.module";}s:12:"dependencies";a:1:{i:0;s:11:"entity_test";}s:6:"hidden";b:1;s:7:"project";s:6:"entity";s:9:"datestamp";s:10:"1424876582";s:5:"mtime";i:1424876582;s:7:"package";s:5:"Other";s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:21:"Entity feature module";s:11:"description";s:31:"Provides some entities in code.";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:21:"entity_feature.module";}s:12:"dependencies";a:1:{i:0;s:11:"entity_test";}s:6:"hidden";b:1;s:5:"mtime";i:1664868240;s:7:"package";s:5:"Other";s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/entity/tests/entity_test.module', @@ -57751,7 +63281,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:23:"Entity CRUD test module";s:11:"description";s:46:"Provides entity types based upon the CRUD API.";s:7:"version";s:7:"7.x-1.6";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:18:"entity_test.module";i:1;s:19:"entity_test.install";}s:12:"dependencies";a:1:{i:0;s:6:"entity";}s:6:"hidden";b:1;s:7:"project";s:6:"entity";s:9:"datestamp";s:10:"1424876582";s:5:"mtime";i:1424876582;s:7:"package";s:5:"Other";s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:23:"Entity CRUD test module";s:11:"description";s:46:"Provides entity types based upon the CRUD API.";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:18:"entity_test.module";i:1;s:19:"entity_test.install";}s:12:"dependencies";a:1:{i:0;s:6:"entity";}s:6:"hidden";b:1;s:5:"mtime";i:1664868240;s:7:"package";s:5:"Other";s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/entity/tests/entity_test_i18n.module', @@ -57762,7 +63292,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:28:"Entity-test type translation";s:11:"description";s:37:"Allows translating entity-test types.";s:12:"dependencies";a:2:{i:0;s:11:"entity_test";i:1;s:11:"i18n_string";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"version";s:7:"7.x-1.6";s:7:"project";s:6:"entity";s:9:"datestamp";s:10:"1424876582";s:5:"mtime";i:1424876582;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:28:"Entity-test type translation";s:11:"description";s:37:"Allows translating entity-test types.";s:12:"dependencies";a:2:{i:0;s:11:"entity_test";i:1;s:11:"i18n_string";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:5:"mtime";i:1664868240;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/entityreference/entityreference.module', @@ -57771,9 +63301,9 @@ 'owner' => '', 'status' => '1', 'bootstrap' => '0', - 'schema_version' => '7002', + 'schema_version' => '7100', 'weight' => '0', - 'info' => 'a:14:{s:4:"name";s:16:"Entity Reference";s:11:"description";s:51:"Provides a field that can reference other entities.";s:4:"core";s:3:"7.x";s:7:"package";s:6:"Fields";s:12:"dependencies";a:2:{i:0;s:6:"entity";i:1;s:6:"ctools";}s:5:"files";a:11:{i:0;s:27:"entityreference.migrate.inc";i:1;s:30:"plugins/selection/abstract.inc";i:2;s:27:"plugins/selection/views.inc";i:3;s:29:"plugins/behavior/abstract.inc";i:4;s:40:"views/entityreference_plugin_display.inc";i:5;s:38:"views/entityreference_plugin_style.inc";i:6;s:43:"views/entityreference_plugin_row_fields.inc";i:7;s:35:"tests/entityreference.handlers.test";i:8;s:35:"tests/entityreference.taxonomy.test";i:9;s:32:"tests/entityreference.admin.test";i:10;s:32:"tests/entityreference.feeds.test";}s:7:"version";s:7:"7.x-1.1";s:7:"project";s:15:"entityreference";s:9:"datestamp";s:10:"1384973110";s:5:"mtime";i:1384973110;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', + 'info' => 'a:13:{s:4:"name";s:16:"Entity Reference";s:11:"description";s:51:"Provides a field that can reference other entities.";s:7:"package";s:6:"Fields";s:4:"core";s:3:"7.x";s:12:"dependencies";a:2:{i:0;s:6:"entity";i:1;s:6:"ctools";}s:17:"test_dependencies";a:2:{i:0;s:5:"feeds";i:1;s:5:"views";}s:5:"files";a:13:{i:0;s:27:"entityreference.migrate.inc";i:1;s:30:"plugins/selection/abstract.inc";i:2;s:27:"plugins/selection/views.inc";i:3;s:29:"plugins/behavior/abstract.inc";i:4;s:40:"views/entityreference_plugin_display.inc";i:5;s:38:"views/entityreference_plugin_style.inc";i:6;s:43:"views/entityreference_plugin_row_fields.inc";i:7;s:35:"tests/entityreference.handlers.test";i:8;s:35:"tests/entityreference.taxonomy.test";i:9;s:32:"tests/entityreference.admin.test";i:10;s:32:"tests/entityreference.feeds.test";i:11;s:32:"tests/entityreference.field.test";i:12;s:45:"tests/entityreference.entity_translation.test";}s:5:"mtime";i:1664867650;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', )) ->values(array( 'filename' => 'sites/all/modules/entityreference/examples/entityreference_behavior_example/entityreference_behavior_example.module', @@ -57784,7 +63314,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:33:"Entity Reference Behavior Example";s:11:"description";s:71:"Provides some example code for implementing Entity Reference behaviors.";s:4:"core";s:3:"7.x";s:7:"package";s:6:"Fields";s:12:"dependencies";a:1:{i:0;s:15:"entityreference";}s:7:"version";s:7:"7.x-1.1";s:7:"project";s:15:"entityreference";s:9:"datestamp";s:10:"1384973110";s:5:"mtime";i:1384973110;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:33:"Entity Reference Behavior Example";s:11:"description";s:71:"Provides some example code for implementing Entity Reference behaviors.";s:4:"core";s:3:"7.x";s:7:"package";s:6:"Fields";s:12:"dependencies";a:1:{i:0;s:15:"entityreference";}s:5:"mtime";i:1664867650;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/entityreference/tests/modules/entityreference_feeds_test/entityreference_feeds_test.module', @@ -57795,7 +63325,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:41:"Entityreference - Feeds integration tests";s:11:"description";s:65:"Support module for the Entityreference - Feeds integration tests.";s:7:"package";s:7:"Testing";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:12:"dependencies";a:3:{i:0;s:5:"feeds";i:1;s:8:"feeds_ui";i:2;s:15:"entityreference";}s:7:"version";s:7:"7.x-1.1";s:7:"project";s:15:"entityreference";s:9:"datestamp";s:10:"1384973110";s:5:"mtime";i:1384973110;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:41:"Entityreference - Feeds integration tests";s:11:"description";s:65:"Support module for the Entityreference - Feeds integration tests.";s:7:"package";s:7:"Testing";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:12:"dependencies";a:3:{i:0;s:5:"feeds";i:1;s:8:"feeds_ui";i:2;s:15:"entityreference";}s:5:"mtime";i:1664867650;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/entity_translation/entity_translation.module', @@ -57806,7 +63336,7 @@ 'bootstrap' => '0', 'schema_version' => '7009', 'weight' => '11', - 'info' => 'a:14:{s:4:"name";s:18:"Entity Translation";s:11:"description";s:58:"Allows entities to be translated into different languages.";s:7:"package";s:33:"Multilingual - Entity Translation";s:4:"core";s:3:"7.x";s:9:"configure";s:40:"admin/config/regional/entity_translation";s:12:"dependencies";a:1:{i:0;s:14:"locale (>7.14)";}s:17:"test_dependencies";a:2:{i:0;s:17:"pathauto:pathauto";i:1;s:5:"title";}s:5:"files";a:15:{i:0;s:40:"includes/translation.handler_factory.inc";i:1;s:32:"includes/translation.handler.inc";i:2;s:40:"includes/translation.handler.comment.inc";i:3;s:37:"includes/translation.handler.node.inc";i:4;s:46:"includes/translation.handler.taxonomy_term.inc";i:5;s:37:"includes/translation.handler.user.inc";i:6;s:32:"includes/translation.migrate.inc";i:7;s:29:"tests/entity_translation.test";i:8;s:49:"views/entity_translation_handler_relationship.inc";i:9;s:57:"views/entity_translation_handler_field_translate_link.inc";i:10;s:48:"views/entity_translation_handler_field_label.inc";i:11;s:55:"views/entity_translation_handler_filter_entity_type.inc";i:12;s:52:"views/entity_translation_handler_filter_language.inc";i:13;s:62:"views/entity_translation_handler_filter_translation_exists.inc";i:14;s:48:"views/entity_translation_handler_field_field.inc";}s:7:"version";s:7:"7.x-1.0";s:7:"project";s:18:"entity_translation";s:9:"datestamp";s:10:"1522600694";s:5:"mtime";i:1535762879;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:12:{s:4:"name";s:18:"Entity Translation";s:11:"description";s:58:"Allows entities to be translated into different languages.";s:7:"package";s:33:"Multilingual - Entity Translation";s:4:"core";s:3:"7.x";s:9:"configure";s:40:"admin/config/regional/entity_translation";s:12:"dependencies";a:1:{i:0;s:14:"locale (>7.14)";}s:17:"test_dependencies";a:2:{i:0;s:17:"pathauto:pathauto";i:1;s:11:"title:title";}s:5:"files";a:15:{i:0;s:40:"includes/translation.handler_factory.inc";i:1;s:32:"includes/translation.handler.inc";i:2;s:40:"includes/translation.handler.comment.inc";i:3;s:37:"includes/translation.handler.node.inc";i:4;s:46:"includes/translation.handler.taxonomy_term.inc";i:5;s:37:"includes/translation.handler.user.inc";i:6;s:32:"includes/translation.migrate.inc";i:7;s:29:"tests/entity_translation.test";i:8;s:49:"views/entity_translation_handler_relationship.inc";i:9;s:57:"views/entity_translation_handler_field_translate_link.inc";i:10;s:48:"views/entity_translation_handler_field_label.inc";i:11;s:55:"views/entity_translation_handler_filter_entity_type.inc";i:12;s:52:"views/entity_translation_handler_filter_language.inc";i:13;s:62:"views/entity_translation_handler_filter_translation_exists.inc";i:14;s:48:"views/entity_translation_handler_field_field.inc";}s:5:"mtime";i:1664867622;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/entity_translation/entity_translation_i18n_menu/entity_translation_i18n_menu.module', @@ -57817,7 +63347,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:23:"Entity Translation Menu";s:11:"description";s:54:"Allows menu items to be translated on the entity form.";s:7:"package";s:33:"Multilingual - Entity Translation";s:4:"core";s:3:"7.x";s:12:"dependencies";a:3:{i:0;s:18:"entity_translation";i:1;s:4:"i18n";i:2;s:9:"i18n_menu";}s:5:"files";a:1:{i:0;s:33:"entity_translation_i18n_menu.test";}s:7:"version";s:7:"7.x-1.0";s:7:"project";s:18:"entity_translation";s:9:"datestamp";s:10:"1522600694";s:5:"mtime";i:1535762879;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:23:"Entity Translation Menu";s:11:"description";s:54:"Allows menu items to be translated on the entity form.";s:7:"package";s:33:"Multilingual - Entity Translation";s:4:"core";s:3:"7.x";s:12:"dependencies";a:3:{i:0;s:18:"entity_translation";i:1;s:4:"i18n";i:2;s:9:"i18n_menu";}s:5:"files";a:1:{i:0;s:33:"entity_translation_i18n_menu.test";}s:5:"mtime";i:1664867622;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/entity_translation/entity_translation_upgrade/entity_translation_upgrade.module', @@ -57828,7 +63358,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:26:"Entity Translation Upgrade";s:11:"description";s:80:"Provides an upgrade path from node-based translation to field-based translation.";s:7:"package";s:33:"Multilingual - Entity Translation";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:18:"entity_translation";}s:5:"files";a:1:{i:0;s:31:"entity_translation_upgrade.test";}s:7:"version";s:7:"7.x-1.0";s:7:"project";s:18:"entity_translation";s:9:"datestamp";s:10:"1522600694";s:5:"mtime";i:1535762879;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:26:"Entity Translation Upgrade";s:11:"description";s:80:"Provides an upgrade path from node-based translation to field-based translation.";s:7:"package";s:33:"Multilingual - Entity Translation";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:18:"entity_translation";}s:5:"files";a:1:{i:0;s:31:"entity_translation_upgrade.test";}s:5:"mtime";i:1664867622;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/entity_translation/tests/entity_translation_test.module', @@ -57839,7 +63369,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:26:"Entity Translation testing";s:11:"description";s:61:"Tests Entity Translation module functionality. Do not enable.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:6:"hidden";b:1;s:12:"dependencies";a:1:{i:0;s:18:"entity_translation";}s:5:"files";a:1:{i:0;s:30:"entity_translation_test.module";}s:7:"version";s:7:"7.x-1.0";s:7:"project";s:18:"entity_translation";s:9:"datestamp";s:10:"1522600694";s:5:"mtime";i:1535762879;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:26:"Entity Translation testing";s:11:"description";s:61:"Tests Entity Translation module functionality. Do not enable.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:6:"hidden";b:1;s:12:"dependencies";a:1:{i:0;s:18:"entity_translation";}s:5:"files";a:1:{i:0;s:30:"entity_translation_test.module";}s:5:"mtime";i:1664867622;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/i18n.module', @@ -57850,7 +63380,7 @@ 'bootstrap' => '1', 'schema_version' => '7001', 'weight' => '10', - 'info' => 'a:13:{s:4:"name";s:20:"Internationalization";s:11:"description";s:49:"Extends Drupal support for multilingual features.";s:12:"dependencies";a:2:{i:0;s:6:"locale";i:1;s:8:"variable";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:15:"i18n_object.inc";i:1;s:9:"i18n.test";}s:9:"configure";s:26:"admin/config/regional/i18n";s:7:"version";s:8:"7.x-1.26";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1534531985";s:5:"mtime";i:1534531985;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:20:"Internationalization";s:11:"description";s:49:"Extends Drupal support for multilingual features.";s:12:"dependencies";a:2:{i:0;s:6:"locale";i:1;s:8:"variable";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:15:"i18n_object.inc";i:1;s:9:"i18n.test";}s:9:"configure";s:26:"admin/config/regional/i18n";s:5:"mtime";i:1664867462;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/i18n_block/i18n_block.module', @@ -57861,7 +63391,7 @@ 'bootstrap' => '0', 'schema_version' => '7001', 'weight' => '100', - 'info' => 'a:12:{s:4:"name";s:15:"Block languages";s:11:"description";s:68:"Enables language selector for blocks and optional block translation.";s:12:"dependencies";a:2:{i:0;s:5:"block";i:1;s:11:"i18n_string";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:14:"i18n_block.inc";i:1;s:15:"i18n_block.test";}s:7:"version";s:8:"7.x-1.25";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1531342125";s:5:"mtime";i:1537747250;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:15:"Block languages";s:11:"description";s:68:"Enables language selector for blocks and optional block translation.";s:12:"dependencies";a:2:{i:0;s:5:"block";i:1;s:11:"i18n_string";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:14:"i18n_block.inc";i:1;s:15:"i18n_block.test";}s:5:"mtime";i:1664867462;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/i18n_contact/i18n_contact.module', @@ -57872,7 +63402,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:19:"Contact translation";s:11:"description";s:63:"Makes contact categories and replies available for translation.";s:12:"dependencies";a:2:{i:0;s:7:"contact";i:1;s:11:"i18n_string";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:7:"version";s:8:"7.x-1.25";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1531342125";s:5:"mtime";i:1537747250;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:19:"Contact translation";s:11:"description";s:63:"Makes contact categories and replies available for translation.";s:12:"dependencies";a:2:{i:0;s:7:"contact";i:1;s:11:"i18n_string";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"mtime";i:1664867462;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/i18n_field/i18n_field.module', @@ -57881,9 +63411,9 @@ 'owner' => '', 'status' => '1', 'bootstrap' => '0', - 'schema_version' => '-1', + 'schema_version' => '7000', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:17:"Field translation";s:11:"description";s:26:"Translate field properties";s:12:"dependencies";a:2:{i:0;s:5:"field";i:1;s:11:"i18n_string";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:14:"i18n_field.inc";i:1;s:15:"i18n_field.test";}s:7:"version";s:8:"7.x-1.25";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1531342125";s:5:"mtime";i:1537747250;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:17:"Field translation";s:11:"description";s:26:"Translate field properties";s:12:"dependencies";a:2:{i:0;s:5:"field";i:1;s:11:"i18n_string";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:14:"i18n_field.inc";i:1;s:15:"i18n_field.test";}s:5:"mtime";i:1664867462;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/i18n_forum/i18n_forum.module', @@ -57894,7 +63424,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:18:"Multilingual forum";s:11:"description";s:60:"Enables multilingual forum, translates names and containers.";s:12:"dependencies";a:3:{i:0;s:5:"forum";i:1;s:13:"i18n_taxonomy";i:2;s:9:"i18n_node";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:15:"i18n_forum.test";}s:7:"version";s:8:"7.x-1.26";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1534531985";s:5:"mtime";i:1534531985;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:18:"Multilingual forum";s:11:"description";s:60:"Enables multilingual forum, translates names and containers.";s:12:"dependencies";a:3:{i:0;s:5:"forum";i:1;s:13:"i18n_taxonomy";i:2;s:9:"i18n_node";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:15:"i18n_forum.test";}s:5:"mtime";i:1664867462;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/i18n_menu/i18n_menu.module', @@ -57905,7 +63435,7 @@ 'bootstrap' => '0', 'schema_version' => '7001', 'weight' => '5', - 'info' => 'a:10:{s:4:"name";s:16:"Menu translation";s:11:"description";s:40:"Supports translatable custom menu items.";s:12:"dependencies";a:4:{i:0;s:4:"i18n";i:1;s:4:"menu";i:2;s:11:"i18n_string";i:3;s:16:"i18n_translation";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:13:"i18n_menu.inc";i:1;s:14:"i18n_menu.test";}s:5:"mtime";i:1569454741;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:16:"Menu translation";s:11:"description";s:40:"Supports translatable custom menu items.";s:12:"dependencies";a:4:{i:0;s:4:"i18n";i:1;s:4:"menu";i:2;s:11:"i18n_string";i:3;s:16:"i18n_translation";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:13:"i18n_menu.inc";i:1;s:14:"i18n_menu.test";}s:5:"mtime";i:1664867462;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/i18n_node/i18n_node.module', @@ -57916,7 +63446,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:20:"Multilingual content";s:11:"description";s:46:"Extended node options for multilingual content";s:12:"dependencies";a:3:{i:0;s:11:"translation";i:1;s:4:"i18n";i:2;s:11:"i18n_string";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:9:"configure";s:31:"admin/config/regional/i18n/node";s:5:"files";a:2:{i:0;s:14:"i18n_node.test";i:1;s:22:"i18n_node.variable.inc";}s:7:"version";s:8:"7.x-1.26";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1534531985";s:5:"mtime";i:1534531985;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:20:"Multilingual content";s:11:"description";s:46:"Extended node options for multilingual content";s:12:"dependencies";a:3:{i:0;s:11:"translation";i:1;s:4:"i18n";i:2;s:11:"i18n_string";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:9:"configure";s:31:"admin/config/regional/i18n/node";s:5:"files";a:2:{i:0;s:14:"i18n_node.test";i:1;s:22:"i18n_node.variable.inc";}s:5:"mtime";i:1664867462;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/i18n_path/i18n_path.module', @@ -57927,7 +63457,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:16:"Path translation";s:11:"description";s:37:"Define translations for generic paths";s:12:"dependencies";a:1:{i:0;s:16:"i18n_translation";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:13:"i18n_path.inc";i:1;s:14:"i18n_path.test";}s:7:"version";s:8:"7.x-1.26";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1534531985";s:5:"mtime";i:1534531985;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:16:"Path translation";s:11:"description";s:37:"Define translations for generic paths";s:12:"dependencies";a:1:{i:0;s:16:"i18n_translation";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:13:"i18n_path.inc";i:1;s:14:"i18n_path.test";}s:5:"mtime";i:1664867462;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/i18n_redirect/i18n_redirect.module', @@ -57938,7 +63468,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:20:"Translation redirect";s:11:"description";s:71:"Redirect to translated page when available. SEO for multilingual sites.";s:12:"dependencies";a:1:{i:0;s:4:"i18n";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:7:"version";s:8:"7.x-1.26";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1534531985";s:5:"mtime";i:1534531985;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:20:"Translation redirect";s:11:"description";s:71:"Redirect to translated page when available. SEO for multilingual sites.";s:12:"dependencies";a:1:{i:0;s:4:"i18n";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"mtime";i:1664867462;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/i18n_select/i18n_select.module', @@ -57949,7 +63479,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:19:"Multilingual select";s:11:"description";s:45:"API module for multilingual content selection";s:12:"dependencies";a:1:{i:0;s:4:"i18n";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:9:"configure";s:33:"admin/config/regional/i18n/select";s:5:"files";a:1:{i:0;s:16:"i18n_select.test";}s:7:"version";s:8:"7.x-1.25";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1531342125";s:5:"mtime";i:1537747251;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:19:"Multilingual select";s:11:"description";s:45:"API module for multilingual content selection";s:12:"dependencies";a:1:{i:0;s:4:"i18n";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:9:"configure";s:33:"admin/config/regional/i18n/select";s:5:"files";a:1:{i:0;s:16:"i18n_select.test";}s:5:"mtime";i:1664867462;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/i18n_string/i18n_string.module', @@ -57958,9 +63488,9 @@ 'owner' => '', 'status' => '1', 'bootstrap' => '0', - 'schema_version' => '-1', - 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:18:"String translation";s:11:"description";s:57:"Provides support for translation of user defined strings.";s:12:"dependencies";a:2:{i:0;s:6:"locale";i:1;s:4:"i18n";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:3:{i:0;s:21:"i18n_string.admin.inc";i:1;s:15:"i18n_string.inc";i:2;s:16:"i18n_string.test";}s:9:"configure";s:34:"admin/config/regional/i18n/strings";s:7:"version";s:8:"7.x-1.25";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1531342125";s:5:"mtime";i:1537747251;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'schema_version' => '7004', + 'weight' => '10', + 'info' => 'a:11:{s:4:"name";s:18:"String translation";s:11:"description";s:57:"Provides support for translation of user defined strings.";s:12:"dependencies";a:2:{i:0;s:6:"locale";i:1;s:4:"i18n";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:3:{i:0;s:21:"i18n_string.admin.inc";i:1;s:15:"i18n_string.inc";i:2;s:16:"i18n_string.test";}s:9:"configure";s:34:"admin/config/regional/i18n/strings";s:5:"mtime";i:1664867462;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/i18n_sync/i18n_sync.module', @@ -57969,9 +63499,9 @@ 'owner' => '', 'status' => '1', 'bootstrap' => '0', - 'schema_version' => '-1', - 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:24:"Synchronize translations";s:11:"description";s:73:"Synchronizes taxonomy and fields across translations of the same content.";s:12:"dependencies";a:2:{i:0;s:4:"i18n";i:1;s:11:"translation";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:5:{i:0;s:16:"i18n_sync.module";i:1;s:17:"i18n_sync.install";i:2;s:20:"i18n_sync.module.inc";i:3;s:18:"i18n_sync.node.inc";i:4;s:14:"i18n_sync.test";}s:7:"version";s:8:"7.x-1.25";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1531342125";s:5:"mtime";i:1537747251;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'schema_version' => '7000', + 'weight' => '100', + 'info' => 'a:10:{s:4:"name";s:24:"Synchronize translations";s:11:"description";s:73:"Synchronizes taxonomy and fields across translations of the same content.";s:12:"dependencies";a:2:{i:0;s:4:"i18n";i:1;s:11:"translation";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:5:{i:0;s:16:"i18n_sync.module";i:1;s:17:"i18n_sync.install";i:2;s:20:"i18n_sync.module.inc";i:3;s:18:"i18n_sync.node.inc";i:4;s:14:"i18n_sync.test";}s:5:"mtime";i:1664867462;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.module', @@ -57982,7 +63512,7 @@ 'bootstrap' => '0', 'schema_version' => '7004', 'weight' => '5', - 'info' => 'a:12:{s:4:"name";s:20:"Taxonomy translation";s:11:"description";s:30:"Enables multilingual taxonomy.";s:12:"dependencies";a:3:{i:0;s:8:"taxonomy";i:1;s:11:"i18n_string";i:2;s:16:"i18n_translation";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:4:{i:0;s:17:"i18n_taxonomy.inc";i:1;s:23:"i18n_taxonomy.pages.inc";i:2;s:23:"i18n_taxonomy.admin.inc";i:3;s:18:"i18n_taxonomy.test";}s:7:"version";s:8:"7.x-1.25";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1531342125";s:5:"mtime";i:1537747251;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:20:"Taxonomy translation";s:11:"description";s:30:"Enables multilingual taxonomy.";s:12:"dependencies";a:3:{i:0;s:8:"taxonomy";i:1;s:11:"i18n_string";i:2;s:16:"i18n_translation";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:4:{i:0;s:17:"i18n_taxonomy.inc";i:1;s:23:"i18n_taxonomy.pages.inc";i:2;s:23:"i18n_taxonomy.admin.inc";i:3;s:18:"i18n_taxonomy.test";}s:5:"mtime";i:1664867462;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/i18n_translation/i18n_translation.module', @@ -57991,9 +63521,9 @@ 'owner' => '', 'status' => '1', 'bootstrap' => '0', - 'schema_version' => '-1', + 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:16:"Translation sets";s:11:"description";s:47:"Simple translation sets API for generic objects";s:12:"dependencies";a:1:{i:0;s:4:"i18n";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:20:"i18n_translation.inc";}s:7:"version";s:8:"7.x-1.25";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1531342125";s:5:"mtime";i:1537747251;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:16:"Translation sets";s:11:"description";s:47:"Simple translation sets API for generic objects";s:12:"dependencies";a:1:{i:0;s:4:"i18n";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:20:"i18n_translation.inc";}s:5:"mtime";i:1664867462;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/i18n_user/i18n_user.module', @@ -58004,7 +63534,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:21:"User mail translation";s:11:"description";s:43:"Translate emails sent from the User module.";s:4:"core";s:3:"7.x";s:7:"package";s:35:"Multilingual - Internationalization";s:12:"dependencies";a:1:{i:0;s:13:"i18n_variable";}s:7:"version";s:8:"7.x-1.26";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1534531985";s:5:"mtime";i:1534531985;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:21:"User mail translation";s:11:"description";s:43:"Translate emails sent from the User module.";s:4:"core";s:3:"7.x";s:7:"package";s:35:"Multilingual - Internationalization";s:12:"dependencies";a:1:{i:0;s:13:"i18n_variable";}s:5:"mtime";i:1664867462;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/i18n_variable/i18n_variable.module', @@ -58015,7 +63545,7 @@ 'bootstrap' => '1', 'schema_version' => '7004', 'weight' => '-900', - 'info' => 'a:13:{s:4:"name";s:20:"Variable translation";s:11:"description";s:71:"Multilingual variables that switch language depending on page language.";s:12:"dependencies";a:3:{i:0;s:4:"i18n";i:1;s:24:"variable_store (7.x-2.x)";i:2;s:24:"variable_realm (7.x-2.x)";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:9:"configure";s:35:"admin/config/regional/i18n/variable";s:5:"files";a:2:{i:0;s:23:"i18n_variable.class.inc";i:1;s:18:"i18n_variable.test";}s:7:"version";s:8:"7.x-1.26";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1534531985";s:5:"mtime";i:1534531985;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:20:"Variable translation";s:11:"description";s:71:"Multilingual variables that switch language depending on page language.";s:12:"dependencies";a:3:{i:0;s:4:"i18n";i:1;s:24:"variable_store (7.x-2.x)";i:2;s:24:"variable_realm (7.x-2.x)";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:9:"configure";s:35:"admin/config/regional/i18n/variable";s:5:"files";a:2:{i:0;s:23:"i18n_variable.class.inc";i:1;s:18:"i18n_variable.test";}s:5:"mtime";i:1664867462;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/tests/i18n_test.module', @@ -58026,7 +63556,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:26:"Internationalization tests";s:11:"description";s:55:"Helper module for testing i18n (do not enable manually)";s:12:"dependencies";a:3:{i:0;s:6:"locale";i:1;s:11:"translation";i:2;s:4:"i18n";}s:7:"package";s:7:"Testing";s:4:"core";s:3:"7.x";s:6:"hidden";b:1;s:7:"version";s:8:"7.x-1.26";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1534531985";s:5:"mtime";i:1534531985;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:26:"Internationalization tests";s:11:"description";s:55:"Helper module for testing i18n (do not enable manually)";s:12:"dependencies";a:3:{i:0;s:6:"locale";i:1;s:11:"translation";i:2;s:4:"i18n";}s:7:"package";s:7:"Testing";s:4:"core";s:3:"6.x";s:6:"hidden";b:1;s:5:"mtime";i:1664867462;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/link/link.module', @@ -58035,86 +63565,108 @@ 'owner' => '', 'status' => '1', 'bootstrap' => '0', - 'schema_version' => '7001', + 'schema_version' => '7100', 'weight' => '0', - 'info' => 'a:14:{s:4:"name";s:4:"Link";s:11:"description";s:32:"Defines simple link field types.";s:4:"core";s:3:"7.x";s:7:"package";s:6:"Fields";s:5:"files";a:10:{i:0;s:11:"link.module";i:1;s:16:"link.migrate.inc";i:2;s:15:"tests/link.test";i:3;s:25:"tests/link.attribute.test";i:4;s:20:"tests/link.crud.test";i:5;s:28:"tests/link.crud_browser.test";i:6;s:21:"tests/link.token.test";i:7;s:24:"tests/link.validate.test";i:8;s:44:"views/link_views_handler_argument_target.inc";i:9;s:44:"views/link_views_handler_filter_protocol.inc";}s:7:"version";s:7:"7.x-1.3";s:7:"project";s:4:"link";s:9:"datestamp";s:10:"1413924830";s:5:"mtime";i:1413924830;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', + 'info' => 'a:14:{s:4:"name";s:4:"Link";s:11:"description";s:32:"Defines simple link field types.";s:4:"core";s:3:"7.x";s:7:"package";s:6:"Fields";s:9:"configure";s:25:"admin/config/content/link";s:5:"files";a:15:{i:0;s:16:"link.migrate.inc";i:1;s:44:"views/link_views_handler_argument_target.inc";i:2;s:44:"views/link_views_handler_filter_protocol.inc";i:3;s:28:"tests/LinkBaseTestClass.test";i:4;s:39:"tests/LinkConvertInternalPathsTest.test";i:5;s:34:"tests/LinkDefaultProtocolTest.test";i:6;s:30:"tests/LinkEntityTokenTest.test";i:7;s:34:"tests/LinkFieldAttributesTest.test";i:8;s:28:"tests/LinkFieldCrudTest.test";i:9;s:32:"tests/LinkFieldValidateTest.test";i:10;s:31:"tests/LinkPathPrefixesTest.test";i:11;s:27:"tests/LinkSanitizeTest.test";i:12;s:24:"tests/LinkTokenTest.test";i:13;s:32:"tests/LinkValidationApiTest.test";i:14;s:27:"tests/LinkUnitTestCase.test";}s:17:"test_dependencies";a:2:{i:0;s:13:"entity:entity";i:1;s:11:"token:token";}s:5:"mtime";i:1664867467;s:12:"dependencies";a:0:{}s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', )) ->values(array( - 'filename' => 'sites/all/modules/phone/phone.module', - 'name' => 'phone', + 'filename' => 'sites/all/modules/multiupload_filefield_widget/multiupload_filefield_widget.module', + 'name' => 'multiupload_filefield_widget', 'type' => 'module', 'owner' => '', 'status' => '1', 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:14:{s:4:"name";s:5:"Phone";s:11:"description";s:80:"The phone module allows administrators to define a field type for phone numbers.";s:7:"package";s:6:"Fields";s:12:"dependencies";a:1:{i:0;s:5:"field";}s:5:"files";a:30:{i:0;s:17:"phone.migrate.inc";i:1;s:19:"tests/phone.au.test";i:2;s:19:"tests/phone.be.test";i:3;s:19:"tests/phone.br.test";i:4;s:19:"tests/phone.ca.test";i:5;s:19:"tests/phone.ch.test";i:6;s:19:"tests/phone.cl.test";i:7;s:19:"tests/phone.cn.test";i:8;s:19:"tests/phone.cr.test";i:9;s:19:"tests/phone.cs.test";i:10;s:19:"tests/phone.eg.test";i:11;s:19:"tests/phone.es.test";i:12;s:19:"tests/phone.fr.test";i:13;s:19:"tests/phone.hu.test";i:14;s:19:"tests/phone.il.test";i:15;s:20:"tests/phone.int.test";i:16;s:19:"tests/phone.it.test";i:17;s:19:"tests/phone.jo.test";i:18;s:19:"tests/phone.nl.test";i:19;s:19:"tests/phone.nz.test";i:20;s:19:"tests/phone.pa.test";i:21;s:19:"tests/phone.ph.test";i:22;s:19:"tests/phone.pk.test";i:23;s:19:"tests/phone.pl.test";i:24;s:19:"tests/phone.ru.test";i:25;s:19:"tests/phone.se.test";i:26;s:19:"tests/phone.sg.test";i:27;s:19:"tests/phone.ua.test";i:28;s:19:"tests/phone.uk.test";i:29;s:19:"tests/phone.za.test";}s:4:"core";s:3:"7.x";s:7:"version";s:13:"7.x-1.0-beta1";s:7:"project";s:5:"phone";s:9:"datestamp";s:10:"1389732224";s:5:"mtime";i:1535762879;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', + 'info' => 'a:10:{s:4:"name";s:28:"Multiupload Filefield Widget";s:11:"description";s:76:"Creates a widget for filefield to upload multiple files at once using html5.";s:7:"package";s:6:"Fields";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:4:"file";}s:5:"files";a:2:{i:0;s:35:"multiupload_filefield_widget.module";i:1;s:33:"multiupload_filefield_widget.test";}s:5:"mtime";i:1664867583;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( - 'filename' => 'sites/all/modules/references/node_reference/node_reference.module', - 'name' => 'node_reference', + 'filename' => 'sites/all/modules/multiupload_imagefield_widget/multiupload_imagefield_widget.module', + 'name' => 'multiupload_imagefield_widget', 'type' => 'module', 'owner' => '', 'status' => '1', 'bootstrap' => '0', - 'schema_version' => '7000', + 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:14:"Node Reference";s:11:"description";s:59:"Defines a field type for referencing one node from another.";s:7:"package";s:6:"Fields";s:4:"core";s:3:"7.x";s:12:"dependencies";a:3:{i:0;s:5:"field";i:1;s:10:"references";i:2;s:7:"options";}s:5:"files";a:1:{i:0;s:19:"node_reference.test";}s:7:"version";s:7:"7.x-2.2";s:7:"project";s:10:"references";s:9:"datestamp";s:10:"1492534745";s:5:"mtime";i:1492534745;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:29:"Multiupload Imagefield Widget";s:11:"description";s:77:"Creates a widget for imagefield to upload multiple files at once using html5.";s:7:"package";s:6:"Fields";s:12:"dependencies";a:2:{i:0;s:28:"multiupload_filefield_widget";i:1;s:5:"image";}s:4:"core";s:3:"7.x";s:5:"mtime";i:1664867591;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( - 'filename' => 'sites/all/modules/references/references.module', - 'name' => 'references', + 'filename' => 'sites/all/modules/phone/phone.module', + 'name' => 'phone', 'type' => 'module', 'owner' => '', 'status' => '1', 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:10:"References";s:11:"description";s:67:"Defines common base features for the various reference field types.";s:7:"package";s:6:"Fields";s:4:"core";s:3:"7.x";s:12:"dependencies";a:2:{i:0;s:5:"field";i:1;s:7:"options";}s:5:"files";a:5:{i:0;s:41:"views/references_handler_relationship.inc";i:1;s:37:"views/references_handler_argument.inc";i:2;s:35:"views/references_plugin_display.inc";i:3;s:33:"views/references_plugin_style.inc";i:4;s:38:"views/references_plugin_row_fields.inc";}s:7:"version";s:7:"7.x-2.2";s:7:"project";s:10:"references";s:9:"datestamp";s:10:"1492534745";s:5:"mtime";i:1492534745;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:12:{s:4:"name";s:5:"Phone";s:11:"description";s:80:"The phone module allows administrators to define a field type for phone numbers.";s:7:"package";s:6:"Fields";s:12:"dependencies";a:1:{i:0;s:5:"field";}s:5:"files";a:30:{i:0;s:17:"phone.migrate.inc";i:1;s:19:"tests/phone.au.test";i:2;s:19:"tests/phone.be.test";i:3;s:19:"tests/phone.br.test";i:4;s:19:"tests/phone.ca.test";i:5;s:19:"tests/phone.ch.test";i:6;s:19:"tests/phone.cl.test";i:7;s:19:"tests/phone.cn.test";i:8;s:19:"tests/phone.cr.test";i:9;s:19:"tests/phone.cs.test";i:10;s:19:"tests/phone.eg.test";i:11;s:19:"tests/phone.es.test";i:12;s:19:"tests/phone.fr.test";i:13;s:19:"tests/phone.hu.test";i:14;s:19:"tests/phone.il.test";i:15;s:20:"tests/phone.int.test";i:16;s:19:"tests/phone.it.test";i:17;s:19:"tests/phone.jo.test";i:18;s:19:"tests/phone.nl.test";i:19;s:19:"tests/phone.nz.test";i:20;s:19:"tests/phone.pa.test";i:21;s:19:"tests/phone.ph.test";i:22;s:19:"tests/phone.pk.test";i:23;s:19:"tests/phone.pl.test";i:24;s:19:"tests/phone.ru.test";i:25;s:19:"tests/phone.se.test";i:26;s:19:"tests/phone.sg.test";i:27;s:19:"tests/phone.ua.test";i:28;s:19:"tests/phone.uk.test";i:29;s:19:"tests/phone.za.test";}s:4:"core";s:3:"7.x";s:5:"mtime";i:1664867472;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', )) ->values(array( - 'filename' => 'sites/all/modules/references/references_uuid/references_uuid.module', - 'name' => 'references_uuid', + 'filename' => 'sites/all/modules/picture/flexslider_picture/flexslider_picture.module', + 'name' => 'flexslider_picture', 'type' => 'module', 'owner' => '', 'status' => '0', 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:15:"References UUID";s:4:"core";s:3:"7.x";s:7:"package";s:6:"Fields";s:12:"dependencies";a:2:{i:0;s:10:"references";i:1;s:4:"uuid";}s:7:"version";s:7:"7.x-2.2";s:7:"project";s:10:"references";s:9:"datestamp";s:10:"1492534745";s:5:"mtime";i:1492534745;s:11:"description";s:0:"";s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:18:"FlexSlider Picture";s:11:"description";s:87:"Integrates the Picture module with the FlexSlider module for a truly responsive slider.";s:7:"package";s:7:"Picture";s:4:"core";s:3:"7.x";s:12:"dependencies";a:3:{i:0;s:7:"picture";i:1;s:16:"flexslider (2.x)";i:2;s:23:"flexslider_fields (2.x)";}s:5:"mtime";i:1664870250;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( - 'filename' => 'sites/all/modules/references/user_reference/user_reference.module', - 'name' => 'user_reference', + 'filename' => 'sites/all/modules/picture/picture.module', + 'name' => 'picture', + 'type' => 'module', + 'owner' => '', + 'status' => '0', + 'bootstrap' => '0', + 'schema_version' => '7203', + 'weight' => '0', + 'info' => 'a:12:{s:4:"name";s:7:"Picture";s:11:"description";s:15:"Picture element";s:4:"core";s:3:"7.x";s:12:"dependencies";a:3:{i:0;s:6:"ctools";i:1;s:5:"image";i:2;s:11:"breakpoints";}s:5:"files";a:1:{i:0;s:27:"includes/PictureMapping.php";}s:9:"configure";s:26:"admin/config/media/picture";s:7:"package";s:7:"Picture";s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:19:"picture_wysiwyg.css";s:45:"sites/all/modules/picture/picture_wysiwyg.css";}}s:5:"mtime";i:1664870250;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', +)) +->values(array( + 'filename' => 'sites/all/modules/references/node_reference/node_reference.module', + 'name' => 'node_reference', + 'type' => 'module', + 'owner' => '', + 'status' => '1', + 'bootstrap' => '0', + 'schema_version' => '7000', + 'weight' => '0', + 'info' => 'a:12:{s:4:"name";s:14:"Node Reference";s:11:"description";s:59:"Defines a field type for referencing one node from another.";s:7:"package";s:6:"Fields";s:4:"core";s:3:"7.x";s:12:"dependencies";a:3:{i:0;s:5:"field";i:1;s:10:"references";i:2;s:7:"options";}s:5:"files";a:1:{i:0;s:19:"node_reference.test";}s:5:"mtime";i:1664867628;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', +)) +->values(array( + 'filename' => 'sites/all/modules/references/references.module', + 'name' => 'references', 'type' => 'module', 'owner' => '', 'status' => '1', 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:14:"User Reference";s:11:"description";s:56:"Defines a field type for referencing a user from a node.";s:7:"package";s:6:"Fields";s:4:"core";s:3:"7.x";s:12:"dependencies";a:3:{i:0;s:5:"field";i:1;s:10:"references";i:2;s:7:"options";}s:7:"version";s:7:"7.x-2.2";s:7:"project";s:10:"references";s:9:"datestamp";s:10:"1492534745";s:5:"mtime";i:1492534745;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:10:"References";s:11:"description";s:67:"Defines common base features for the various reference field types.";s:7:"package";s:6:"Fields";s:4:"core";s:3:"7.x";s:12:"dependencies";a:2:{i:0;s:5:"field";i:1;s:7:"options";}s:5:"files";a:5:{i:0;s:41:"views/references_handler_relationship.inc";i:1;s:37:"views/references_handler_argument.inc";i:2;s:35:"views/references_plugin_display.inc";i:3;s:33:"views/references_plugin_style.inc";i:4;s:38:"views/references_plugin_row_fields.inc";}s:5:"mtime";i:1664867628;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( - 'filename' => 'sites/all/modules/picture/flexslider_picture/flexslider_picture.module', - 'name' => 'flexslider_picture', + 'filename' => 'sites/all/modules/references/references_uuid/references_uuid.module', + 'name' => 'references_uuid', 'type' => 'module', 'owner' => '', 'status' => '0', 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:10:{s:4:"name";s:18:"FlexSlider Picture";s:11:"description";s:87:"Integrates the Picture module with the FlexSlider module for a truly responsive slider.";s:7:"package";s:7:"Picture";s:4:"core";s:3:"7.x";s:12:"dependencies";a:3:{i:0;s:7:"picture";i:1;s:16:"flexslider (2.x)";i:2;s:23:"flexslider_fields (2.x)";}s:5:"mtime";i:1544936288;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:15:"References UUID";s:11:"description";s:28:"UUID for References project.";s:4:"core";s:3:"7.x";s:7:"package";s:6:"Fields";s:12:"dependencies";a:2:{i:0;s:10:"references";i:1;s:4:"uuid";}s:5:"mtime";i:1664867628;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( - 'filename' => 'sites/all/modules/picture/picture.module', - 'name' => 'picture', + 'filename' => 'sites/all/modules/references/user_reference/user_reference.module', + 'name' => 'user_reference', 'type' => 'module', 'owner' => '', - 'status' => '0', + 'status' => '1', 'bootstrap' => '0', - 'schema_version' => '-1', + 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:7:"Picture";s:11:"description";s:15:"Picture element";s:4:"core";s:3:"7.x";s:12:"dependencies";a:3:{i:0;s:6:"ctools";i:1;s:5:"image";i:2;s:11:"breakpoints";}s:5:"files";a:1:{i:0;s:27:"includes/PictureMapping.php";}s:9:"configure";s:26:"admin/config/media/picture";s:7:"package";s:7:"Picture";s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:19:"picture_wysiwyg.css";s:45:"sites/all/modules/picture/picture_wysiwyg.css";}}s:5:"mtime";i:1544936288;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:12:{s:4:"name";s:14:"User Reference";s:11:"description";s:56:"Defines a field type for referencing a user from a node.";s:7:"package";s:6:"Fields";s:4:"core";s:3:"7.x";s:12:"dependencies";a:3:{i:0;s:5:"field";i:1;s:10:"references";i:2;s:7:"options";}s:5:"mtime";i:1664867628;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', )) ->values(array( 'filename' => 'sites/all/modules/telephone/telephone.module', @@ -58125,7 +63677,7 @@ 'bootstrap' => '0', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:9:"Telephone";s:11:"description";s:43:"Defines a field type for telephone numbers.";s:7:"package";s:6:"Fields";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:5:"field";}s:5:"files";a:1:{i:0;s:21:"telephone.migrate.inc";}s:7:"version";s:14:"7.x-1.0-alpha1";s:7:"project";s:9:"telephone";s:9:"datestamp";s:10:"1389736105";s:5:"mtime";i:1389736105;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:12:{s:4:"name";s:9:"Telephone";s:11:"description";s:43:"Defines a field type for telephone numbers.";s:7:"package";s:6:"Fields";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:5:"field";}s:5:"files";a:1:{i:0;s:21:"telephone.migrate.inc";}s:5:"mtime";i:1664867478;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;s:8:"required";b:1;s:11:"explanation";s:73:"Field type(s) in use - see Field list";}', )) ->values(array( 'filename' => 'sites/all/modules/title/tests/title_test.module', @@ -58136,7 +63688,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:11:{s:4:"name";s:10:"Title Test";s:11:"description";s:61:"Testing module for Title module functionality. Do not enable.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:6:"hidden";b:1;s:12:"dependencies";a:4:{i:0;s:5:"title";i:1;s:8:"taxonomy";i:2;s:6:"entity";i:3;s:18:"entity_translation";}s:5:"mtime";i:1544915724;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:10:"Title Test";s:11:"description";s:61:"Testing module for Title module functionality. Do not enable.";s:4:"core";s:3:"7.x";s:7:"package";s:7:"Testing";s:6:"hidden";b:1;s:12:"dependencies";a:4:{i:0;s:5:"title";i:1;s:8:"taxonomy";i:2;s:6:"entity";i:3;s:18:"entity_translation";}s:5:"mtime";i:1664867487;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/title/title.module', @@ -58147,7 +63699,7 @@ 'bootstrap' => '0', 'schema_version' => '7002', 'weight' => '100', - 'info' => 'a:13:{s:4:"name";s:5:"Title";s:11:"description";s:50:"Replaces entity legacy fields with regular fields.";s:4:"core";s:3:"7.x";s:7:"package";s:6:"Fields";s:9:"configure";s:26:"admin/config/content/title";s:12:"dependencies";a:1:{i:0;s:14:"system (>7.14)";}s:5:"files";a:3:{i:0;s:12:"title.module";i:1;s:35:"views/views_handler_title_field.inc";i:2;s:16:"tests/title.test";}s:7:"version";s:14:"7.x-1.0-alpha9";s:7:"project";s:5:"title";s:9:"datestamp";s:10:"1484302985";s:5:"mtime";i:1484302985;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:12:{s:4:"name";s:5:"Title";s:11:"description";s:50:"Replaces entity legacy fields with regular fields.";s:4:"core";s:3:"7.x";s:7:"package";s:6:"Fields";s:9:"configure";s:26:"admin/config/content/title";s:12:"dependencies";a:1:{i:0;s:14:"system (>7.14)";}s:5:"files";a:4:{i:0;s:35:"views/views_handler_title_field.inc";i:1;s:37:"tests/TitleAdminSettingsTestCase.test";i:2;s:40:"tests/TitleFieldReplacementTestCase.test";i:3;s:35:"tests/TitleTranslationTestCase.test";}s:17:"test_dependencies";a:2:{i:0;s:6:"entity";i:1;s:18:"entity_translation";}s:5:"mtime";i:1664867487;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/variable/variable.module', @@ -58158,7 +63710,7 @@ 'bootstrap' => '1', 'schema_version' => '0', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:8:"Variable";s:11:"description";s:43:"Variable Information and basic variable API";s:7:"package";s:8:"Variable";s:4:"core";s:3:"7.x";s:5:"files";a:9:{i:0;s:27:"includes/forum.variable.inc";i:1;s:28:"includes/locale.variable.inc";i:2;s:26:"includes/menu.variable.inc";i:3;s:26:"includes/node.variable.inc";i:4;s:28:"includes/system.variable.inc";i:5;s:30:"includes/taxonomy.variable.inc";i:6;s:33:"includes/translation.variable.inc";i:7;s:26:"includes/user.variable.inc";i:8;s:13:"variable.test";}s:7:"version";s:7:"7.x-2.5";s:7:"project";s:8:"variable";s:9:"datestamp";s:10:"1398250128";s:5:"mtime";i:1398250128;s:12:"dependencies";a:0:{}s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:8:"Variable";s:11:"description";s:43:"Variable Information and basic variable API";s:7:"package";s:8:"Variable";s:4:"core";s:3:"7.x";s:5:"files";a:9:{i:0;s:27:"includes/forum.variable.inc";i:1;s:28:"includes/locale.variable.inc";i:2;s:26:"includes/menu.variable.inc";i:3;s:26:"includes/node.variable.inc";i:4;s:28:"includes/system.variable.inc";i:5;s:30:"includes/taxonomy.variable.inc";i:6;s:33:"includes/translation.variable.inc";i:7;s:26:"includes/user.variable.inc";i:8;s:13:"variable.test";}s:5:"mtime";i:1664867493;s:12:"dependencies";a:0:{}s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/variable/variable_admin/variable_admin.module', @@ -58169,7 +63721,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:14:"Variable admin";s:11:"description";s:26:"Variable Administration UI";s:12:"dependencies";a:1:{i:0;s:8:"variable";}s:7:"package";s:8:"Variable";s:4:"core";s:3:"7.x";s:7:"version";s:7:"7.x-2.5";s:7:"project";s:8:"variable";s:9:"datestamp";s:10:"1398250128";s:5:"mtime";i:1398250128;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:14:"Variable admin";s:11:"description";s:26:"Variable Administration UI";s:12:"dependencies";a:1:{i:0;s:8:"variable";}s:7:"package";s:8:"Variable";s:4:"core";s:3:"7.x";s:5:"mtime";i:1664867493;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/variable/variable_example/variable_example.module', @@ -58180,7 +63732,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:16:"Variable example";s:11:"description";s:83:"An example module showing how to use the Variable API and providing some variables.";s:12:"dependencies";a:2:{i:0;s:8:"variable";i:1;s:14:"variable_store";}s:7:"package";s:15:"Example modules";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:29:"variable_example.variable.inc";}s:7:"version";s:7:"7.x-2.5";s:7:"project";s:8:"variable";s:9:"datestamp";s:10:"1398250128";s:5:"mtime";i:1398250128;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:16:"Variable example";s:11:"description";s:83:"An example module showing how to use the Variable API and providing some variables.";s:12:"dependencies";a:2:{i:0;s:8:"variable";i:1;s:14:"variable_store";}s:7:"package";s:15:"Example modules";s:4:"core";s:3:"7.x";s:5:"files";a:1:{i:0;s:29:"variable_example.variable.inc";}s:5:"mtime";i:1664867493;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/variable/variable_realm/variable_realm.module', @@ -58191,7 +63743,7 @@ 'bootstrap' => '1', 'schema_version' => '7000', 'weight' => '-1000', - 'info' => 'a:12:{s:4:"name";s:14:"Variable realm";s:11:"description";s:49:"API to use variable realms from different modules";s:12:"dependencies";a:1:{i:0;s:8:"variable";}s:7:"package";s:8:"Variable";s:4:"core";s:3:"7.x";s:7:"version";s:7:"7.x-2.5";s:5:"files";a:2:{i:0;s:24:"variable_realm.class.inc";i:1;s:30:"variable_realm_union.class.inc";}s:7:"project";s:8:"variable";s:9:"datestamp";s:10:"1398250128";s:5:"mtime";i:1398250128;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:14:"Variable realm";s:11:"description";s:49:"API to use variable realms from different modules";s:12:"dependencies";a:1:{i:0;s:8:"variable";}s:7:"package";s:8:"Variable";s:4:"core";s:3:"7.x";s:7:"version";s:7:"7.x-2.x";s:5:"files";a:2:{i:0;s:24:"variable_realm.class.inc";i:1;s:30:"variable_realm_union.class.inc";}s:5:"mtime";i:1664867493;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/variable/variable_store/variable_store.module', @@ -58202,7 +63754,7 @@ 'bootstrap' => '1', 'schema_version' => '7000', 'weight' => '-1000', - 'info' => 'a:12:{s:4:"name";s:14:"Variable store";s:11:"description";s:60:"Database storage for variable realms. This is an API module.";s:12:"dependencies";a:1:{i:0;s:8:"variable";}s:7:"package";s:8:"Variable";s:4:"core";s:3:"7.x";s:7:"version";s:7:"7.x-2.5";s:5:"files";a:2:{i:0;s:24:"variable_store.class.inc";i:1;s:19:"variable_store.test";}s:7:"project";s:8:"variable";s:9:"datestamp";s:10:"1398250128";s:5:"mtime";i:1398250128;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:14:"Variable store";s:11:"description";s:60:"Database storage for variable realms. This is an API module.";s:12:"dependencies";a:1:{i:0;s:8:"variable";}s:7:"package";s:8:"Variable";s:4:"core";s:3:"7.x";s:7:"version";s:7:"7.x-2.x";s:5:"files";a:2:{i:0;s:24:"variable_store.class.inc";i:1;s:19:"variable_store.test";}s:5:"mtime";i:1664867493;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/variable/variable_views/variable_views.module', @@ -58213,7 +63765,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:14:"Variable views";s:11:"description";s:78:"Provides views integration for variable, included a default variable argument.";s:12:"dependencies";a:2:{i:0;s:8:"variable";i:1;s:5:"views";}s:7:"package";s:8:"Variable";s:4:"core";s:3:"7.x";s:5:"files";a:3:{i:0;s:51:"includes/views_plugin_argument_default_variable.inc";i:1;s:47:"includes/views_handler_field_variable_title.inc";i:2;s:47:"includes/views_handler_field_variable_value.inc";}s:7:"version";s:7:"7.x-2.5";s:7:"project";s:8:"variable";s:9:"datestamp";s:10:"1398250128";s:5:"mtime";i:1398250128;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:10:{s:4:"name";s:14:"Variable views";s:11:"description";s:78:"Provides views integration for variable, included a default variable argument.";s:12:"dependencies";a:2:{i:0;s:8:"variable";i:1;s:5:"views";}s:7:"package";s:8:"Variable";s:4:"core";s:3:"7.x";s:5:"files";a:3:{i:0;s:51:"includes/views_plugin_argument_default_variable.inc";i:1;s:47:"includes/views_handler_field_variable_title.inc";i:2;s:47:"includes/views_handler_field_variable_value.inc";}s:5:"mtime";i:1664867493;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/views/tests/views_test.module', @@ -58224,7 +63776,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:10:"Views Test";s:11:"description";s:22:"Test module for Views.";s:7:"package";s:5:"Views";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:5:"views";}s:6:"hidden";b:1;s:7:"version";s:8:"7.x-3.20";s:7:"project";s:5:"views";s:9:"datestamp";s:10:"1523668093";s:5:"mtime";i:1535762879;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:11:{s:4:"name";s:10:"Views Test";s:11:"description";s:22:"Test module for Views.";s:7:"package";s:5:"Views";s:4:"core";s:3:"7.x";s:12:"dependencies";a:1:{i:0;s:5:"views";}s:6:"hidden";b:1;s:5:"mtime";i:1664867501;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/views/views.module', @@ -58233,9 +63785,9 @@ 'owner' => '', 'status' => '0', 'bootstrap' => '0', - 'schema_version' => '7301', - 'weight' => '10', - 'info' => 'a:13:{s:4:"name";s:5:"Views";s:11:"description";s:55:"Create customized lists and queries from your database.";s:7:"package";s:5:"Views";s:4:"core";s:3:"7.x";s:3:"php";s:3:"5.2";s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:13:"css/views.css";s:37:"sites/all/modules/views/css/views.css";}}s:12:"dependencies";a:1:{i:0;s:6:"ctools";}s:5:"files";a:297:{i:0;s:31:"handlers/views_handler_area.inc";i:1;s:38:"handlers/views_handler_area_result.inc";i:2;s:36:"handlers/views_handler_area_text.inc";i:3;s:43:"handlers/views_handler_area_text_custom.inc";i:4;s:36:"handlers/views_handler_area_view.inc";i:5;s:35:"handlers/views_handler_argument.inc";i:6;s:40:"handlers/views_handler_argument_date.inc";i:7;s:43:"handlers/views_handler_argument_formula.inc";i:8;s:47:"handlers/views_handler_argument_many_to_one.inc";i:9;s:40:"handlers/views_handler_argument_null.inc";i:10;s:43:"handlers/views_handler_argument_numeric.inc";i:11;s:42:"handlers/views_handler_argument_string.inc";i:12;s:52:"handlers/views_handler_argument_group_by_numeric.inc";i:13;s:32:"handlers/views_handler_field.inc";i:14;s:40:"handlers/views_handler_field_counter.inc";i:15;s:40:"handlers/views_handler_field_boolean.inc";i:16;s:49:"handlers/views_handler_field_contextual_links.inc";i:17;s:39:"handlers/views_handler_field_custom.inc";i:18;s:37:"handlers/views_handler_field_date.inc";i:19;s:39:"handlers/views_handler_field_entity.inc";i:20;s:39:"handlers/views_handler_field_markup.inc";i:21;s:37:"handlers/views_handler_field_math.inc";i:22;s:40:"handlers/views_handler_field_numeric.inc";i:23;s:47:"handlers/views_handler_field_prerender_list.inc";i:24;s:46:"handlers/views_handler_field_time_interval.inc";i:25;s:43:"handlers/views_handler_field_serialized.inc";i:26;s:45:"handlers/views_handler_field_machine_name.inc";i:27;s:36:"handlers/views_handler_field_url.inc";i:28;s:33:"handlers/views_handler_filter.inc";i:29;s:50:"handlers/views_handler_filter_boolean_operator.inc";i:30;s:57:"handlers/views_handler_filter_boolean_operator_string.inc";i:31;s:41:"handlers/views_handler_filter_combine.inc";i:32;s:38:"handlers/views_handler_filter_date.inc";i:33;s:42:"handlers/views_handler_filter_equality.inc";i:34;s:47:"handlers/views_handler_filter_entity_bundle.inc";i:35;s:50:"handlers/views_handler_filter_group_by_numeric.inc";i:36;s:45:"handlers/views_handler_filter_in_operator.inc";i:37;s:45:"handlers/views_handler_filter_many_to_one.inc";i:38;s:41:"handlers/views_handler_filter_numeric.inc";i:39;s:40:"handlers/views_handler_filter_string.inc";i:40;s:39:"handlers/views_handler_relationship.inc";i:41;s:53:"handlers/views_handler_relationship_groupwise_max.inc";i:42;s:31:"handlers/views_handler_sort.inc";i:43;s:36:"handlers/views_handler_sort_date.inc";i:44;s:39:"handlers/views_handler_sort_formula.inc";i:45;s:48:"handlers/views_handler_sort_group_by_numeric.inc";i:46;s:46:"handlers/views_handler_sort_menu_hierarchy.inc";i:47;s:38:"handlers/views_handler_sort_random.inc";i:48;s:17:"includes/base.inc";i:49;s:21:"includes/handlers.inc";i:50;s:20:"includes/plugins.inc";i:51;s:17:"includes/view.inc";i:52;s:60:"modules/aggregator/views_handler_argument_aggregator_fid.inc";i:53;s:60:"modules/aggregator/views_handler_argument_aggregator_iid.inc";i:54;s:69:"modules/aggregator/views_handler_argument_aggregator_category_cid.inc";i:55;s:64:"modules/aggregator/views_handler_field_aggregator_title_link.inc";i:56;s:62:"modules/aggregator/views_handler_field_aggregator_category.inc";i:57;s:70:"modules/aggregator/views_handler_field_aggregator_item_description.inc";i:58;s:57:"modules/aggregator/views_handler_field_aggregator_xss.inc";i:59;s:67:"modules/aggregator/views_handler_filter_aggregator_category_cid.inc";i:60;s:54:"modules/aggregator/views_plugin_row_aggregator_rss.inc";i:61;s:56:"modules/book/views_plugin_argument_default_book_root.inc";i:62;s:59:"modules/comment/views_handler_argument_comment_user_uid.inc";i:63;s:47:"modules/comment/views_handler_field_comment.inc";i:64;s:53:"modules/comment/views_handler_field_comment_depth.inc";i:65;s:52:"modules/comment/views_handler_field_comment_link.inc";i:66;s:60:"modules/comment/views_handler_field_comment_link_approve.inc";i:67;s:59:"modules/comment/views_handler_field_comment_link_delete.inc";i:68;s:57:"modules/comment/views_handler_field_comment_link_edit.inc";i:69;s:58:"modules/comment/views_handler_field_comment_link_reply.inc";i:70;s:57:"modules/comment/views_handler_field_comment_node_link.inc";i:71;s:56:"modules/comment/views_handler_field_comment_username.inc";i:72;s:61:"modules/comment/views_handler_field_ncs_last_comment_name.inc";i:73;s:56:"modules/comment/views_handler_field_ncs_last_updated.inc";i:74;s:52:"modules/comment/views_handler_field_node_comment.inc";i:75;s:57:"modules/comment/views_handler_field_node_new_comments.inc";i:76;s:62:"modules/comment/views_handler_field_last_comment_timestamp.inc";i:77;s:57:"modules/comment/views_handler_filter_comment_user_uid.inc";i:78;s:57:"modules/comment/views_handler_filter_ncs_last_updated.inc";i:79;s:53:"modules/comment/views_handler_filter_node_comment.inc";i:80;s:53:"modules/comment/views_handler_sort_comment_thread.inc";i:81;s:60:"modules/comment/views_handler_sort_ncs_last_comment_name.inc";i:82;s:55:"modules/comment/views_handler_sort_ncs_last_updated.inc";i:83;s:48:"modules/comment/views_plugin_row_comment_rss.inc";i:84;s:49:"modules/comment/views_plugin_row_comment_view.inc";i:85;s:52:"modules/contact/views_handler_field_contact_link.inc";i:86;s:43:"modules/field/views_handler_field_field.inc";i:87;s:59:"modules/field/views_handler_relationship_entity_reverse.inc";i:88;s:51:"modules/field/views_handler_argument_field_list.inc";i:89;s:58:"modules/field/views_handler_argument_field_list_string.inc";i:90;s:49:"modules/field/views_handler_filter_field_list.inc";i:91;s:57:"modules/filter/views_handler_field_filter_format_name.inc";i:92;s:52:"modules/locale/views_handler_field_node_language.inc";i:93;s:53:"modules/locale/views_handler_filter_node_language.inc";i:94;s:54:"modules/locale/views_handler_argument_locale_group.inc";i:95;s:57:"modules/locale/views_handler_argument_locale_language.inc";i:96;s:51:"modules/locale/views_handler_field_locale_group.inc";i:97;s:54:"modules/locale/views_handler_field_locale_language.inc";i:98;s:55:"modules/locale/views_handler_field_locale_link_edit.inc";i:99;s:52:"modules/locale/views_handler_filter_locale_group.inc";i:100;s:55:"modules/locale/views_handler_filter_locale_language.inc";i:101;s:54:"modules/locale/views_handler_filter_locale_version.inc";i:102;s:53:"modules/node/views_handler_argument_dates_various.inc";i:103;s:53:"modules/node/views_handler_argument_node_language.inc";i:104;s:48:"modules/node/views_handler_argument_node_nid.inc";i:105;s:49:"modules/node/views_handler_argument_node_type.inc";i:106;s:48:"modules/node/views_handler_argument_node_vid.inc";i:107;s:57:"modules/node/views_handler_argument_node_uid_revision.inc";i:108;s:59:"modules/node/views_handler_field_history_user_timestamp.inc";i:109;s:41:"modules/node/views_handler_field_node.inc";i:110;s:46:"modules/node/views_handler_field_node_link.inc";i:111;s:53:"modules/node/views_handler_field_node_link_delete.inc";i:112;s:51:"modules/node/views_handler_field_node_link_edit.inc";i:113;s:50:"modules/node/views_handler_field_node_revision.inc";i:114;s:55:"modules/node/views_handler_field_node_revision_link.inc";i:115;s:62:"modules/node/views_handler_field_node_revision_link_delete.inc";i:116;s:62:"modules/node/views_handler_field_node_revision_link_revert.inc";i:117;s:46:"modules/node/views_handler_field_node_path.inc";i:118;s:46:"modules/node/views_handler_field_node_type.inc";i:119;s:60:"modules/node/views_handler_filter_history_user_timestamp.inc";i:120;s:49:"modules/node/views_handler_filter_node_access.inc";i:121;s:49:"modules/node/views_handler_filter_node_status.inc";i:122;s:47:"modules/node/views_handler_filter_node_type.inc";i:123;s:55:"modules/node/views_handler_filter_node_uid_revision.inc";i:124;s:51:"modules/node/views_plugin_argument_default_node.inc";i:125;s:52:"modules/node/views_plugin_argument_validate_node.inc";i:126;s:42:"modules/node/views_plugin_row_node_rss.inc";i:127;s:43:"modules/node/views_plugin_row_node_view.inc";i:128;s:52:"modules/profile/views_handler_field_profile_date.inc";i:129;s:52:"modules/profile/views_handler_field_profile_list.inc";i:130;s:58:"modules/profile/views_handler_filter_profile_selection.inc";i:131;s:48:"modules/search/views_handler_argument_search.inc";i:132;s:51:"modules/search/views_handler_field_search_score.inc";i:133;s:46:"modules/search/views_handler_filter_search.inc";i:134;s:50:"modules/search/views_handler_sort_search_score.inc";i:135;s:47:"modules/search/views_plugin_row_search_view.inc";i:136;s:57:"modules/statistics/views_handler_field_accesslog_path.inc";i:137;s:50:"modules/system/views_handler_argument_file_fid.inc";i:138;s:43:"modules/system/views_handler_field_file.inc";i:139;s:53:"modules/system/views_handler_field_file_extension.inc";i:140;s:52:"modules/system/views_handler_field_file_filemime.inc";i:141;s:47:"modules/system/views_handler_field_file_uri.inc";i:142;s:50:"modules/system/views_handler_field_file_status.inc";i:143;s:51:"modules/system/views_handler_filter_file_status.inc";i:144;s:52:"modules/taxonomy/views_handler_argument_taxonomy.inc";i:145;s:57:"modules/taxonomy/views_handler_argument_term_node_tid.inc";i:146;s:63:"modules/taxonomy/views_handler_argument_term_node_tid_depth.inc";i:147;s:72:"modules/taxonomy/views_handler_argument_term_node_tid_depth_modifier.inc";i:148;s:58:"modules/taxonomy/views_handler_argument_vocabulary_vid.inc";i:149;s:67:"modules/taxonomy/views_handler_argument_vocabulary_machine_name.inc";i:150;s:49:"modules/taxonomy/views_handler_field_taxonomy.inc";i:151;s:54:"modules/taxonomy/views_handler_field_term_node_tid.inc";i:152;s:55:"modules/taxonomy/views_handler_field_term_link_edit.inc";i:153;s:55:"modules/taxonomy/views_handler_filter_term_node_tid.inc";i:154;s:61:"modules/taxonomy/views_handler_filter_term_node_tid_depth.inc";i:155;s:56:"modules/taxonomy/views_handler_filter_vocabulary_vid.inc";i:156;s:65:"modules/taxonomy/views_handler_filter_vocabulary_machine_name.inc";i:157;s:62:"modules/taxonomy/views_handler_relationship_node_term_data.inc";i:158;s:65:"modules/taxonomy/views_plugin_argument_validate_taxonomy_term.inc";i:159;s:63:"modules/taxonomy/views_plugin_argument_default_taxonomy_tid.inc";i:160;s:67:"modules/tracker/views_handler_argument_tracker_comment_user_uid.inc";i:161;s:65:"modules/tracker/views_handler_filter_tracker_comment_user_uid.inc";i:162;s:65:"modules/tracker/views_handler_filter_tracker_boolean_operator.inc";i:163;s:51:"modules/system/views_handler_filter_system_type.inc";i:164;s:56:"modules/translation/views_handler_argument_node_tnid.inc";i:165;s:63:"modules/translation/views_handler_field_node_link_translate.inc";i:166;s:65:"modules/translation/views_handler_field_node_translation_link.inc";i:167;s:54:"modules/translation/views_handler_filter_node_tnid.inc";i:168;s:60:"modules/translation/views_handler_filter_node_tnid_child.inc";i:169;s:62:"modules/translation/views_handler_relationship_translation.inc";i:170;s:48:"modules/user/views_handler_argument_user_uid.inc";i:171;s:55:"modules/user/views_handler_argument_users_roles_rid.inc";i:172;s:41:"modules/user/views_handler_field_user.inc";i:173;s:50:"modules/user/views_handler_field_user_language.inc";i:174;s:46:"modules/user/views_handler_field_user_link.inc";i:175;s:53:"modules/user/views_handler_field_user_link_cancel.inc";i:176;s:51:"modules/user/views_handler_field_user_link_edit.inc";i:177;s:46:"modules/user/views_handler_field_user_mail.inc";i:178;s:46:"modules/user/views_handler_field_user_name.inc";i:179;s:53:"modules/user/views_handler_field_user_permissions.inc";i:180;s:49:"modules/user/views_handler_field_user_picture.inc";i:181;s:47:"modules/user/views_handler_field_user_roles.inc";i:182;s:50:"modules/user/views_handler_filter_user_current.inc";i:183;s:47:"modules/user/views_handler_filter_user_name.inc";i:184;s:54:"modules/user/views_handler_filter_user_permissions.inc";i:185;s:48:"modules/user/views_handler_filter_user_roles.inc";i:186;s:59:"modules/user/views_plugin_argument_default_current_user.inc";i:187;s:51:"modules/user/views_plugin_argument_default_user.inc";i:188;s:52:"modules/user/views_plugin_argument_validate_user.inc";i:189;s:43:"modules/user/views_plugin_row_user_view.inc";i:190;s:31:"plugins/views_plugin_access.inc";i:191;s:36:"plugins/views_plugin_access_none.inc";i:192;s:36:"plugins/views_plugin_access_perm.inc";i:193;s:36:"plugins/views_plugin_access_role.inc";i:194;s:41:"plugins/views_plugin_argument_default.inc";i:195;s:45:"plugins/views_plugin_argument_default_php.inc";i:196;s:47:"plugins/views_plugin_argument_default_fixed.inc";i:197;s:45:"plugins/views_plugin_argument_default_raw.inc";i:198;s:42:"plugins/views_plugin_argument_validate.inc";i:199;s:50:"plugins/views_plugin_argument_validate_numeric.inc";i:200;s:46:"plugins/views_plugin_argument_validate_php.inc";i:201;s:30:"plugins/views_plugin_cache.inc";i:202;s:35:"plugins/views_plugin_cache_none.inc";i:203;s:35:"plugins/views_plugin_cache_time.inc";i:204;s:32:"plugins/views_plugin_display.inc";i:205;s:43:"plugins/views_plugin_display_attachment.inc";i:206;s:38:"plugins/views_plugin_display_block.inc";i:207;s:40:"plugins/views_plugin_display_default.inc";i:208;s:38:"plugins/views_plugin_display_embed.inc";i:209;s:41:"plugins/views_plugin_display_extender.inc";i:210;s:37:"plugins/views_plugin_display_feed.inc";i:211;s:37:"plugins/views_plugin_display_page.inc";i:212;s:43:"plugins/views_plugin_exposed_form_basic.inc";i:213;s:37:"plugins/views_plugin_exposed_form.inc";i:214;s:52:"plugins/views_plugin_exposed_form_input_required.inc";i:215;s:42:"plugins/views_plugin_localization_core.inc";i:216;s:37:"plugins/views_plugin_localization.inc";i:217;s:42:"plugins/views_plugin_localization_none.inc";i:218;s:30:"plugins/views_plugin_pager.inc";i:219;s:35:"plugins/views_plugin_pager_full.inc";i:220;s:35:"plugins/views_plugin_pager_mini.inc";i:221;s:35:"plugins/views_plugin_pager_none.inc";i:222;s:35:"plugins/views_plugin_pager_some.inc";i:223;s:30:"plugins/views_plugin_query.inc";i:224;s:38:"plugins/views_plugin_query_default.inc";i:225;s:28:"plugins/views_plugin_row.inc";i:226;s:35:"plugins/views_plugin_row_fields.inc";i:227;s:39:"plugins/views_plugin_row_rss_fields.inc";i:228;s:30:"plugins/views_plugin_style.inc";i:229;s:38:"plugins/views_plugin_style_default.inc";i:230;s:35:"plugins/views_plugin_style_grid.inc";i:231;s:35:"plugins/views_plugin_style_list.inc";i:232;s:40:"plugins/views_plugin_style_jump_menu.inc";i:233;s:38:"plugins/views_plugin_style_mapping.inc";i:234;s:34:"plugins/views_plugin_style_rss.inc";i:235;s:38:"plugins/views_plugin_style_summary.inc";i:236;s:48:"plugins/views_plugin_style_summary_jump_menu.inc";i:237;s:50:"plugins/views_plugin_style_summary_unformatted.inc";i:238;s:36:"plugins/views_plugin_style_table.inc";i:239;s:43:"tests/handlers/views_handler_area_text.test";i:240;s:47:"tests/handlers/views_handler_argument_null.test";i:241;s:49:"tests/handlers/views_handler_argument_string.test";i:242;s:39:"tests/handlers/views_handler_field.test";i:243;s:47:"tests/handlers/views_handler_field_boolean.test";i:244;s:46:"tests/handlers/views_handler_field_custom.test";i:245;s:47:"tests/handlers/views_handler_field_counter.test";i:246;s:44:"tests/handlers/views_handler_field_date.test";i:247;s:49:"tests/handlers/views_handler_field_file_size.test";i:248;s:44:"tests/handlers/views_handler_field_math.test";i:249;s:43:"tests/handlers/views_handler_field_url.test";i:250;s:43:"tests/handlers/views_handler_field_xss.test";i:251;s:48:"tests/handlers/views_handler_filter_combine.test";i:252;s:45:"tests/handlers/views_handler_filter_date.test";i:253;s:49:"tests/handlers/views_handler_filter_equality.test";i:254;s:52:"tests/handlers/views_handler_filter_in_operator.test";i:255;s:48:"tests/handlers/views_handler_filter_numeric.test";i:256;s:47:"tests/handlers/views_handler_filter_string.test";i:257;s:45:"tests/handlers/views_handler_sort_random.test";i:258;s:43:"tests/handlers/views_handler_sort_date.test";i:259;s:38:"tests/handlers/views_handler_sort.test";i:260;s:60:"tests/test_plugins/views_test_plugin_access_test_dynamic.inc";i:261;s:59:"tests/test_plugins/views_test_plugin_access_test_static.inc";i:262;s:59:"tests/test_plugins/views_test_plugin_style_test_mapping.inc";i:263;s:39:"tests/plugins/views_plugin_display.test";i:264;s:46:"tests/styles/views_plugin_style_jump_menu.test";i:265;s:36:"tests/styles/views_plugin_style.test";i:266;s:41:"tests/styles/views_plugin_style_base.test";i:267;s:44:"tests/styles/views_plugin_style_mapping.test";i:268;s:48:"tests/styles/views_plugin_style_unformatted.test";i:269;s:23:"tests/views_access.test";i:270;s:24:"tests/views_analyze.test";i:271;s:22:"tests/views_basic.test";i:272;s:33:"tests/views_argument_default.test";i:273;s:35:"tests/views_argument_validator.test";i:274;s:29:"tests/views_exposed_form.test";i:275;s:31:"tests/field/views_fieldapi.test";i:276;s:25:"tests/views_glossary.test";i:277;s:24:"tests/views_groupby.test";i:278;s:25:"tests/views_handlers.test";i:279;s:23:"tests/views_module.test";i:280;s:22:"tests/views_pager.test";i:281;s:40:"tests/views_plugin_localization_test.inc";i:282;s:29:"tests/views_translatable.test";i:283;s:22:"tests/views_query.test";i:284;s:24:"tests/views_upgrade.test";i:285;s:34:"tests/views_test.views_default.inc";i:286;s:58:"tests/comment/views_handler_argument_comment_user_uid.test";i:287;s:56:"tests/comment/views_handler_filter_comment_user_uid.test";i:288;s:45:"tests/node/views_node_revision_relations.test";i:289;s:61:"tests/taxonomy/views_handler_relationship_node_term_data.test";i:290;s:45:"tests/user/views_handler_field_user_name.test";i:291;s:43:"tests/user/views_user_argument_default.test";i:292;s:44:"tests/user/views_user_argument_validate.test";i:293;s:26:"tests/user/views_user.test";i:294;s:22:"tests/views_cache.test";i:295;s:21:"tests/views_view.test";i:296;s:19:"tests/views_ui.test";}s:7:"version";s:7:"7.x-3.7";s:7:"project";s:5:"views";s:9:"datestamp";s:10:"1365499236";s:5:"mtime";i:1365499236;s:9:"bootstrap";i:0;}', + 'schema_version' => '-1', + 'weight' => '0', + 'info' => 'a:11:{s:4:"name";s:5:"Views";s:11:"description";s:55:"Create customized lists and queries from your database.";s:7:"package";s:5:"Views";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:1:{s:3:"all";a:1:{s:13:"css/views.css";s:37:"sites/all/modules/views/css/views.css";}}s:12:"dependencies";a:1:{i:0;s:6:"ctools";}s:5:"files";a:316:{i:0;s:31:"handlers/views_handler_area.inc";i:1;s:40:"handlers/views_handler_area_messages.inc";i:2;s:38:"handlers/views_handler_area_result.inc";i:3;s:36:"handlers/views_handler_area_text.inc";i:4;s:43:"handlers/views_handler_area_text_custom.inc";i:5;s:36:"handlers/views_handler_area_view.inc";i:6;s:35:"handlers/views_handler_argument.inc";i:7;s:40:"handlers/views_handler_argument_date.inc";i:8;s:43:"handlers/views_handler_argument_formula.inc";i:9;s:47:"handlers/views_handler_argument_many_to_one.inc";i:10;s:40:"handlers/views_handler_argument_null.inc";i:11;s:43:"handlers/views_handler_argument_numeric.inc";i:12;s:42:"handlers/views_handler_argument_string.inc";i:13;s:52:"handlers/views_handler_argument_group_by_numeric.inc";i:14;s:32:"handlers/views_handler_field.inc";i:15;s:40:"handlers/views_handler_field_counter.inc";i:16;s:40:"handlers/views_handler_field_boolean.inc";i:17;s:49:"handlers/views_handler_field_contextual_links.inc";i:18;s:48:"handlers/views_handler_field_ctools_dropdown.inc";i:19;s:39:"handlers/views_handler_field_custom.inc";i:20;s:37:"handlers/views_handler_field_date.inc";i:21;s:39:"handlers/views_handler_field_entity.inc";i:22;s:38:"handlers/views_handler_field_links.inc";i:23;s:39:"handlers/views_handler_field_markup.inc";i:24;s:37:"handlers/views_handler_field_math.inc";i:25;s:40:"handlers/views_handler_field_numeric.inc";i:26;s:47:"handlers/views_handler_field_prerender_list.inc";i:27;s:46:"handlers/views_handler_field_time_interval.inc";i:28;s:43:"handlers/views_handler_field_serialized.inc";i:29;s:45:"handlers/views_handler_field_machine_name.inc";i:30;s:36:"handlers/views_handler_field_url.inc";i:31;s:33:"handlers/views_handler_filter.inc";i:32;s:50:"handlers/views_handler_filter_boolean_operator.inc";i:33;s:57:"handlers/views_handler_filter_boolean_operator_string.inc";i:34;s:41:"handlers/views_handler_filter_combine.inc";i:35;s:38:"handlers/views_handler_filter_date.inc";i:36;s:42:"handlers/views_handler_filter_equality.inc";i:37;s:47:"handlers/views_handler_filter_entity_bundle.inc";i:38;s:50:"handlers/views_handler_filter_group_by_numeric.inc";i:39;s:45:"handlers/views_handler_filter_in_operator.inc";i:40;s:45:"handlers/views_handler_filter_many_to_one.inc";i:41;s:41:"handlers/views_handler_filter_numeric.inc";i:42;s:40:"handlers/views_handler_filter_string.inc";i:43;s:48:"handlers/views_handler_filter_fields_compare.inc";i:44;s:39:"handlers/views_handler_relationship.inc";i:45;s:53:"handlers/views_handler_relationship_groupwise_max.inc";i:46;s:31:"handlers/views_handler_sort.inc";i:47;s:36:"handlers/views_handler_sort_date.inc";i:48;s:39:"handlers/views_handler_sort_formula.inc";i:49;s:48:"handlers/views_handler_sort_group_by_numeric.inc";i:50;s:46:"handlers/views_handler_sort_menu_hierarchy.inc";i:51;s:38:"handlers/views_handler_sort_random.inc";i:52;s:17:"includes/base.inc";i:53;s:21:"includes/handlers.inc";i:54;s:20:"includes/plugins.inc";i:55;s:17:"includes/view.inc";i:56;s:60:"modules/aggregator/views_handler_argument_aggregator_fid.inc";i:57;s:60:"modules/aggregator/views_handler_argument_aggregator_iid.inc";i:58;s:69:"modules/aggregator/views_handler_argument_aggregator_category_cid.inc";i:59;s:64:"modules/aggregator/views_handler_field_aggregator_title_link.inc";i:60;s:62:"modules/aggregator/views_handler_field_aggregator_category.inc";i:61;s:70:"modules/aggregator/views_handler_field_aggregator_item_description.inc";i:62;s:57:"modules/aggregator/views_handler_field_aggregator_xss.inc";i:63;s:67:"modules/aggregator/views_handler_filter_aggregator_category_cid.inc";i:64;s:54:"modules/aggregator/views_plugin_row_aggregator_rss.inc";i:65;s:56:"modules/book/views_plugin_argument_default_book_root.inc";i:66;s:59:"modules/comment/views_handler_argument_comment_user_uid.inc";i:67;s:47:"modules/comment/views_handler_field_comment.inc";i:68;s:53:"modules/comment/views_handler_field_comment_depth.inc";i:69;s:52:"modules/comment/views_handler_field_comment_link.inc";i:70;s:60:"modules/comment/views_handler_field_comment_link_approve.inc";i:71;s:59:"modules/comment/views_handler_field_comment_link_delete.inc";i:72;s:57:"modules/comment/views_handler_field_comment_link_edit.inc";i:73;s:58:"modules/comment/views_handler_field_comment_link_reply.inc";i:74;s:57:"modules/comment/views_handler_field_comment_node_link.inc";i:75;s:56:"modules/comment/views_handler_field_comment_username.inc";i:76;s:61:"modules/comment/views_handler_field_ncs_last_comment_name.inc";i:77;s:56:"modules/comment/views_handler_field_ncs_last_updated.inc";i:78;s:52:"modules/comment/views_handler_field_node_comment.inc";i:79;s:57:"modules/comment/views_handler_field_node_new_comments.inc";i:80;s:62:"modules/comment/views_handler_field_last_comment_timestamp.inc";i:81;s:57:"modules/comment/views_handler_filter_comment_user_uid.inc";i:82;s:57:"modules/comment/views_handler_filter_ncs_last_updated.inc";i:83;s:53:"modules/comment/views_handler_filter_node_comment.inc";i:84;s:53:"modules/comment/views_handler_sort_comment_thread.inc";i:85;s:60:"modules/comment/views_handler_sort_ncs_last_comment_name.inc";i:86;s:55:"modules/comment/views_handler_sort_ncs_last_updated.inc";i:87;s:48:"modules/comment/views_plugin_row_comment_rss.inc";i:88;s:49:"modules/comment/views_plugin_row_comment_view.inc";i:89;s:52:"modules/contact/views_handler_field_contact_link.inc";i:90;s:43:"modules/field/views_handler_field_field.inc";i:91;s:59:"modules/field/views_handler_relationship_entity_reverse.inc";i:92;s:51:"modules/field/views_handler_argument_field_list.inc";i:93;s:57:"modules/field/views_handler_filter_field_list_boolean.inc";i:94;s:58:"modules/field/views_handler_argument_field_list_string.inc";i:95;s:49:"modules/field/views_handler_filter_field_list.inc";i:96;s:57:"modules/filter/views_handler_field_filter_format_name.inc";i:97;s:52:"modules/locale/views_handler_field_node_language.inc";i:98;s:53:"modules/locale/views_handler_filter_node_language.inc";i:99;s:54:"modules/locale/views_handler_argument_locale_group.inc";i:100;s:57:"modules/locale/views_handler_argument_locale_language.inc";i:101;s:51:"modules/locale/views_handler_field_locale_group.inc";i:102;s:54:"modules/locale/views_handler_field_locale_language.inc";i:103;s:55:"modules/locale/views_handler_field_locale_link_edit.inc";i:104;s:52:"modules/locale/views_handler_filter_locale_group.inc";i:105;s:55:"modules/locale/views_handler_filter_locale_language.inc";i:106;s:54:"modules/locale/views_handler_filter_locale_version.inc";i:107;s:51:"modules/locale/views_handler_sort_node_language.inc";i:108;s:53:"modules/node/views_handler_argument_dates_various.inc";i:109;s:53:"modules/node/views_handler_argument_node_language.inc";i:110;s:48:"modules/node/views_handler_argument_node_nid.inc";i:111;s:49:"modules/node/views_handler_argument_node_type.inc";i:112;s:48:"modules/node/views_handler_argument_node_vid.inc";i:113;s:57:"modules/node/views_handler_argument_node_uid_revision.inc";i:114;s:59:"modules/node/views_handler_field_history_user_timestamp.inc";i:115;s:41:"modules/node/views_handler_field_node.inc";i:116;s:46:"modules/node/views_handler_field_node_link.inc";i:117;s:53:"modules/node/views_handler_field_node_link_delete.inc";i:118;s:51:"modules/node/views_handler_field_node_link_edit.inc";i:119;s:50:"modules/node/views_handler_field_node_revision.inc";i:120;s:55:"modules/node/views_handler_field_node_revision_link.inc";i:121;s:62:"modules/node/views_handler_field_node_revision_link_delete.inc";i:122;s:62:"modules/node/views_handler_field_node_revision_link_revert.inc";i:123;s:46:"modules/node/views_handler_field_node_path.inc";i:124;s:46:"modules/node/views_handler_field_node_type.inc";i:125;s:55:"modules/node/views_handler_field_node_version_count.inc";i:126;s:60:"modules/node/views_handler_filter_history_user_timestamp.inc";i:127;s:49:"modules/node/views_handler_filter_node_access.inc";i:128;s:49:"modules/node/views_handler_filter_node_status.inc";i:129;s:47:"modules/node/views_handler_filter_node_type.inc";i:130;s:55:"modules/node/views_handler_filter_node_uid_revision.inc";i:131;s:56:"modules/node/views_handler_filter_node_version_count.inc";i:132;s:54:"modules/node/views_handler_sort_node_version_count.inc";i:133;s:51:"modules/node/views_plugin_argument_default_node.inc";i:134;s:52:"modules/node/views_plugin_argument_validate_node.inc";i:135;s:42:"modules/node/views_plugin_row_node_rss.inc";i:136;s:43:"modules/node/views_plugin_row_node_view.inc";i:137;s:52:"modules/profile/views_handler_field_profile_date.inc";i:138;s:52:"modules/profile/views_handler_field_profile_list.inc";i:139;s:58:"modules/profile/views_handler_filter_profile_selection.inc";i:140;s:48:"modules/search/views_handler_argument_search.inc";i:141;s:51:"modules/search/views_handler_field_search_score.inc";i:142;s:46:"modules/search/views_handler_filter_search.inc";i:143;s:50:"modules/search/views_handler_sort_search_score.inc";i:144;s:47:"modules/search/views_plugin_row_search_view.inc";i:145;s:57:"modules/statistics/views_handler_field_accesslog_path.inc";i:146;s:65:"modules/statistics/views_handler_field_node_counter_timestamp.inc";i:147;s:61:"modules/statistics/views_handler_field_statistics_numeric.inc";i:148;s:50:"modules/system/views_handler_argument_file_fid.inc";i:149;s:43:"modules/system/views_handler_field_file.inc";i:150;s:53:"modules/system/views_handler_field_file_extension.inc";i:151;s:52:"modules/system/views_handler_field_file_filemime.inc";i:152;s:47:"modules/system/views_handler_field_file_uri.inc";i:153;s:50:"modules/system/views_handler_field_file_status.inc";i:154;s:51:"modules/system/views_handler_filter_file_status.inc";i:155;s:52:"modules/taxonomy/views_handler_argument_taxonomy.inc";i:156;s:57:"modules/taxonomy/views_handler_argument_term_node_tid.inc";i:157;s:63:"modules/taxonomy/views_handler_argument_term_node_tid_depth.inc";i:158;s:68:"modules/taxonomy/views_handler_argument_term_node_tid_depth_join.inc";i:159;s:72:"modules/taxonomy/views_handler_argument_term_node_tid_depth_modifier.inc";i:160;s:58:"modules/taxonomy/views_handler_argument_vocabulary_vid.inc";i:161;s:67:"modules/taxonomy/views_handler_argument_vocabulary_machine_name.inc";i:162;s:49:"modules/taxonomy/views_handler_field_taxonomy.inc";i:163;s:54:"modules/taxonomy/views_handler_field_term_node_tid.inc";i:164;s:55:"modules/taxonomy/views_handler_field_term_link_edit.inc";i:165;s:55:"modules/taxonomy/views_handler_filter_term_node_tid.inc";i:166;s:61:"modules/taxonomy/views_handler_filter_term_node_tid_depth.inc";i:167;s:66:"modules/taxonomy/views_handler_filter_term_node_tid_depth_join.inc";i:168;s:56:"modules/taxonomy/views_handler_filter_vocabulary_vid.inc";i:169;s:65:"modules/taxonomy/views_handler_filter_vocabulary_machine_name.inc";i:170;s:62:"modules/taxonomy/views_handler_relationship_node_term_data.inc";i:171;s:65:"modules/taxonomy/views_plugin_argument_validate_taxonomy_term.inc";i:172;s:63:"modules/taxonomy/views_plugin_argument_default_taxonomy_tid.inc";i:173;s:67:"modules/tracker/views_handler_argument_tracker_comment_user_uid.inc";i:174;s:65:"modules/tracker/views_handler_filter_tracker_comment_user_uid.inc";i:175;s:65:"modules/tracker/views_handler_filter_tracker_boolean_operator.inc";i:176;s:51:"modules/system/views_handler_filter_system_type.inc";i:177;s:56:"modules/translation/views_handler_argument_node_tnid.inc";i:178;s:63:"modules/translation/views_handler_field_node_link_translate.inc";i:179;s:65:"modules/translation/views_handler_field_node_translation_link.inc";i:180;s:54:"modules/translation/views_handler_filter_node_tnid.inc";i:181;s:60:"modules/translation/views_handler_filter_node_tnid_child.inc";i:182;s:62:"modules/translation/views_handler_relationship_translation.inc";i:183;s:48:"modules/user/views_handler_argument_user_uid.inc";i:184;s:55:"modules/user/views_handler_argument_users_roles_rid.inc";i:185;s:41:"modules/user/views_handler_field_user.inc";i:186;s:50:"modules/user/views_handler_field_user_language.inc";i:187;s:46:"modules/user/views_handler_field_user_link.inc";i:188;s:53:"modules/user/views_handler_field_user_link_cancel.inc";i:189;s:51:"modules/user/views_handler_field_user_link_edit.inc";i:190;s:46:"modules/user/views_handler_field_user_mail.inc";i:191;s:46:"modules/user/views_handler_field_user_name.inc";i:192;s:53:"modules/user/views_handler_field_user_permissions.inc";i:193;s:49:"modules/user/views_handler_field_user_picture.inc";i:194;s:47:"modules/user/views_handler_field_user_roles.inc";i:195;s:50:"modules/user/views_handler_filter_user_current.inc";i:196;s:47:"modules/user/views_handler_filter_user_name.inc";i:197;s:54:"modules/user/views_handler_filter_user_permissions.inc";i:198;s:48:"modules/user/views_handler_filter_user_roles.inc";i:199;s:59:"modules/user/views_plugin_argument_default_current_user.inc";i:200;s:51:"modules/user/views_plugin_argument_default_user.inc";i:201;s:52:"modules/user/views_plugin_argument_validate_user.inc";i:202;s:43:"modules/user/views_plugin_row_user_view.inc";i:203;s:31:"plugins/views_plugin_access.inc";i:204;s:36:"plugins/views_plugin_access_none.inc";i:205;s:36:"plugins/views_plugin_access_perm.inc";i:206;s:36:"plugins/views_plugin_access_role.inc";i:207;s:41:"plugins/views_plugin_argument_default.inc";i:208;s:45:"plugins/views_plugin_argument_default_php.inc";i:209;s:47:"plugins/views_plugin_argument_default_fixed.inc";i:210;s:45:"plugins/views_plugin_argument_default_raw.inc";i:211;s:42:"plugins/views_plugin_argument_validate.inc";i:212;s:50:"plugins/views_plugin_argument_validate_numeric.inc";i:213;s:46:"plugins/views_plugin_argument_validate_php.inc";i:214;s:30:"plugins/views_plugin_cache.inc";i:215;s:35:"plugins/views_plugin_cache_none.inc";i:216;s:35:"plugins/views_plugin_cache_time.inc";i:217;s:32:"plugins/views_plugin_display.inc";i:218;s:43:"plugins/views_plugin_display_attachment.inc";i:219;s:38:"plugins/views_plugin_display_block.inc";i:220;s:40:"plugins/views_plugin_display_default.inc";i:221;s:38:"plugins/views_plugin_display_embed.inc";i:222;s:41:"plugins/views_plugin_display_extender.inc";i:223;s:37:"plugins/views_plugin_display_feed.inc";i:224;s:37:"plugins/views_plugin_display_page.inc";i:225;s:43:"plugins/views_plugin_exposed_form_basic.inc";i:226;s:37:"plugins/views_plugin_exposed_form.inc";i:227;s:52:"plugins/views_plugin_exposed_form_input_required.inc";i:228;s:42:"plugins/views_plugin_localization_core.inc";i:229;s:37:"plugins/views_plugin_localization.inc";i:230;s:42:"plugins/views_plugin_localization_none.inc";i:231;s:30:"plugins/views_plugin_pager.inc";i:232;s:35:"plugins/views_plugin_pager_full.inc";i:233;s:35:"plugins/views_plugin_pager_mini.inc";i:234;s:35:"plugins/views_plugin_pager_none.inc";i:235;s:35:"plugins/views_plugin_pager_some.inc";i:236;s:30:"plugins/views_plugin_query.inc";i:237;s:38:"plugins/views_plugin_query_default.inc";i:238;s:28:"plugins/views_plugin_row.inc";i:239;s:35:"plugins/views_plugin_row_fields.inc";i:240;s:39:"plugins/views_plugin_row_rss_fields.inc";i:241;s:30:"plugins/views_plugin_style.inc";i:242;s:38:"plugins/views_plugin_style_default.inc";i:243;s:35:"plugins/views_plugin_style_grid.inc";i:244;s:35:"plugins/views_plugin_style_list.inc";i:245;s:40:"plugins/views_plugin_style_jump_menu.inc";i:246;s:38:"plugins/views_plugin_style_mapping.inc";i:247;s:34:"plugins/views_plugin_style_rss.inc";i:248;s:38:"plugins/views_plugin_style_summary.inc";i:249;s:48:"plugins/views_plugin_style_summary_jump_menu.inc";i:250;s:50:"plugins/views_plugin_style_summary_unformatted.inc";i:251;s:36:"plugins/views_plugin_style_table.inc";i:252;s:34:"tests/handlers/views_handlers.test";i:253;s:43:"tests/handlers/views_handler_area_text.test";i:254;s:47:"tests/handlers/views_handler_argument_null.test";i:255;s:39:"tests/handlers/views_handler_field.test";i:256;s:47:"tests/handlers/views_handler_field_boolean.test";i:257;s:46:"tests/handlers/views_handler_field_custom.test";i:258;s:47:"tests/handlers/views_handler_field_counter.test";i:259;s:44:"tests/handlers/views_handler_field_date.test";i:260;s:54:"tests/handlers/views_handler_field_file_extension.test";i:261;s:49:"tests/handlers/views_handler_field_file_size.test";i:262;s:44:"tests/handlers/views_handler_field_math.test";i:263;s:43:"tests/handlers/views_handler_field_url.test";i:264;s:43:"tests/handlers/views_handler_field_xss.test";i:265;s:48:"tests/handlers/views_handler_filter_combine.test";i:266;s:45:"tests/handlers/views_handler_filter_date.test";i:267;s:49:"tests/handlers/views_handler_filter_equality.test";i:268;s:52:"tests/handlers/views_handler_filter_in_operator.test";i:269;s:48:"tests/handlers/views_handler_filter_numeric.test";i:270;s:47:"tests/handlers/views_handler_filter_string.test";i:271;s:43:"tests/handlers/views_handler_manytoone.test";i:272;s:45:"tests/handlers/views_handler_sort_random.test";i:273;s:43:"tests/handlers/views_handler_sort_date.test";i:274;s:38:"tests/handlers/views_handler_sort.test";i:275;s:46:"tests/test_handlers/views_test_area_access.inc";i:276;s:60:"tests/test_plugins/views_test_plugin_access_test_dynamic.inc";i:277;s:59:"tests/test_plugins/views_test_plugin_access_test_static.inc";i:278;s:59:"tests/test_plugins/views_test_plugin_style_test_mapping.inc";i:279;s:39:"tests/plugins/views_plugin_display.test";i:280;s:46:"tests/styles/views_plugin_style_jump_menu.test";i:281;s:36:"tests/styles/views_plugin_style.test";i:282;s:41:"tests/styles/views_plugin_style_base.test";i:283;s:44:"tests/styles/views_plugin_style_mapping.test";i:284;s:48:"tests/styles/views_plugin_style_unformatted.test";i:285;s:23:"tests/views_access.test";i:286;s:24:"tests/views_analyze.test";i:287;s:22:"tests/views_basic.test";i:288;s:21:"tests/views_ajax.test";i:289;s:33:"tests/views_argument_default.test";i:290;s:35:"tests/views_argument_validator.test";i:291;s:29:"tests/views_exposed_form.test";i:292;s:31:"tests/field/views_fieldapi.test";i:293;s:25:"tests/views_glossary.test";i:294;s:24:"tests/views_groupby.test";i:295;s:31:"tests/views_handler_filter.test";i:296;s:25:"tests/views_handlers.test";i:297;s:23:"tests/views_module.test";i:298;s:22:"tests/views_pager.test";i:299;s:40:"tests/views_plugin_localization_test.inc";i:300;s:29:"tests/views_translatable.test";i:301;s:22:"tests/views_query.test";i:302;s:24:"tests/views_upgrade.test";i:303;s:34:"tests/views_test.views_default.inc";i:304;s:58:"tests/comment/views_handler_argument_comment_user_uid.test";i:305;s:56:"tests/comment/views_handler_filter_comment_user_uid.test";i:306;s:45:"tests/node/views_node_revision_relations.test";i:307;s:61:"tests/taxonomy/views_handler_relationship_node_term_data.test";i:308;s:45:"tests/user/views_handler_field_user_name.test";i:309;s:43:"tests/user/views_user_argument_default.test";i:310;s:44:"tests/user/views_user_argument_validate.test";i:311;s:26:"tests/user/views_user.test";i:312;s:22:"tests/views_cache.test";i:313;s:22:"tests/views_clone.test";i:314;s:21:"tests/views_view.test";i:315;s:19:"tests/views_ui.test";}s:5:"mtime";i:1664867501;s:7:"version";N;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/views/views_ui.module', @@ -58244,9 +63796,9 @@ 'owner' => '', 'status' => '0', 'bootstrap' => '0', - 'schema_version' => '0', + 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:8:"Views UI";s:11:"description";s:93:"Administrative interface to views. Without this module, you cannot create or edit your views.";s:7:"package";s:5:"Views";s:4:"core";s:3:"7.x";s:9:"configure";s:21:"admin/structure/views";s:12:"dependencies";a:1:{i:0;s:5:"views";}s:5:"files";a:2:{i:0;s:15:"views_ui.module";i:1;s:57:"plugins/views_wizard/views_ui_base_views_wizard.class.php";}s:7:"version";s:7:"7.x-3.7";s:7:"project";s:5:"views";s:9:"datestamp";s:10:"1365499236";s:5:"mtime";i:1365499236;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => "a:12:{s:4:\"name\";s:8:\"Views UI\";s:11:\"description\";s:93:\"Administrative interface to views. Without this module, you cannot create or edit your views.\";s:7:\"package\";s:5:\"Views\";s:4:\"core\";s:3:\"7.x\";s:9:\"configure\";s:21:\"admin/structure/views\";s:12:\"dependencies\";a:1:{i:0;s:5:\"views\";}s:34:\"# @codingStandardsIgnoreLine\nfiles\";a:1:{i:0;s:15:\"views_ui.module\";}s:5:\"files\";a:1:{i:0;s:57:\"plugins/views_wizard/views_ui_base_views_wizard.class.php\";}s:5:\"mtime\";i:1664867501;s:7:\"version\";N;s:3:\"php\";s:5:\"5.2.4\";s:9:\"bootstrap\";i:0;}", )) ->values(array( 'filename' => 'themes/bartik/bartik.info', @@ -58257,7 +63809,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:18:{s:4:"name";s:6:"Bartik";s:11:"description";s:48:"A flexible, recolorable theme with many regions.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:2:{s:3:"all";a:3:{s:14:"css/layout.css";s:28:"themes/bartik/css/layout.css";s:13:"css/style.css";s:27:"themes/bartik/css/style.css";s:14:"css/colors.css";s:28:"themes/bartik/css/colors.css";}s:5:"print";a:1:{s:13:"css/print.css";s:27:"themes/bartik/css/print.css";}}s:7:"regions";a:17:{s:6:"header";s:6:"Header";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";s:11:"highlighted";s:11:"Highlighted";s:8:"featured";s:8:"Featured";s:7:"content";s:7:"Content";s:13:"sidebar_first";s:13:"Sidebar first";s:14:"sidebar_second";s:14:"Sidebar second";s:14:"triptych_first";s:14:"Triptych first";s:15:"triptych_middle";s:15:"Triptych middle";s:13:"triptych_last";s:13:"Triptych last";s:18:"footer_firstcolumn";s:19:"Footer first column";s:19:"footer_secondcolumn";s:20:"Footer second column";s:18:"footer_thirdcolumn";s:19:"Footer third column";s:19:"footer_fourthcolumn";s:20:"Footer fourth column";s:6:"footer";s:6:"Footer";}s:8:"settings";a:1:{s:20:"shortcut_module_link";s:1:"0";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:6:"engine";s:11:"phptemplate";s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:28:"themes/bartik/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1444866674;s:14:"regions_hidden";a:2:{i:0;s:8:"page_top";i:1;s:11:"page_bottom";}s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}', + 'info' => 'a:16:{s:4:"name";s:6:"Bartik";s:11:"description";s:48:"A flexible, recolorable theme with many regions.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:2:{s:3:"all";a:3:{s:14:"css/layout.css";s:28:"themes/bartik/css/layout.css";s:13:"css/style.css";s:27:"themes/bartik/css/style.css";s:14:"css/colors.css";s:28:"themes/bartik/css/colors.css";}s:5:"print";a:1:{s:13:"css/print.css";s:27:"themes/bartik/css/print.css";}}s:7:"regions";a:17:{s:6:"header";s:6:"Header";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";s:11:"highlighted";s:11:"Highlighted";s:8:"featured";s:8:"Featured";s:7:"content";s:7:"Content";s:13:"sidebar_first";s:13:"Sidebar first";s:14:"sidebar_second";s:14:"Sidebar second";s:14:"triptych_first";s:14:"Triptych first";s:15:"triptych_middle";s:15:"Triptych middle";s:13:"triptych_last";s:13:"Triptych last";s:18:"footer_firstcolumn";s:19:"Footer first column";s:19:"footer_secondcolumn";s:20:"Footer second column";s:18:"footer_thirdcolumn";s:19:"Footer third column";s:19:"footer_fourthcolumn";s:20:"Footer fourth column";s:6:"footer";s:6:"Footer";}s:8:"settings";a:1:{s:20:"shortcut_module_link";s:1:"0";}s:6:"engine";s:11:"phptemplate";s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:28:"themes/bartik/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1664863480;s:14:"regions_hidden";a:2:{i:0;s:8:"page_top";i:1;s:11:"page_bottom";}s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}', )) ->values(array( 'filename' => 'themes/garland/garland.info', @@ -58268,7 +63820,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:18:{s:4:"name";s:7:"Garland";s:11:"description";s:111:"A multi-column theme which can be configured to modify colors and switch between fixed and fluid width layouts.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:2:{s:3:"all";a:1:{s:9:"style.css";s:24:"themes/garland/style.css";}s:5:"print";a:1:{s:9:"print.css";s:24:"themes/garland/print.css";}}s:8:"settings";a:1:{s:13:"garland_width";s:5:"fluid";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:6:"engine";s:11:"phptemplate";s:7:"regions";a:9:{s:13:"sidebar_first";s:12:"Left sidebar";s:14:"sidebar_second";s:13:"Right sidebar";s:7:"content";s:7:"Content";s:6:"header";s:6:"Header";s:6:"footer";s:6:"Footer";s:11:"highlighted";s:11:"Highlighted";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";}s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:29:"themes/garland/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1444866674;s:14:"regions_hidden";a:2:{i:0;s:8:"page_top";i:1;s:11:"page_bottom";}s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}', + 'info' => 'a:16:{s:4:"name";s:7:"Garland";s:11:"description";s:111:"A multi-column theme which can be configured to modify colors and switch between fixed and fluid width layouts.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:2:{s:3:"all";a:1:{s:9:"style.css";s:24:"themes/garland/style.css";}s:5:"print";a:1:{s:9:"print.css";s:24:"themes/garland/print.css";}}s:8:"settings";a:1:{s:13:"garland_width";s:5:"fluid";}s:6:"engine";s:11:"phptemplate";s:7:"regions";a:9:{s:13:"sidebar_first";s:12:"Left sidebar";s:14:"sidebar_second";s:13:"Right sidebar";s:7:"content";s:7:"Content";s:6:"header";s:6:"Header";s:6:"footer";s:6:"Footer";s:11:"highlighted";s:11:"Highlighted";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";}s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:29:"themes/garland/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1664863480;s:14:"regions_hidden";a:2:{i:0;s:8:"page_top";i:1;s:11:"page_bottom";}s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}', )) ->values(array( 'filename' => 'themes/seven/seven.info', @@ -58279,7 +63831,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:18:{s:4:"name";s:5:"Seven";s:11:"description";s:65:"A simple one-column, tableless, fluid width administration theme.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.40";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:1:{s:6:"screen";a:2:{s:9:"reset.css";s:22:"themes/seven/reset.css";s:9:"style.css";s:22:"themes/seven/style.css";}}s:8:"settings";a:1:{s:20:"shortcut_module_link";s:1:"1";}s:7:"regions";a:5:{s:7:"content";s:7:"Content";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";s:13:"sidebar_first";s:13:"First sidebar";}s:14:"regions_hidden";a:3:{i:0;s:13:"sidebar_first";i:1;s:8:"page_top";i:2;s:11:"page_bottom";}s:7:"project";s:6:"drupal";s:9:"datestamp";s:10:"1444866674";s:6:"engine";s:11:"phptemplate";s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:27:"themes/seven/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1444866674;s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}', + 'info' => 'a:16:{s:4:"name";s:5:"Seven";s:11:"description";s:65:"A simple one-column, tableless, fluid width administration theme.";s:7:"package";s:4:"Core";s:7:"version";s:4:"7.92";s:4:"core";s:3:"7.x";s:11:"stylesheets";a:1:{s:6:"screen";a:2:{s:9:"reset.css";s:22:"themes/seven/reset.css";s:9:"style.css";s:22:"themes/seven/style.css";}}s:8:"settings";a:1:{s:20:"shortcut_module_link";s:1:"1";}s:7:"regions";a:5:{s:7:"content";s:7:"Content";s:4:"help";s:4:"Help";s:8:"page_top";s:8:"Page top";s:11:"page_bottom";s:11:"Page bottom";s:13:"sidebar_first";s:13:"First sidebar";}s:14:"regions_hidden";a:3:{i:0;s:13:"sidebar_first";i:1;s:8:"page_top";i:2;s:11:"page_bottom";}s:6:"engine";s:11:"phptemplate";s:8:"features";a:9:{i:0;s:4:"logo";i:1;s:7:"favicon";i:2;s:4:"name";i:3;s:6:"slogan";i:4;s:17:"node_user_picture";i:5;s:20:"comment_user_picture";i:6;s:25:"comment_user_verification";i:7;s:9:"main_menu";i:8;s:14:"secondary_menu";}s:10:"screenshot";s:27:"themes/seven/screenshot.png";s:3:"php";s:5:"5.2.4";s:7:"scripts";a:0:{}s:5:"mtime";i:1664863480;s:28:"overlay_supplemental_regions";a:1:{i:0;s:8:"page_top";}}', )) ->values(array( 'filename' => 'themes/stark/stark.info', @@ -58290,7 +63842,7 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => "a:17:{s:4:\"name\";s:5:\"Stark\";s:11:\"description\";s:208:\"This theme demonstrates Drupal's default HTML markup and CSS styles. To learn how to build your own theme and override Drupal's default code, see the Theming Guide.\";s:7:\"package\";s:4:\"Core\";s:7:\"version\";s:4:\"7.40\";s:4:\"core\";s:3:\"7.x\";s:11:\"stylesheets\";a:1:{s:3:\"all\";a:1:{s:10:\"layout.css\";s:23:\"themes/stark/layout.css\";}}s:7:\"project\";s:6:\"drupal\";s:9:\"datestamp\";s:10:\"1444866674\";s:6:\"engine\";s:11:\"phptemplate\";s:7:\"regions\";a:9:{s:13:\"sidebar_first\";s:12:\"Left sidebar\";s:14:\"sidebar_second\";s:13:\"Right sidebar\";s:7:\"content\";s:7:\"Content\";s:6:\"header\";s:6:\"Header\";s:6:\"footer\";s:6:\"Footer\";s:11:\"highlighted\";s:11:\"Highlighted\";s:4:\"help\";s:4:\"Help\";s:8:\"page_top\";s:8:\"Page top\";s:11:\"page_bottom\";s:11:\"Page bottom\";}s:8:\"features\";a:9:{i:0;s:4:\"logo\";i:1;s:7:\"favicon\";i:2;s:4:\"name\";i:3;s:6:\"slogan\";i:4;s:17:\"node_user_picture\";i:5;s:20:\"comment_user_picture\";i:6;s:25:\"comment_user_verification\";i:7;s:9:\"main_menu\";i:8;s:14:\"secondary_menu\";}s:10:\"screenshot\";s:27:\"themes/stark/screenshot.png\";s:3:\"php\";s:5:\"5.2.4\";s:7:\"scripts\";a:0:{}s:5:\"mtime\";i:1444866674;s:14:\"regions_hidden\";a:2:{i:0;s:8:\"page_top\";i:1;s:11:\"page_bottom\";}s:28:\"overlay_supplemental_regions\";a:1:{i:0;s:8:\"page_top\";}}", + 'info' => "a:15:{s:4:\"name\";s:5:\"Stark\";s:11:\"description\";s:208:\"This theme demonstrates Drupal's default HTML markup and CSS styles. To learn how to build your own theme and override Drupal's default code, see the Theming Guide.\";s:7:\"package\";s:4:\"Core\";s:7:\"version\";s:4:\"7.92\";s:4:\"core\";s:3:\"7.x\";s:11:\"stylesheets\";a:1:{s:3:\"all\";a:1:{s:10:\"layout.css\";s:23:\"themes/stark/layout.css\";}}s:6:\"engine\";s:11:\"phptemplate\";s:7:\"regions\";a:9:{s:13:\"sidebar_first\";s:12:\"Left sidebar\";s:14:\"sidebar_second\";s:13:\"Right sidebar\";s:7:\"content\";s:7:\"Content\";s:6:\"header\";s:6:\"Header\";s:6:\"footer\";s:6:\"Footer\";s:11:\"highlighted\";s:11:\"Highlighted\";s:4:\"help\";s:4:\"Help\";s:8:\"page_top\";s:8:\"Page top\";s:11:\"page_bottom\";s:11:\"Page bottom\";}s:8:\"features\";a:9:{i:0;s:4:\"logo\";i:1;s:7:\"favicon\";i:2;s:4:\"name\";i:3;s:6:\"slogan\";i:4;s:17:\"node_user_picture\";i:5;s:20:\"comment_user_picture\";i:6;s:25:\"comment_user_verification\";i:7;s:9:\"main_menu\";i:8;s:14:\"secondary_menu\";}s:10:\"screenshot\";s:27:\"themes/stark/screenshot.png\";s:3:\"php\";s:5:\"5.2.4\";s:7:\"scripts\";a:0:{}s:5:\"mtime\";i:1664863480;s:14:\"regions_hidden\";a:2:{i:0;s:8:\"page_top\";i:1;s:11:\"page_bottom\";}s:28:\"overlay_supplemental_regions\";a:1:{i:0;s:8:\"page_top\";}}", )) ->execute(); $connection->schema()->createTable('taxonomy_index', array( @@ -58312,7 +63864,7 @@ 'sticky' => array( 'type' => 'int', 'not null' => FALSE, - 'size' => 'normal', + 'size' => 'tiny', 'default' => '0', ), 'created' => array( @@ -58322,6 +63874,16 @@ 'default' => '0', ), ), + 'indexes' => array( + 'term_node' => array( + 'tid', + 'sticky', + 'created', + ), + 'nid' => array( + 'nid', + ), + ), 'mysql_character_set' => 'utf8', )); @@ -58340,7 +63902,7 @@ )) ->values(array( 'nid' => '1', - 'tid' => '4', + 'tid' => '15', 'sticky' => '0', 'created' => '1421727515', )) @@ -58351,22 +63913,40 @@ 'created' => '1421727515', )) ->values(array( - 'nid' => '1', - 'tid' => '15', + 'nid' => '2', + 'tid' => '9', 'sticky' => '0', - 'created' => '1421727515', + 'created' => '1441306772', )) ->values(array( - 'nid' => '6', - 'tid' => '1', + 'nid' => '2', + 'tid' => '14', 'sticky' => '0', - 'created' => '1504715414', + 'created' => '1441306772', )) ->values(array( - 'nid' => '7', - 'tid' => '1', + 'nid' => '2', + 'tid' => '17', 'sticky' => '0', - 'created' => '1504715432', + 'created' => '1441306772', +)) +->values(array( + 'nid' => '2', + 'tid' => '20', + 'sticky' => '0', + 'created' => '1441306772', +)) +->values(array( + 'nid' => '2', + 'tid' => '21', + 'sticky' => '0', + 'created' => '1441306772', +)) +->values(array( + 'nid' => '2', + 'tid' => '24', + 'sticky' => '0', + 'created' => '1441306772', )) ->values(array( 'nid' => '3', @@ -58399,40 +63979,16 @@ 'created' => '1471428152', )) ->values(array( - 'nid' => '2', - 'tid' => '9', - 'sticky' => '0', - 'created' => '1441306772', -)) -->values(array( - 'nid' => '2', - 'tid' => '14', - 'sticky' => '0', - 'created' => '1441306772', -)) -->values(array( - 'nid' => '2', - 'tid' => '17', - 'sticky' => '0', - 'created' => '1441306772', -)) -->values(array( - 'nid' => '2', - 'tid' => '20', - 'sticky' => '0', - 'created' => '1441306772', -)) -->values(array( - 'nid' => '2', - 'tid' => '21', + 'nid' => '6', + 'tid' => '1', 'sticky' => '0', - 'created' => '1441306772', + 'created' => '1504715414', )) ->values(array( - 'nid' => '2', - 'tid' => '24', + 'nid' => '7', + 'tid' => '1', 'sticky' => '0', - 'created' => '1441306772', + 'created' => '1504715432', )) ->execute(); $connection->schema()->createTable('taxonomy_term_data', array( @@ -58795,6 +64351,10 @@ 'tid' => '3', 'parent' => '0', )) +->values(array( + 'tid' => '4', + 'parent' => '3', +)) ->values(array( 'tid' => '5', 'parent' => '0', @@ -58803,6 +64363,14 @@ 'tid' => '6', 'parent' => '0', )) +->values(array( + 'tid' => '7', + 'parent' => '6', +)) +->values(array( + 'tid' => '8', + 'parent' => '6', +)) ->values(array( 'tid' => '9', 'parent' => '0', @@ -58867,18 +64435,6 @@ 'tid' => '24', 'parent' => '0', )) -->values(array( - 'tid' => '4', - 'parent' => '3', -)) -->values(array( - 'tid' => '7', - 'parent' => '6', -)) -->values(array( - 'tid' => '8', - 'parent' => '6', -)) ->values(array( 'tid' => '25', 'parent' => '0', @@ -59168,18 +64724,6 @@ 'mysql_character_set' => 'utf8', )); -$connection->insert('trigger_assignments') -->fields(array( - 'hook', - 'aid', - 'weight', -)) -->values(array( - 'hook' => 'comment_presave', - 'aid' => 'comment_publish_action', - 'weight' => '1', -)) -->execute(); $connection->schema()->createTable('url_alias', array( 'fields' => array( 'pid' => array( @@ -59353,10 +64897,21 @@ 'not null' => FALSE, 'size' => 'normal', ), + 'changed' => array( + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'normal', + 'default' => '0', + ), ), 'primary key' => array( 'uid', ), + 'indexes' => array( + 'changed' => array( + 'changed', + ), + ), 'mysql_character_set' => 'utf8', )); @@ -59378,6 +64933,7 @@ 'picture', 'init', 'data', + 'changed', )) ->values(array( 'uid' => '1', @@ -59388,14 +64944,15 @@ 'signature' => '', 'signature_format' => NULL, 'created' => '0', - 'access' => '1444945097', - 'login' => '1444945097', + 'access' => '1664938970', + 'login' => '1664931778', 'status' => '1', 'timezone' => NULL, 'language' => '', 'picture' => '0', 'init' => '', 'data' => 'a:1:{s:7:"contact";i:1;}', + 'changed' => '0', )) ->values(array( 'uid' => '2', @@ -59414,6 +64971,7 @@ 'picture' => '0', 'init' => 'odo@local.host', 'data' => 'a:1:{s:7:"contact";i:1;}', + 'changed' => '1440532218', )) ->values(array( 'uid' => '3', @@ -59432,6 +64990,7 @@ 'picture' => '0', 'init' => 'bob@local.host', 'data' => 'a:1:{s:7:"contact";i:1;}', + 'changed' => '1440532218', )) ->execute(); $connection->schema()->createTable('users_roles', array( @@ -59601,41 +65160,49 @@ 'name' => 'cache', 'value' => 'i:0;', )) +->values(array( + 'name' => 'cache_class_cache_ctools_css', + 'value' => 's:14:"CToolsCssCache";', +)) ->values(array( 'name' => 'cache_flush_cache', 'value' => 'i:0;', )) ->values(array( 'name' => 'cache_flush_cache_block', - 'value' => 'i:0;', + 'value' => 'i:1664938978;', )) ->values(array( 'name' => 'cache_flush_cache_field', - 'value' => 'i:0;', + 'value' => 'i:1664931769;', )) ->values(array( 'name' => 'cache_flush_cache_filter', - 'value' => 'i:1444944970;', + 'value' => 'i:1664931769;', )) ->values(array( 'name' => 'cache_flush_cache_form', - 'value' => 'i:1444944970;', + 'value' => 'i:0;', )) ->values(array( 'name' => 'cache_flush_cache_image', - 'value' => 'i:1444944970;', + 'value' => 'i:1664931769;', )) ->values(array( 'name' => 'cache_flush_cache_menu', - 'value' => 'i:1444944970;', + 'value' => 'i:0;', )) ->values(array( 'name' => 'cache_flush_cache_page', - 'value' => 'i:0;', + 'value' => 'i:1664938978;', )) ->values(array( 'name' => 'cache_flush_cache_path', - 'value' => 'i:1444944970;', + 'value' => 'i:0;', +)) +->values(array( + 'name' => 'cache_flush_cache_variable', + 'value' => 'i:0;', )) ->values(array( 'name' => 'cache_lifetime', @@ -59875,7 +65442,7 @@ )) ->values(array( 'name' => 'cron_last', - 'value' => 'i:1444944970;', + 'value' => 'i:1664931769;', )) ->values(array( 'name' => 'cron_threshold_error', @@ -59887,15 +65454,11 @@ )) ->values(array( 'name' => 'css_js_query_string', - 'value' => 's:6:"nwa6nq";', + 'value' => 's:6:"rj9f4y";', )) ->values(array( 'name' => 'ctools_last_cron', - 'value' => 'i:1421720834;', -)) -->values(array( - 'name' => 'dashboard_stashed_blocks', - 'value' => 'a:5:{i:0;a:3:{s:6:"module";s:4:"node";s:5:"delta";s:6:"recent";s:6:"region";s:14:"dashboard_main";}i:1;a:3:{s:6:"module";s:4:"user";s:5:"delta";s:3:"new";s:6:"region";s:17:"dashboard_sidebar";}i:2;a:3:{s:6:"module";s:6:"search";s:5:"delta";s:4:"form";s:6:"region";s:17:"dashboard_sidebar";}i:3;a:3:{s:6:"module";s:7:"comment";s:5:"delta";s:6:"recent";s:6:"region";s:18:"dashboard_inactive";}i:4;a:3:{s:6:"module";s:4:"user";s:5:"delta";s:6:"online";s:6:"region";s:18:"dashboard_inactive";}}', + 'value' => 'i:1664864749;', )) ->values(array( 'name' => 'date_api_version', @@ -59919,7 +65482,7 @@ )) ->values(array( 'name' => 'drupal_css_cache_files', - 'value' => 'a:10:{s:64:"823ba1006db72809515d2221cd02ec1075d7b49b0c07f49307b3a7930bfdd9e4";s:64:"public://css/css_xE-rWrJf-fncB6ztZfd2huxqgxu4WO-qwma6Xer30m4.css";s:64:"039ba69b25efd672767c5ee21b686a2cdaa496c5fb210693b88f81cc556db518";s:64:"public://css/css_M8BpLSgFJ1ipHW-ZwVd6p7yRHsT3q23ohYErZrFJ1xA.css";s:64:"568f3bca87830de88c7b44e71808ac7f33f4cdf273ed3bf3d2532bd48f084b06";s:64:"public://css/css_NRg0AX3iY_x0OX3_WzcWp90JnwurHRvZn6i75GL0rRI.css";s:64:"586e4d641f74d0fbdea2ecffe62294e983c5961df8d0128aab1c561505f6b35a";s:64:"public://css/css_2THG1eGiBIizsWFeexsNe1iDifJ00QRS9uSd03rY9co.css";s:64:"cb9f93e666a396bb3eb14c5fd16f7ebd1cdd0067733eb0a2ab1b294b6f14f76f";s:64:"public://css/css_1kF33EODTO5gDyEbdpAfYzMKbjG3ottD1s5np0BNI8U.css";s:64:"35337ea541d4968f58917d83eaa9e495d5a38bb0aaf23bc714650d3c71fc275a";s:64:"public://css/css_LJ87GFKz9ZFt2bWZ4pMV8e2o8w_790Mbwcd7C-RKri0.css";s:64:"592db66916e1dd3416cbe95bcb34a5a68775eb0b7cf95e4c858671de35290cc9";s:64:"public://css/css_LS9OUalDR9-d_lCAvF3yUWjNU6yF8ZBm84jEPRvoyuQ.css";s:64:"fe9fca5a618e55058e69458a65b2edb4e958c16c13e1d1526c4dc0c0e782b483";s:64:"public://css/css_WWafHiT44xXp69Ucog34hgXKsZRScJzl3S17Xg7evtM.css";s:64:"ebb3f433ad4107b1ac31e9d7de0f9a5d399040e9f82b6364211dcfaadea158c0";s:64:"public://css/css_Nv0ct-zkzztuah_LbaPFF8ZkdSEk-LxBtTWMm9mN_F8.css";s:64:"032d72e2b3124645b11e59c23005327dc2b450af6aaa6bf3cad34a6a65a9d774";s:64:"public://css/css_ZDWl28hdmeinIcKg-HMrN6uKD0nTMld5NlXLmm5MH2U.css";}', + 'value' => 'a:6:{s:64:"823ba1006db72809515d2221cd02ec1075d7b49b0c07f49307b3a7930bfdd9e4";s:64:"public://css/css_xE-rWrJf-fncB6ztZfd2huxqgxu4WO-qwma6Xer30m4.css";s:64:"592db66916e1dd3416cbe95bcb34a5a68775eb0b7cf95e4c858671de35290cc9";s:64:"public://css/css_LS9OUalDR9-d_lCAvF3yUWjNU6yF8ZBm84jEPRvoyuQ.css";s:64:"81935fa696766294f7d725dbd56e753cf2b6daabd7cb948171830648d35be3f1";s:64:"public://css/css_ELXvY8pQ9Dhp7LiF1Gra7jv5X_cMGOmgGfJ6go69M0w.css";s:64:"8366be3a82d83db4ec0cd63fdb2977a1145c38937190ceb866dd8b9322c159a6";s:64:"public://css/css_BAlE_6v49tysdATXG1mLraYC8i0QUkmM-SZc1C0dkU0.css";s:64:"f3f74dcad951a1a986b64eeabc10d3141b1f70cd67b02447398b004b5706789c";s:64:"public://css/css_Hex-pwCTDDfQD41aRswi2OFNCxosYgUEBnZsKNQ5BWo.css";s:64:"ebb3f433ad4107b1ac31e9d7de0f9a5d399040e9f82b6364211dcfaadea158c0";s:64:"public://css/css_Nv0ct-zkzztuah_LbaPFF8ZkdSEk-LxBtTWMm9mN_F8.css";}', )) ->values(array( 'name' => 'drupal_http_request_fails', @@ -59945,6 +65508,10 @@ 'name' => 'entityreference:base-tables', 'value' => 'a:7:{s:4:"node";a:2:{i:0;s:4:"node";i:1;s:3:"nid";}s:13:"taxonomy_term";a:2:{i:0;s:18:"taxonomy_term_data";i:1;s:3:"tid";}s:7:"comment";a:2:{i:0;s:7:"comment";i:1;s:3:"cid";}s:16:"i18n_translation";a:2:{i:0;s:20:"i18n_translation_set";i:1;s:4:"tsid";}s:4:"file";a:2:{i:0;s:12:"file_managed";i:1;s:3:"fid";}s:19:"taxonomy_vocabulary";a:2:{i:0;s:19:"taxonomy_vocabulary";i:1;s:3:"vid";}s:4:"user";a:2:{i:0;s:5:"users";i:1;s:3:"uid";}}', )) +->values(array( + 'name' => 'entity_cache_tables_created', + 'value' => 'N;', +)) ->values(array( 'name' => 'entity_translation_entity_types', 'value' => 'a:4:{s:7:"comment";s:7:"comment";s:4:"node";s:4:"node";s:13:"taxonomy_term";s:13:"taxonomy_term";s:4:"user";s:4:"user";}', @@ -60131,7 +65698,7 @@ )) ->values(array( 'name' => 'javascript_parsed', - 'value' => 'a:17:{i:0;s:14:"misc/drupal.js";i:1;s:14:"misc/jquery.js";i:2;s:19:"misc/jquery.once.js";i:3;s:32:"modules/contextual/contextual.js";i:4;s:21:"misc/jquery.cookie.js";i:5;s:26:"modules/toolbar/toolbar.js";i:6;s:19:"misc/tableheader.js";i:7;s:12:"misc/form.js";i:8;s:16:"misc/collapse.js";i:9;s:17:"misc/tabledrag.js";s:10:"refresh:is";s:7:"waiting";i:10;s:20:"misc/machine-name.js";i:11;s:16:"misc/textarea.js";i:12;s:36:"modules/comment/comment-node-form.js";i:13;s:26:"modules/menu/menu.admin.js";i:14;s:21:"misc/vertical-tabs.js";i:15;s:29:"modules/node/content_types.js";}', + 'value' => 'a:12:{i:0;s:14:"misc/drupal.js";i:1;s:14:"misc/jquery.js";i:2;s:27:"misc/jquery-extend-3.4.0.js";i:3;s:44:"misc/jquery-html-prefilter-3.5.0-backport.js";i:4;s:19:"misc/jquery.once.js";i:5;s:19:"misc/tableheader.js";i:6;s:12:"misc/form.js";i:7;s:16:"misc/collapse.js";i:8;s:21:"misc/jquery.cookie.js";i:9;s:26:"modules/toolbar/toolbar.js";s:10:"refresh:fr";s:7:"waiting";s:10:"refresh:is";s:7:"waiting";}', )) ->values(array( 'name' => 'language_content_type_article', @@ -60203,7 +65770,7 @@ )) ->values(array( 'name' => 'maintenance_mode', - 'value' => 'i:0;', + 'value' => 'b:0;', )) ->values(array( 'name' => 'maintenance_mode_message', @@ -60215,7 +65782,7 @@ )) ->values(array( 'name' => 'menu_masks', - 'value' => 'a:47:{i:0;i:501;i:1;i:493;i:2;i:490;i:3;i:250;i:4;i:247;i:5;i:246;i:6;i:245;i:7;i:242;i:8;i:238;i:9;i:234;i:10;i:126;i:11;i:125;i:12;i:123;i:13;i:122;i:14;i:121;i:15;i:119;i:16;i:117;i:17;i:108;i:18;i:63;i:19;i:62;i:20;i:61;i:21;i:60;i:22;i:59;i:23;i:58;i:24;i:56;i:25;i:54;i:26;i:44;i:27;i:31;i:28;i:30;i:29;i:29;i:30;i:26;i:31;i:24;i:32;i:22;i:33;i:21;i:34;i:15;i:35;i:14;i:36;i:13;i:37;i:12;i:38;i:11;i:39;i:10;i:40;i:8;i:41;i:7;i:42;i:6;i:43;i:5;i:44;i:3;i:45;i:2;i:46;i:1;}', + 'value' => 'a:49:{i:0;i:501;i:1;i:494;i:2;i:493;i:3;i:490;i:4;i:250;i:5;i:247;i:6;i:246;i:7;i:245;i:8;i:242;i:9;i:238;i:10;i:234;i:11;i:126;i:12;i:125;i:13;i:123;i:14;i:122;i:15;i:121;i:16;i:119;i:17;i:118;i:18;i:117;i:19;i:108;i:20;i:63;i:21;i:62;i:22;i:61;i:23;i:60;i:24;i:59;i:25;i:58;i:26;i:56;i:27;i:54;i:28;i:44;i:29;i:31;i:30;i:30;i:31;i:29;i:32;i:26;i:33;i:24;i:34;i:22;i:35;i:21;i:36;i:15;i:37;i:14;i:38;i:13;i:39;i:12;i:40;i:11;i:41;i:10;i:42;i:8;i:43;i:7;i:44;i:6;i:45;i:5;i:46;i:3;i:47;i:2;i:48;i:1;}', )) ->values(array( 'name' => 'menu_options_article', @@ -60279,7 +65846,7 @@ )) ->values(array( 'name' => 'node_cron_last', - 'value' => 's:10:"1441306832";', + 'value' => 's:10:"1564543706";', )) ->values(array( 'name' => 'node_options_article', @@ -60389,6 +65956,10 @@ 'name' => 'path_alias_whitelist', 'value' => 'a:3:{s:8:"taxonomy";b:1;s:4:"node";b:1;s:5:"admin";b:1;}', )) +->values(array( + 'name' => 'picture_updated_to_file_entity_2', + 'value' => 'b:0;', +)) ->values(array( 'name' => 'preprocess_css', 'value' => 'i:1;', @@ -60479,7 +66050,7 @@ )) ->values(array( 'name' => 'statistics_day_timestamp', - 'value' => 'i:1444944970;', + 'value' => 'i:1664864749;', )) ->values(array( 'name' => 'statistics_enable_access_log', @@ -60547,7 +66118,7 @@ )) ->values(array( 'name' => 'update_last_check', - 'value' => 'i:1444944973;', + 'value' => 'i:1664931769;', )) ->values(array( 'name' => 'update_max_fetch_attempts', @@ -60774,100 +66345,100 @@ )) ->values(array( 'realm' => 'language', - 'realm_key' => 'is', - 'name' => 'anonymous', - 'value' => 'is - anonymous', + 'realm_key' => 'en', + 'name' => 'user_default_timezone', + 'value' => '2', 'serialized' => '0', )) ->values(array( 'realm' => 'language', - 'realm_key' => 'is', - 'name' => 'maintenance_mode_message', - 'value' => 'is - This is a custom maintenance mode message.', + 'realm_key' => 'fr', + 'name' => 'site_403', + 'value' => 'node', 'serialized' => '0', )) ->values(array( 'realm' => 'language', 'realm_key' => 'fr', - 'name' => 'site_403', + 'name' => 'site_404', 'value' => 'node', 'serialized' => '0', )) ->values(array( 'realm' => 'language', - 'realm_key' => 'is', - 'name' => 'site_403', - 'value' => 'node/1', + 'realm_key' => 'fr', + 'name' => 'site_frontpage', + 'value' => 'node', 'serialized' => '0', )) ->values(array( 'realm' => 'language', 'realm_key' => 'fr', - 'name' => 'site_404', - 'value' => 'node', + 'name' => 'site_name', + 'value' => 'The Site Name', 'serialized' => '0', )) ->values(array( 'realm' => 'language', - 'realm_key' => 'is', - 'name' => 'site_404', - 'value' => 'node/6', + 'realm_key' => 'fr', + 'name' => 'site_slogan', + 'value' => 'fr - The Slogan', 'serialized' => '0', )) ->values(array( 'realm' => 'language', 'realm_key' => 'fr', - 'name' => 'site_frontpage', - 'value' => 'node', + 'name' => 'user_default_timezone', + 'value' => '0', 'serialized' => '0', )) ->values(array( 'realm' => 'language', 'realm_key' => 'is', - 'name' => 'site_frontpage', - 'value' => 'node/4', + 'name' => 'anonymous', + 'value' => 'is - anonymous', 'serialized' => '0', )) ->values(array( 'realm' => 'language', - 'realm_key' => 'fr', - 'name' => 'site_name', - 'value' => 'The Site Name', + 'realm_key' => 'is', + 'name' => 'maintenance_mode_message', + 'value' => 'is - This is a custom maintenance mode message.', 'serialized' => '0', )) ->values(array( 'realm' => 'language', 'realm_key' => 'is', - 'name' => 'site_name', - 'value' => 'is - The Site Name', + 'name' => 'site_403', + 'value' => 'node/1', 'serialized' => '0', )) ->values(array( 'realm' => 'language', - 'realm_key' => 'fr', - 'name' => 'site_slogan', - 'value' => 'fr - The Slogan', + 'realm_key' => 'is', + 'name' => 'site_404', + 'value' => 'node/6', 'serialized' => '0', )) ->values(array( 'realm' => 'language', 'realm_key' => 'is', - 'name' => 'site_slogan', - 'value' => 'is - The Slogan', + 'name' => 'site_frontpage', + 'value' => 'node/4', 'serialized' => '0', )) ->values(array( 'realm' => 'language', - 'realm_key' => 'en', - 'name' => 'user_default_timezone', - 'value' => '2', + 'realm_key' => 'is', + 'name' => 'site_name', + 'value' => 'is - The Site Name', 'serialized' => '0', )) ->values(array( 'realm' => 'language', - 'realm_key' => 'fr', - 'name' => 'user_default_timezone', - 'value' => '0', + 'realm_key' => 'is', + 'name' => 'site_slogan', + 'value' => 'is - The Slogan', 'serialized' => '0', )) ->values(array( @@ -61053,3 +66624,8 @@ ), 'mysql_character_set' => 'utf8', )); + +// Reset the SQL mode. +if ($connection->databaseType() === 'mysql') { + $connection->query("SET sql_mode = '$sql_mode'"); +} diff --git a/web/core/modules/migrate_drupal/tests/src/Kernel/StateFileExistsTest.php b/web/core/modules/migrate_drupal/tests/src/Kernel/StateFileExistsTest.php index 0bd05a3b5..da831fe10 100644 --- a/web/core/modules/migrate_drupal/tests/src/Kernel/StateFileExistsTest.php +++ b/web/core/modules/migrate_drupal/tests/src/Kernel/StateFileExistsTest.php @@ -77,6 +77,7 @@ class StateFileExistsTest extends MigrateDrupalTestBase { 'taxonomy', 'telephone', 'text', + // @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452 'tracker', 'update', 'user', diff --git a/web/core/modules/migrate_drupal/tests/src/Kernel/d6/EntityContentBaseTest.php b/web/core/modules/migrate_drupal/tests/src/Kernel/d6/EntityContentBaseTest.php index 45fa0dc0b..25277fc84 100644 --- a/web/core/modules/migrate_drupal/tests/src/Kernel/d6/EntityContentBaseTest.php +++ b/web/core/modules/migrate_drupal/tests/src/Kernel/d6/EntityContentBaseTest.php @@ -57,8 +57,9 @@ protected function setUp(): void { } /** - * Tests overwriting all mapped properties in the destination entity (default - * behavior). + * Tests overwriting all mapped properties in the destination entity. + * + * This is the default behavior. */ public function testOverwriteAllMappedProperties() { $this->executeMigration('d6_user'); @@ -70,8 +71,9 @@ public function testOverwriteAllMappedProperties() { } /** - * Tests overwriting selected properties in the destination entity, specified - * in the destination configuration. + * Tests overwriting selected properties in the destination entity. + * + * The selected properties are specified in the destination configuration. */ public function testOverwriteProperties() { // Execute the migration in migrate_overwrite_test, which documents how diff --git a/web/core/modules/migrate_drupal/tests/src/Kernel/d6/FieldDiscoveryTest.php b/web/core/modules/migrate_drupal/tests/src/Kernel/d6/FieldDiscoveryTest.php index 7085fa723..d29d763ea 100644 --- a/web/core/modules/migrate_drupal/tests/src/Kernel/d6/FieldDiscoveryTest.php +++ b/web/core/modules/migrate_drupal/tests/src/Kernel/d6/FieldDiscoveryTest.php @@ -89,6 +89,7 @@ public function testAddAllFieldProcesses() { 'field_company', 'field_company_2', 'field_company_3', + 'field_company_4', 'field_sync', 'field_multivalue', 'field_test_text_single_checkbox', diff --git a/web/core/modules/migrate_drupal/tests/src/Kernel/d6/MigrateDrupal6AuditIdsTest.php b/web/core/modules/migrate_drupal/tests/src/Kernel/d6/MigrateDrupal6AuditIdsTest.php index 78a50f732..49f21abb9 100644 --- a/web/core/modules/migrate_drupal/tests/src/Kernel/d6/MigrateDrupal6AuditIdsTest.php +++ b/web/core/modules/migrate_drupal/tests/src/Kernel/d6/MigrateDrupal6AuditIdsTest.php @@ -39,6 +39,7 @@ protected function setUp(): void { $this->installSchema('node', ['node_access']); $this->installSchema('search', ['search_dataset']); $this->installSchema('system', ['sequences']); + // @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452 $this->installSchema('tracker', ['tracker_node', 'tracker_user']); // Enable content moderation for nodes of type page. diff --git a/web/core/modules/migrate_drupal/tests/src/Kernel/d7/MigrateDrupal7AuditIdsTest.php b/web/core/modules/migrate_drupal/tests/src/Kernel/d7/MigrateDrupal7AuditIdsTest.php index 09b1247f7..245f85c50 100644 --- a/web/core/modules/migrate_drupal/tests/src/Kernel/d7/MigrateDrupal7AuditIdsTest.php +++ b/web/core/modules/migrate_drupal/tests/src/Kernel/d7/MigrateDrupal7AuditIdsTest.php @@ -39,6 +39,7 @@ protected function setUp(): void { $this->installSchema('node', ['node_access']); $this->installSchema('search', ['search_dataset']); $this->installSchema('system', ['sequences']); + // @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452 $this->installSchema('tracker', ['tracker_node', 'tracker_user']); // Enable content moderation for nodes of type page. diff --git a/web/core/modules/migrate_drupal/tests/src/Unit/FieldDiscoveryTest.php b/web/core/modules/migrate_drupal/tests/src/Unit/FieldDiscoveryTest.php index a08fd8393..75180de69 100644 --- a/web/core/modules/migrate_drupal/tests/src/Unit/FieldDiscoveryTest.php +++ b/web/core/modules/migrate_drupal/tests/src/Unit/FieldDiscoveryTest.php @@ -178,7 +178,7 @@ public function getBundleFieldsData() { 'entity_type_id' => 'user', 'bundle' => 'user', 'expected_fields' => [ - 'user_field_1' => ['field_info_key' => 'user_field_1_data'], + 'user_field_1' => ['field_info_key' => 'user_field_1_data'], ], ], 'Comment - Content Type 1' => [ diff --git a/web/core/modules/migrate_drupal_ui/migrate_drupal_ui.routing.yml b/web/core/modules/migrate_drupal_ui/migrate_drupal_ui.routing.yml index 438c8aabc..9da6cfb1d 100644 --- a/web/core/modules/migrate_drupal_ui/migrate_drupal_ui.routing.yml +++ b/web/core/modules/migrate_drupal_ui/migrate_drupal_ui.routing.yml @@ -47,7 +47,7 @@ migrate_drupal_ui.upgrade_review: migrate_drupal_ui.log: path: '/admin/reports/upgrade' defaults: - _controller: '\Drupal\migrate_drupal_ui\Controller\MigrateController::showLog' + _controller: '\Drupal\migrate_drupal_ui\Controller\MigrateController::showLog' requirements: _custom_access: '\Drupal\migrate_drupal_ui\MigrateAccessCheck::checkAccess' options: diff --git a/web/core/modules/migrate_drupal_ui/src/Batch/MigrateUpgradeImportBatch.php b/web/core/modules/migrate_drupal_ui/src/Batch/MigrateUpgradeImportBatch.php index 5345db3e8..93d285c2f 100644 --- a/web/core/modules/migrate_drupal_ui/src/Batch/MigrateUpgradeImportBatch.php +++ b/web/core/modules/migrate_drupal_ui/src/Batch/MigrateUpgradeImportBatch.php @@ -232,10 +232,10 @@ public static function run($initial_ids, $config, &$context) { $migration = \Drupal::service('plugin.manager.migration')->createInstance($migration_id); $migration_name = $migration->label() ? $migration->label() : $migration_id; $context['message'] = (string) new TranslatableMarkup('Currently upgrading @migration (@current of @max total tasks)', [ - '@migration' => $migration_name, - '@current' => $context['sandbox']['current'], - '@max' => $context['sandbox']['max'], - ]) . "
                                                  \n" . $context['message']; + '@migration' => $migration_name, + '@current' => $context['sandbox']['current'], + '@max' => $context['sandbox']['max'], + ]) . "
                                                  \n" . $context['message']; } } else { diff --git a/web/core/modules/migrate_drupal_ui/src/Form/CredentialForm.php b/web/core/modules/migrate_drupal_ui/src/Form/CredentialForm.php index 8900a5076..87e57604b 100644 --- a/web/core/modules/migrate_drupal_ui/src/Form/CredentialForm.php +++ b/web/core/modules/migrate_drupal_ui/src/Form/CredentialForm.php @@ -5,8 +5,10 @@ use Drupal\Component\Utility\UrlHelper; use Drupal\Core\Config\ConfigFactoryInterface; use Drupal\Core\Database\Connection; +use Drupal\Core\Database\Database; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\State\StateInterface; +use Drupal\Core\Site\Settings; use Drupal\Core\TempStore\PrivateTempStoreFactory; use Drupal\migrate\Exception\RequirementsException; use Drupal\migrate\Plugin\Exception\BadPluginDefinitionException; @@ -99,19 +101,42 @@ public function buildForm(array $form, FormStateInterface $form_state) { '#description' => $this->t('Provide the information to access the Drupal site you want to upgrade. Files can be imported into the upgraded site as well. See the Upgrade documentation for more detailed instructions.', [':url' => 'https://www.drupal.org/upgrade/migrate']), ]; + $migrate_source_version = Settings::get('migrate_source_version') == '6' ? '6' : '7'; $form['version'] = [ '#type' => 'radios', - '#default_value' => 7, + '#default_value' => $migrate_source_version, '#title' => $this->t('Drupal version of the source site'), '#options' => ['6' => $this->t('Drupal 6'), '7' => $this->t('Drupal 7')], '#required' => TRUE, ]; + $available_connections = array_diff(array_keys(Database::getAllConnectionInfo()), ['default']); + $options = array_combine($available_connections, $available_connections); + $migrate_source_connection = Settings::get('migrate_source_connection'); + $preferred_connections = $migrate_source_connection + ? ['migrate', $migrate_source_connection] + : ['migrate']; + $default_options = array_intersect($preferred_connections, $available_connections); + $form['source_connection'] = [ + '#type' => 'select', + '#title' => $this->t('Source connection'), + '#options' => $options, + '#default_value' => array_pop($default_options), + '#empty_option' => $this->t('- User defined -'), + '#description' => $this->t('Choose one of the keys from the $databases array or else select "User defined" and enter database credentials.'), + '#access' => !empty($options), + ]; + $form['database'] = [ '#type' => 'details', '#title' => $this->t('Source database'), '#description' => $this->t('Provide credentials for the database of the Drupal site you want to upgrade.'), '#open' => TRUE, + '#states' => [ + 'visible' => [ + ':input[name=source_connection]' => ['value' => ''], + ], + ], ]; $form['database']['driver'] = [ @@ -119,6 +144,11 @@ public function buildForm(array $form, FormStateInterface $form_state) { '#title' => $this->t('Database type'), '#required' => TRUE, '#default_value' => $default_driver, + '#states' => [ + 'required' => [ + ':input[name=source_connection]' => ['value' => ''], + ], + ], ]; if (count($drivers) == 1) { $form['database']['driver']['#disabled'] = TRUE; @@ -136,6 +166,27 @@ public function buildForm(array $form, FormStateInterface $form_state) { // for mysql and pgsql must not be required. $form['database']['settings'][$key]['database']['#required'] = FALSE; $form['database']['settings'][$key]['username']['#required'] = FALSE; + $form['database']['settings'][$key]['database']['#states'] = [ + 'required' => [ + ':input[name=source_connection]' => ['value' => ''], + ':input[name=driver]' => ['value' => $key], + ], + ]; + if ($key != 'sqlite') { + $form['database']['settings'][$key]['username']['#states'] = [ + 'required' => [ + ':input[name=source_connection]' => ['value' => ''], + ':input[name=driver]' => ['value' => $key], + ], + ]; + $form['database']['settings'][$key]['password']['#states'] = [ + 'required' => [ + ':input[name=source_connection]' => ['value' => ''], + ':input[name=driver]' => ['value' => $key], + ], + ]; + } + $form['database']['settings'][$key]['#prefix'] = '

                                                  ' . $this->t('@driver_name settings', ['@driver_name' => $driver->name()]) . '

                                                  '; $form['database']['settings'][$key]['#type'] = 'container'; $form['database']['settings'][$key]['#tree'] = TRUE; @@ -164,6 +215,7 @@ public function buildForm(array $form, FormStateInterface $form_state) { $form['source']['d6_source_base_path'] = [ '#type' => 'textfield', '#title' => $this->t('Document root for files'), + '#default_value' => Settings::get('migrate_file_public_path') ?? '', '#description' => $this->t('To import files from your current Drupal site, enter a local file directory containing your site (e.g. /var/www/docroot), or your site address (for example http://example.com).'), '#states' => [ 'visible' => [ @@ -176,6 +228,7 @@ public function buildForm(array $form, FormStateInterface $form_state) { $form['source']['source_base_path'] = [ '#type' => 'textfield', '#title' => $this->t('Document root for public files'), + '#default_value' => Settings::get('migrate_file_public_path') ?? '', '#description' => $this->t('To import public files from your current Drupal site, enter a local file directory containing your site (e.g. /var/www/docroot), or your site address (for example http://example.com).'), '#states' => [ 'visible' => [ @@ -188,7 +241,7 @@ public function buildForm(array $form, FormStateInterface $form_state) { $form['source']['source_private_file_path'] = [ '#type' => 'textfield', '#title' => $this->t('Document root for private files'), - '#default_value' => '', + '#default_value' => Settings::get('migrate_file_private_path') ?? '', '#description' => $this->t('To import private files from your current Drupal site, enter a local file directory containing your site (e.g. /var/www/docroot). Leave blank to use the same value as Public files directory.'), '#states' => [ 'visible' => [ @@ -205,29 +258,36 @@ public function buildForm(array $form, FormStateInterface $form_state) { * {@inheritdoc} */ public function validateForm(array &$form, FormStateInterface $form_state) { - // Retrieve the database driver from the form, use reflection to get the - // namespace, and then construct a valid database array the same as in - // settings.php. - $driver = $form_state->getValue('driver'); - $drivers = $this->getDatabaseTypes(); - $reflection = new \ReflectionClass($drivers[$driver]); - $install_namespace = $reflection->getNamespaceName(); - - $database = $form_state->getValue($driver); - // Cut the trailing \Install from namespace. - $database['namespace'] = substr($install_namespace, 0, strrpos($install_namespace, '\\')); - $database['driver'] = $driver; - - // Validate the driver settings and just end here if we have any issues. - $connection = NULL; - $error_key = $database['driver'] . '][database'; - if ($errors = $drivers[$driver]->validateDatabaseSettings($database)) { - foreach ($errors as $name => $message) { - $this->errors[$name] = $message; + $source_connection = $form_state->getValue('source_connection'); + if ($source_connection) { + $info = Database::getConnectionInfo($source_connection); + $database = reset($info); + } + else { + // Retrieve the database driver from the form, use reflection to get the + // namespace, and then construct a valid database array the same as in + // settings.php. + $driver = $form_state->getValue('driver'); + $drivers = $this->getDatabaseTypes(); + $reflection = new \ReflectionClass($drivers[$driver]); + $install_namespace = $reflection->getNamespaceName(); + + $database = $form_state->getValue($driver); + // Cut the trailing \Install from namespace. + $database['namespace'] = substr($install_namespace, 0, strrpos($install_namespace, '\\')); + $database['driver'] = $driver; + + // Validate the driver settings and just end here if we have any issues. + $connection = NULL; + if ($errors = $drivers[$driver]->validateDatabaseSettings($database)) { + foreach ($errors as $name => $message) { + $this->errors[$name] = $message; + } } } // Get the Drupal version of the source database so it can be validated. + $error_key = $database['driver'] . '][database'; if (!$this->errors) { try { $connection = $this->getConnection($database); @@ -283,6 +343,17 @@ public function validateForm(array &$form, FormStateInterface $form_state) { * Ensures that entered path can be read. */ public function validatePaths($element, FormStateInterface $form_state) { + $version = $form_state->getValue('version'); + // Only validate the paths relevant to the legacy Drupal version. + if (($version !== '7') + && ($element['#name'] == 'source_base_path' || $element['#name'] == 'source_private_file_path')) { + return; + } + + if ($version !== '6' && ($element['#name'] == 'd6_source_base_path')) { + return; + } + if ($source = $element['#value']) { $msg = $this->t('Failed to read from @title.', ['@title' => $element['#title']]); if (UrlHelper::isExternal($source)) { diff --git a/web/core/modules/migrate_drupal_ui/src/Form/OverviewForm.php b/web/core/modules/migrate_drupal_ui/src/Form/OverviewForm.php index 162c7686c..e9c29e306 100644 --- a/web/core/modules/migrate_drupal_ui/src/Form/OverviewForm.php +++ b/web/core/modules/migrate_drupal_ui/src/Form/OverviewForm.php @@ -35,9 +35,9 @@ public function buildForm(array $form, FormStateInterface $form_state) { $form['info_header'] = [ '#markup' => '

                                                  ' . $this->t('Upgrade a site by importing its files and the data from its database into a clean and empty new install of Drupal @version. See the Drupal site upgrades handbook for more information.', [ - '@version' => $this->destinationSiteVersion, - ':url' => 'https://www.drupal.org/upgrade/migrate', - ]), + '@version' => $this->destinationSiteVersion, + ':url' => 'https://www.drupal.org/upgrade/migrate', + ]), ]; $form['legend']['#markup'] = ''; diff --git a/web/core/modules/migrate_drupal_ui/tests/modules/migration_provider_test/migrations/migration_provider_no_annotation.yml b/web/core/modules/migrate_drupal_ui/tests/modules/migration_provider_test/migrations/migration_provider_no_annotation.yml index bdc906660..02f95ed3d 100644 --- a/web/core/modules/migrate_drupal_ui/tests/modules/migration_provider_test/migrations/migration_provider_no_annotation.yml +++ b/web/core/modules/migrate_drupal_ui/tests/modules/migration_provider_test/migrations/migration_provider_no_annotation.yml @@ -4,7 +4,7 @@ migration_tags: - Drupal 6 - Drupal 7 source: -# Test plugin without a source_module annotation + # Test plugin without a source_module annotation plugin: no_source_module process: message: site_offline_message diff --git a/web/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MultilingualReviewPageTest.php b/web/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MultilingualReviewPageTest.php index baa9fac76..241c72964 100644 --- a/web/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MultilingualReviewPageTest.php +++ b/web/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MultilingualReviewPageTest.php @@ -29,6 +29,7 @@ class MultilingualReviewPageTest extends MultilingualReviewPageTestBase { 'forum', 'statistics', 'syslog', + // @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452 'tracker', 'update', // Test migrations states. @@ -106,6 +107,7 @@ protected function getAvailablePaths() { 'Menu translation', 'Node', 'Node Reference', + 'Node Reference URL Widget', 'Nodeaccess', 'Number', 'OpenID', @@ -127,6 +129,7 @@ protected function getAvailablePaths() { 'Taxonomy', 'Text', 'Throttle', + // @todo Remove Tracker in https://www.drupal.org/project/drupal/issues/3261452 'Tracker', 'Trigger', 'Update status', diff --git a/web/core/modules/migrate_drupal_ui/tests/src/Functional/d6/NoMultilingualReviewPageTest.php b/web/core/modules/migrate_drupal_ui/tests/src/Functional/d6/NoMultilingualReviewPageTest.php index c315ce7fb..7fa0e2177 100644 --- a/web/core/modules/migrate_drupal_ui/tests/src/Functional/d6/NoMultilingualReviewPageTest.php +++ b/web/core/modules/migrate_drupal_ui/tests/src/Functional/d6/NoMultilingualReviewPageTest.php @@ -27,6 +27,7 @@ class NoMultilingualReviewPageTest extends NoMultilingualReviewPageTestBase { 'forum', 'statistics', 'syslog', + // @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452 'tracker', 'update', // Test migrations states. @@ -98,6 +99,7 @@ protected function getAvailablePaths() { 'Node', 'Nodeaccess', 'Node Reference', + 'Node Reference URL Widget', 'Number', 'OpenID', 'PHP filter', @@ -113,6 +115,7 @@ protected function getAvailablePaths() { 'Taxonomy', 'Text', 'Throttle', + // @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452 'Tracker', 'Trigger', 'Update status', diff --git a/web/core/modules/migrate_drupal_ui/tests/src/Functional/d6/Upgrade6Test.php b/web/core/modules/migrate_drupal_ui/tests/src/Functional/d6/Upgrade6Test.php index d14d64ca5..1da8b95b4 100644 --- a/web/core/modules/migrate_drupal_ui/tests/src/Functional/d6/Upgrade6Test.php +++ b/web/core/modules/migrate_drupal_ui/tests/src/Functional/d6/Upgrade6Test.php @@ -53,9 +53,6 @@ protected function setUp(): void { $this->nodeStorage->delete($this->nodeStorage->loadMultiple()); $this->loadFixture($this->getModulePath('migrate_drupal') . '/tests/fixtures/drupal6.php'); - - // @todo Remove this in https://www.drupal.org/node/3267515 - \Drupal::service('module_installer')->uninstall(['rdf']); } /** @@ -81,8 +78,8 @@ protected function getEntityCounts() { 'contact_message' => 0, 'configurable_language' => 5, 'editor' => 2, - 'field_config' => 103, - 'field_storage_config' => 71, + 'field_config' => 104, + 'field_storage_config' => 72, 'file' => 7, 'filter_format' => 7, 'image_style' => 6, @@ -155,6 +152,7 @@ protected function getAvailablePaths() { 'Menu translation', 'Node', 'Node Reference', + 'Node Reference URL Widget', 'Option Widgets', 'Path', 'Profile translation', diff --git a/web/core/modules/migrate_drupal_ui/tests/src/Functional/d7/MultilingualReviewPageTest.php b/web/core/modules/migrate_drupal_ui/tests/src/Functional/d7/MultilingualReviewPageTest.php index 784618bae..b47cad02c 100644 --- a/web/core/modules/migrate_drupal_ui/tests/src/Functional/d7/MultilingualReviewPageTest.php +++ b/web/core/modules/migrate_drupal_ui/tests/src/Functional/d7/MultilingualReviewPageTest.php @@ -28,7 +28,6 @@ class MultilingualReviewPageTest extends MultilingualReviewPageTestBase { 'forum', 'statistics', 'syslog', - 'tracker', 'update', // Test migrations states. 'migrate_state_finished_test', @@ -41,9 +40,6 @@ class MultilingualReviewPageTest extends MultilingualReviewPageTestBase { protected function setUp(): void { parent::setUp(); $this->loadFixture($this->getModulePath('migrate_drupal') . '/tests/fixtures/drupal7.php'); - - // @todo Remove this in https://www.drupal.org/node/3267515 - \Drupal::service('module_installer')->uninstall(['rdf']); } /** @@ -134,7 +130,6 @@ protected function getAvailablePaths() { 'Text', 'Title', 'Toolbar', - 'Tracker', 'Trigger', 'Update manager', 'User', @@ -173,6 +168,8 @@ protected function getMissingPaths() { 'RDF', 'References', 'References UUID', + // @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452 + 'Tracker', 'Translation redirect', 'Translation sets', 'User mail translation', diff --git a/web/core/modules/migrate_drupal_ui/tests/src/Functional/d7/NoMultilingualReviewPageTest.php b/web/core/modules/migrate_drupal_ui/tests/src/Functional/d7/NoMultilingualReviewPageTest.php index 6b587a444..7600cf318 100644 --- a/web/core/modules/migrate_drupal_ui/tests/src/Functional/d7/NoMultilingualReviewPageTest.php +++ b/web/core/modules/migrate_drupal_ui/tests/src/Functional/d7/NoMultilingualReviewPageTest.php @@ -37,9 +37,6 @@ class NoMultilingualReviewPageTest extends NoMultilingualReviewPageTestBase { protected function setUp(): void { parent::setUp(); $this->loadFixture($this->getModulePath('migrate_drupal') . '/tests/fixtures/drupal7.php'); - - // @todo Remove this in https://www.drupal.org/node/3267515 - \Drupal::service('module_installer')->uninstall(['rdf']); } /** @@ -184,6 +181,7 @@ protected function getMissingPaths() { // These modules are in the missing path list because they are installed // on the source site but they are not installed on the destination site. 'Syslog', + // @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452 'Tracker', 'Update manager', ]; diff --git a/web/core/modules/migrate_drupal_ui/tests/src/Functional/d7/Upgrade7Test.php b/web/core/modules/migrate_drupal_ui/tests/src/Functional/d7/Upgrade7Test.php index fa601ee9d..bcbbfbd52 100644 --- a/web/core/modules/migrate_drupal_ui/tests/src/Functional/d7/Upgrade7Test.php +++ b/web/core/modules/migrate_drupal_ui/tests/src/Functional/d7/Upgrade7Test.php @@ -56,9 +56,6 @@ protected function setUp(): void { $this->nodeStorage->delete($this->nodeStorage->loadMultiple()); $this->loadFixture($this->getModulePath('migrate_drupal') . '/tests/fixtures/drupal7.php'); - - // @todo Remove this in https://www.drupal.org/node/3267515 - \Drupal::service('module_installer')->uninstall(['rdf']); } /** @@ -216,6 +213,7 @@ protected function getMissingPaths() { // These modules are in the missing path list because they are installed // on the source site but they are not installed on the destination site. 'Syslog', + // @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452 'Tracker', 'Update manager', ]; diff --git a/web/core/modules/mysql/src/Driver/Database/mysql/Connection.php b/web/core/modules/mysql/src/Driver/Database/mysql/Connection.php index 1edfdfd1e..024f631da 100644 --- a/web/core/modules/mysql/src/Driver/Database/mysql/Connection.php +++ b/web/core/modules/mysql/src/Driver/Database/mysql/Connection.php @@ -305,7 +305,7 @@ protected function getMariaDbVersionMatch(): ?string { */ protected function getServerVersion(): string { if (!$this->serverVersion) { - $this->serverVersion = $this->connection->query('SELECT VERSION()')->fetchColumn(); + $this->serverVersion = $this->query('SELECT VERSION()')->fetchField(); } return $this->serverVersion; } diff --git a/web/core/modules/mysql/src/Driver/Database/mysql/Schema.php b/web/core/modules/mysql/src/Driver/Database/mysql/Schema.php index cdadb045d..6a0cb188a 100644 --- a/web/core/modules/mysql/src/Driver/Database/mysql/Schema.php +++ b/web/core/modules/mysql/src/Driver/Database/mysql/Schema.php @@ -44,7 +44,7 @@ class Schema extends DatabaseSchema { /** * Get information about the table and database name from the prefix. * - * @return + * @return array * A keyed array with information about the database, table name and prefix. */ protected function getPrefixInfo($table = 'default', $add_prefix = TRUE) { @@ -88,7 +88,7 @@ protected function buildTableNameCondition($table_name, $operator = '=', $add_pr * @param $table * A Schema API table definition array. * - * @return + * @return string[] * An array of SQL statements to create the table. */ protected function createTableSql($name, $table) { diff --git a/web/core/modules/mysql/tests/src/Unit/ConnectionTest.php b/web/core/modules/mysql/tests/src/Unit/ConnectionTest.php index ed682c55f..bb8bebbcb 100644 --- a/web/core/modules/mysql/tests/src/Unit/ConnectionTest.php +++ b/web/core/modules/mysql/tests/src/Unit/ConnectionTest.php @@ -4,6 +4,7 @@ use Drupal\mysql\Driver\Database\mysql\Connection; use Drupal\Tests\UnitTestCase; +use Prophecy\Argument; /** * Tests MySQL database connections. @@ -41,6 +42,21 @@ public function setUp(): void { * @return \Drupal\mysql\Driver\Database\mysql\Connection */ private function createConnection(): Connection { + $this->pdoStatement + ->setFetchMode(Argument::any()) + ->shouldBeCalled() + ->willReturn(TRUE); + + $this->pdoStatement + ->execute(Argument::any()) + ->shouldBeCalled() + ->willReturn(TRUE); + + $this->pdoConnection + ->prepare('SELECT VERSION()', Argument::any()) + ->shouldBeCalled() + ->willReturn($this->pdoStatement->reveal()); + /** @var \PDO $pdo_connection */ $pdo_connection = $this->pdoConnection->reveal(); @@ -48,6 +64,7 @@ private function createConnection(): Connection { public function __construct(\PDO $connection) { $this->connection = $connection; + $this->setPrefix(''); } }; @@ -60,15 +77,10 @@ public function __construct(\PDO $connection) { */ public function testVersionAndIsMariaDb(bool $expected_is_mariadb, string $server_version, string $expected_version): void { $this->pdoStatement - ->fetchColumn() + ->fetchColumn(Argument::any()) ->shouldBeCalled() ->willReturn($server_version); - $this->pdoConnection - ->query('SELECT VERSION()') - ->shouldBeCalled() - ->willReturn($this->pdoStatement->reveal()); - $connection = $this->createConnection(); $is_mariadb = $connection->isMariaDb(); diff --git a/web/core/modules/node/content_types.es6.js b/web/core/modules/node/content_types.es6.js index b7650d1ef..c663db8ef 100644 --- a/web/core/modules/node/content_types.es6.js +++ b/web/core/modules/node/content_types.es6.js @@ -17,30 +17,30 @@ const $context = $(context); // Provide the vertical tab summaries. $context.find('#edit-submission').drupalSetSummary((context) => { - const vals = []; - vals.push( + const values = []; + values.push( Drupal.checkPlain($(context).find('#edit-title-label')[0].value) || Drupal.t('Requires a title'), ); - return vals.join(', '); + return values.join(', '); }); $context.find('#edit-workflow').drupalSetSummary((context) => { - const vals = []; + const values = []; $(context) .find('input[name^="options"]:checked') .next('label') .each(function () { - vals.push(Drupal.checkPlain(this.textContent)); + values.push(Drupal.checkPlain(this.textContent)); }); if (!$(context).find('#edit-options-status').is(':checked')) { - vals.unshift(Drupal.t('Not published')); + values.unshift(Drupal.t('Not published')); } - return vals.join(', '); + return values.join(', '); }); $('#edit-language', context).drupalSetSummary((context) => { - const vals = []; + const values = []; - vals.push( + values.push( $( '.js-form-item-language-configuration-langcode select option:selected', context, @@ -50,24 +50,24 @@ $('input:checked', context) .next('label') .each(function () { - vals.push(Drupal.checkPlain(this.textContent)); + values.push(Drupal.checkPlain(this.textContent)); }); - return vals.join(', '); + return values.join(', '); }); $context.find('#edit-display').drupalSetSummary((context) => { - const vals = []; + const values = []; const $editContext = $(context); $editContext .find('input:checked') .next('label') .each(function () { - vals.push(Drupal.checkPlain(this.textContent)); + values.push(Drupal.checkPlain(this.textContent)); }); if (!$editContext.find('#edit-display-submitted').is(':checked')) { - vals.unshift(Drupal.t("Don't display post information")); + values.unshift(Drupal.t("Don't display post information")); } - return vals.join(', '); + return values.join(', '); }); }, }; diff --git a/web/core/modules/node/content_types.js b/web/core/modules/node/content_types.js index e2034ebcc..c76061262 100644 --- a/web/core/modules/node/content_types.js +++ b/web/core/modules/node/content_types.js @@ -4,48 +4,43 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal) { Drupal.behaviors.contentTypes = { attach: function attach(context) { var $context = $(context); $context.find('#edit-submission').drupalSetSummary(function (context) { - var vals = []; - vals.push(Drupal.checkPlain($(context).find('#edit-title-label')[0].value) || Drupal.t('Requires a title')); - return vals.join(', '); + var values = []; + values.push(Drupal.checkPlain($(context).find('#edit-title-label')[0].value) || Drupal.t('Requires a title')); + return values.join(', '); }); $context.find('#edit-workflow').drupalSetSummary(function (context) { - var vals = []; + var values = []; $(context).find('input[name^="options"]:checked').next('label').each(function () { - vals.push(Drupal.checkPlain(this.textContent)); + values.push(Drupal.checkPlain(this.textContent)); }); - if (!$(context).find('#edit-options-status').is(':checked')) { - vals.unshift(Drupal.t('Not published')); + values.unshift(Drupal.t('Not published')); } - - return vals.join(', '); + return values.join(', '); }); $('#edit-language', context).drupalSetSummary(function (context) { - var vals = []; - vals.push($('.js-form-item-language-configuration-langcode select option:selected', context)[0].textContent); + var values = []; + values.push($('.js-form-item-language-configuration-langcode select option:selected', context)[0].textContent); $('input:checked', context).next('label').each(function () { - vals.push(Drupal.checkPlain(this.textContent)); + values.push(Drupal.checkPlain(this.textContent)); }); - return vals.join(', '); + return values.join(', '); }); $context.find('#edit-display').drupalSetSummary(function (context) { - var vals = []; + var values = []; var $editContext = $(context); $editContext.find('input:checked').next('label').each(function () { - vals.push(Drupal.checkPlain(this.textContent)); + values.push(Drupal.checkPlain(this.textContent)); }); - if (!$editContext.find('#edit-display-submitted').is(':checked')) { - vals.unshift(Drupal.t("Don't display post information")); + values.unshift(Drupal.t("Don't display post information")); } - - return vals.join(', '); + return values.join(', '); }); } }; diff --git a/web/core/modules/node/node.api.php b/web/core/modules/node/node.api.php index b0006cf8c..8b01c6632 100644 --- a/web/core/modules/node/node.api.php +++ b/web/core/modules/node/node.api.php @@ -22,11 +22,8 @@ * "realms". In hook_node_access_records(), the realms and grant IDs are * associated with permission to view, edit, and delete individual nodes. * - * The realms and grant IDs can be arbitrarily defined by your node access - * module; it is common to use role IDs as grant IDs, but that is not required. - * Your module could instead maintain its own list of users, where each list has - * an ID. In that case, the return value of this hook would be an array of the - * list IDs that this user is a member of. + * Grant IDs can be arbitrarily defined by a node access module using a list of + * integer IDs associated with users. * * A node access module may implement as many realms as necessary to properly * define the access privileges for the nodes. Note that the system makes no @@ -63,8 +60,6 @@ * sure to restore your {node_access} record after node_access_rebuild() is * called. * - * For a detailed example, see node_access_example.module. - * * @param \Drupal\Core\Session\AccountInterface $account * The account object whose grants are requested. * @param string $op @@ -147,7 +142,7 @@ function hook_node_grants(\Drupal\Core\Session\AccountInterface $account, $op) { * @param \Drupal\node\NodeInterface $node * The node that has just been saved. * - * @return + * @return array|null * An array of grants as defined above. * * @see hook_node_access_records_alter() diff --git a/web/core/modules/node/node.es6.js b/web/core/modules/node/node.es6.js index c9ed55068..74047c9ab 100644 --- a/web/core/modules/node/node.es6.js +++ b/web/core/modules/node/node.es6.js @@ -38,16 +38,16 @@ $context.find('.node-form-options').drupalSetSummary((context) => { const $optionsContext = $(context); - const vals = []; + const values = []; if ($optionsContext.find('input').is(':checked')) { $optionsContext .find('input:checked') .next('label') .each(function () { - vals.push(Drupal.checkPlain(this.textContent.trim())); + values.push(Drupal.checkPlain(this.textContent.trim())); }); - return vals.join(', '); + return values.join(', '); } return Drupal.t('Not promoted'); diff --git a/web/core/modules/node/node.js b/web/core/modules/node/node.js index a7e70ca44..f16634ec3 100644 --- a/web/core/modules/node/node.js +++ b/web/core/modules/node/node.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal, drupalSettings) { Drupal.behaviors.nodeDetailsSummaries = { attach: function attach(context) { @@ -14,20 +13,17 @@ var name = nameElement && nameElement.value; var dateElement = context.querySelector('.field--name-created input'); var date = dateElement && dateElement.value; - if (name && date) { return Drupal.t('By @name on @date', { '@name': name, '@date': date }); } - if (name) { return Drupal.t('By @name', { '@name': name }); } - if (date) { return Drupal.t('Authored on @date', { '@date': date @@ -36,15 +32,13 @@ }); $context.find('.node-form-options').drupalSetSummary(function (context) { var $optionsContext = $(context); - var vals = []; - + var values = []; if ($optionsContext.find('input').is(':checked')) { $optionsContext.find('input:checked').next('label').each(function () { - vals.push(Drupal.checkPlain(this.textContent.trim())); + values.push(Drupal.checkPlain(this.textContent.trim())); }); - return vals.join(', '); + return values.join(', '); } - return Drupal.t('Not promoted'); }); } diff --git a/web/core/modules/node/node.module b/web/core/modules/node/node.module index 7e194d91b..a09af6f03 100644 --- a/web/core/modules/node/node.module +++ b/web/core/modules/node/node.module @@ -330,7 +330,7 @@ function node_entity_extra_field_info() { * @param string $new_id * The new node type of the nodes. * - * @return + * @return int * The number of nodes whose node type field was modified. */ function node_type_update_nodes($old_id, $new_id) { @@ -554,9 +554,11 @@ function template_preprocess_node(&$variables) { // 'compact' view mode on the User entity. Note that the 'compact' // view mode might not be configured, so remember to always check the // theme setting first. - $variables['author_picture'] = \Drupal::entityTypeManager() - ->getViewBuilder('user') - ->view($node->getOwner(), 'compact'); + if ($node_owner = $node->getOwner()) { + $variables['author_picture'] = \Drupal::entityTypeManager() + ->getViewBuilder('user') + ->view($node_owner, 'compact'); + } } } } @@ -814,9 +816,6 @@ function node_form_system_themes_admin_form_submit($form, FormStateInterface $fo * Note also that access to create nodes is handled by * hook_ENTITY_TYPE_create_access(). * - * To see how to write a node access module of your own, see - * node_access_example.module. - * * @see \Drupal\node\NodeAccessControlHandler */ @@ -894,7 +893,7 @@ function node_access_grants($op, AccountInterface $account) { * (optional) The user object for the user whose access is being checked. If * omitted, the current user is used. Defaults to NULL. * - * @return + * @return bool * TRUE if 'view' access to all nodes is granted, FALSE otherwise. * * @see hook_node_grants() diff --git a/web/core/modules/node/node.preview.js b/web/core/modules/node/node.preview.js index 669dada2e..0596997fd 100644 --- a/web/core/modules/node/node.preview.js +++ b/web/core/modules/node/node.preview.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal) { Drupal.behaviors.nodePreviewDestroyLinks = { attach: function attach(context) { @@ -28,11 +27,9 @@ }).showModal(); } } - if (!context.querySelector('.node-preview-container')) { return; } - if (once('node-preview', 'html').length) { $(document).on('click.preview', 'a:not([href^="#"], .node-preview-container a)', clickPreviewModal); } @@ -48,7 +45,6 @@ Drupal.behaviors.nodePreviewSwitchViewMode = { attach: function attach(context) { var autosubmit = once('autosubmit', '[data-drupal-autosubmit]', context); - if (autosubmit.length) { $(autosubmit).on('formUpdated.preview', function () { $(this.form).trigger('submit'); @@ -56,7 +52,6 @@ } } }; - Drupal.theme.nodePreviewModal = function () { return "

                                                  ".concat(Drupal.t('Leaving the preview will cause unsaved changes to be lost. Are you sure you want to leave the preview?'), "

                                                  ").concat(Drupal.t('CTRL+Left click will prevent this dialog from showing and proceed to the clicked link.'), ""); }; diff --git a/web/core/modules/node/src/Controller/NodeController.php b/web/core/modules/node/src/Controller/NodeController.php index ed80d7ced..f5449802d 100644 --- a/web/core/modules/node/src/Controller/NodeController.php +++ b/web/core/modules/node/src/Controller/NodeController.php @@ -230,8 +230,8 @@ public function revisionOverview(NodeInterface $node) { $links['revert'] = [ 'title' => $vid < $node->getRevisionId() ? $this->t('Revert') : $this->t('Set as current revision'), 'url' => $has_translations ? - Url::fromRoute('node.revision_revert_translation_confirm', ['node' => $node->id(), 'node_revision' => $vid, 'langcode' => $langcode]) : - Url::fromRoute('node.revision_revert_confirm', ['node' => $node->id(), 'node_revision' => $vid]), + Url::fromRoute('node.revision_revert_translation_confirm', ['node' => $node->id(), 'node_revision' => $vid, 'langcode' => $langcode]) : + Url::fromRoute('node.revision_revert_confirm', ['node' => $node->id(), 'node_revision' => $vid]), ]; } diff --git a/web/core/modules/node/src/NodeGrantDatabaseStorage.php b/web/core/modules/node/src/NodeGrantDatabaseStorage.php index 4718a7c87..66ab73f69 100644 --- a/web/core/modules/node/src/NodeGrantDatabaseStorage.php +++ b/web/core/modules/node/src/NodeGrantDatabaseStorage.php @@ -256,13 +256,13 @@ public function delete() { public function writeDefault() { $this->database->insert('node_access') ->fields([ - 'nid' => 0, - 'realm' => 'all', - 'gid' => 0, - 'grant_view' => 1, - 'grant_update' => 0, - 'grant_delete' => 0, - ]) + 'nid' => 0, + 'realm' => 'all', + 'gid' => 0, + 'grant_view' => 1, + 'grant_update' => 0, + 'grant_delete' => 0, + ]) ->execute(); } diff --git a/web/core/modules/node/src/NodePermissions.php b/web/core/modules/node/src/NodePermissions.php index 2ba3502ca..c55546c04 100644 --- a/web/core/modules/node/src/NodePermissions.php +++ b/web/core/modules/node/src/NodePermissions.php @@ -43,12 +43,14 @@ protected function buildPermissions(NodeType $type) { ], "edit own $type_id content" => [ 'title' => $this->t('%type_name: Edit own content', $type_params), + 'description' => $this->t('Note that anonymous users with this permission are able to edit any content created by any anonymous user.'), ], "edit any $type_id content" => [ 'title' => $this->t('%type_name: Edit any content', $type_params), ], "delete own $type_id content" => [ 'title' => $this->t('%type_name: Delete own content', $type_params), + 'description' => $this->t('Note that anonymous users with this permission are able to delete any content created by any anonymous user.'), ], "delete any $type_id content" => [ 'title' => $this->t('%type_name: Delete any content', $type_params), diff --git a/web/core/modules/node/src/NodeTypeListBuilder.php b/web/core/modules/node/src/NodeTypeListBuilder.php index 870729891..c99f3a545 100644 --- a/web/core/modules/node/src/NodeTypeListBuilder.php +++ b/web/core/modules/node/src/NodeTypeListBuilder.php @@ -56,8 +56,8 @@ public function getDefaultOperations(EntityInterface $entity) { public function render() { $build = parent::render(); $build['table']['#empty'] = $this->t('No content types available. Add content type.', [ - ':link' => Url::fromRoute('node.type_add')->toString(), - ]); + ':link' => Url::fromRoute('node.type_add')->toString(), + ]); return $build; } diff --git a/web/core/modules/node/src/NodeViewsData.php b/web/core/modules/node/src/NodeViewsData.php index e47dc03d8..2f3a83727 100644 --- a/web/core/modules/node/src/NodeViewsData.php +++ b/web/core/modules/node/src/NodeViewsData.php @@ -27,13 +27,10 @@ public function getViewsData() { ]; $data['node_field_data']['title']['field']['default_formatter_settings'] = ['link_to_entity' => TRUE]; - $data['node_field_data']['title']['field']['link_to_node default'] = TRUE; $data['node_field_data']['type']['argument']['id'] = 'node_type'; - $data['node_field_data']['langcode']['help'] = $this->t('The language of the content or translation.'); - $data['node_field_data']['status']['filter']['label'] = $this->t('Published status'); $data['node_field_data']['status']['filter']['type'] = 'yes-no'; // Use status = 1 instead of status <> 0 in WHERE statement. diff --git a/web/core/modules/node/src/Plugin/Action/AssignOwnerNode.php b/web/core/modules/node/src/Plugin/Action/AssignOwnerNode.php index ae9a7402b..287dcb018 100644 --- a/web/core/modules/node/src/Plugin/Action/AssignOwnerNode.php +++ b/web/core/modules/node/src/Plugin/Action/AssignOwnerNode.php @@ -76,7 +76,7 @@ public function defaultConfiguration() { * {@inheritdoc} */ public function buildConfigurationForm(array $form, FormStateInterface $form_state) { - $description = t('The username of the user to which you would like to assign ownership.'); + $description = $this->t('The username of the user to which you would like to assign ownership.'); $count = $this->connection->query("SELECT COUNT(*) FROM {users}")->fetchField(); // Use dropdown for fewer than 200 users; textbox for more than that. @@ -88,7 +88,7 @@ public function buildConfigurationForm(array $form, FormStateInterface $form_sta } $form['owner_uid'] = [ '#type' => 'select', - '#title' => t('Username'), + '#title' => $this->t('Username'), '#default_value' => $this->configuration['owner_uid'], '#options' => $options, '#description' => $description, @@ -97,7 +97,7 @@ public function buildConfigurationForm(array $form, FormStateInterface $form_sta else { $form['owner_uid'] = [ '#type' => 'entity_autocomplete', - '#title' => t('Username'), + '#title' => $this->t('Username'), '#target_type' => 'user', '#selection_settings' => [ 'include_anonymous' => FALSE, @@ -119,7 +119,7 @@ public function buildConfigurationForm(array $form, FormStateInterface $form_sta public function validateConfigurationForm(array &$form, FormStateInterface $form_state) { $exists = (bool) $this->connection->queryRange('SELECT 1 FROM {users_field_data} WHERE [uid] = :uid AND [default_langcode] = 1', 0, 1, [':uid' => $form_state->getValue('owner_uid')])->fetchField(); if (!$exists) { - $form_state->setErrorByName('owner_uid', t('Enter a valid username.')); + $form_state->setErrorByName('owner_uid', $this->t('Enter a valid username.')); } } diff --git a/web/core/modules/node/src/Plugin/Action/UnpublishByKeywordNode.php b/web/core/modules/node/src/Plugin/Action/UnpublishByKeywordNode.php index 94abf8b63..42f344d52 100644 --- a/web/core/modules/node/src/Plugin/Action/UnpublishByKeywordNode.php +++ b/web/core/modules/node/src/Plugin/Action/UnpublishByKeywordNode.php @@ -49,9 +49,9 @@ public function defaultConfiguration() { */ public function buildConfigurationForm(array $form, FormStateInterface $form_state) { $form['keywords'] = [ - '#title' => t('Keywords'), + '#title' => $this->t('Keywords'), '#type' => 'textarea', - '#description' => t('The content will be unpublished if it contains any of the phrases above. Use a case-sensitive, comma-separated list of phrases. Example: funny, bungee jumping, "Company, Inc."'), + '#description' => $this->t('The content will be unpublished if it contains any of the phrases above. Use a case-sensitive, comma-separated list of phrases. Example: funny, bungee jumping, "Company, Inc."'), '#default_value' => Tags::implode($this->configuration['keywords']), ]; return $form; diff --git a/web/core/modules/node/src/Plugin/Block/SyndicateBlock.php b/web/core/modules/node/src/Plugin/Block/SyndicateBlock.php index 118021f9e..90af1d54b 100644 --- a/web/core/modules/node/src/Plugin/Block/SyndicateBlock.php +++ b/web/core/modules/node/src/Plugin/Block/SyndicateBlock.php @@ -78,7 +78,7 @@ protected function blockAccess(AccountInterface $account) { * {@inheritdoc} */ public function build() { - $title = $this->configFactory->get('system.site')->get('name'); + $title = $this->configuration['label']; return [ '#theme' => 'feed_icon', '#url' => Url::fromUri('internal:/rss.xml'), diff --git a/web/core/modules/node/src/Plugin/Search/NodeSearch.php b/web/core/modules/node/src/Plugin/Search/NodeSearch.php index 0342c5f01..1f6e16653 100644 --- a/web/core/modules/node/src/Plugin/Search/NodeSearch.php +++ b/web/core/modules/node/src/Plugin/Search/NodeSearch.php @@ -584,14 +584,14 @@ public function searchFormAlter(array &$form, FormStateInterface $form_state) { // Add advanced search keyword-related boxes. $form['advanced'] = [ '#type' => 'details', - '#title' => t('Advanced search'), + '#title' => $this->t('Advanced search'), '#attributes' => ['class' => ['search-advanced']], '#access' => $this->account && $this->account->hasPermission('use advanced search'), '#open' => $used_advanced, ]; $form['advanced']['keywords-fieldset'] = [ '#type' => 'fieldset', - '#title' => t('Keywords'), + '#title' => $this->t('Keywords'), ]; $form['advanced']['keywords'] = [ @@ -601,7 +601,7 @@ public function searchFormAlter(array &$form, FormStateInterface $form_state) { $form['advanced']['keywords-fieldset']['keywords']['or'] = [ '#type' => 'textfield', - '#title' => t('Containing any of the words'), + '#title' => $this->t('Containing any of the words'), '#size' => 30, '#maxlength' => 255, '#default_value' => $defaults['or'] ?? '', @@ -609,7 +609,7 @@ public function searchFormAlter(array &$form, FormStateInterface $form_state) { $form['advanced']['keywords-fieldset']['keywords']['phrase'] = [ '#type' => 'textfield', - '#title' => t('Containing the phrase'), + '#title' => $this->t('Containing the phrase'), '#size' => 30, '#maxlength' => 255, '#default_value' => $defaults['phrase'] ?? '', @@ -617,7 +617,7 @@ public function searchFormAlter(array &$form, FormStateInterface $form_state) { $form['advanced']['keywords-fieldset']['keywords']['negative'] = [ '#type' => 'textfield', - '#title' => t('Containing none of the words'), + '#title' => $this->t('Containing none of the words'), '#size' => 30, '#maxlength' => 255, '#default_value' => $defaults['negative'] ?? '', @@ -627,11 +627,11 @@ public function searchFormAlter(array &$form, FormStateInterface $form_state) { $types = array_map(['\Drupal\Component\Utility\Html', 'escape'], node_type_get_names()); $form['advanced']['types-fieldset'] = [ '#type' => 'fieldset', - '#title' => t('Types'), + '#title' => $this->t('Types'), ]; $form['advanced']['types-fieldset']['type'] = [ '#type' => 'checkboxes', - '#title' => t('Only of the type(s)'), + '#title' => $this->t('Only of the type(s)'), '#prefix' => '
                                                  ', '#suffix' => '
                                                  ', '#options' => $types, @@ -640,7 +640,7 @@ public function searchFormAlter(array &$form, FormStateInterface $form_state) { $form['advanced']['submit'] = [ '#type' => 'submit', - '#value' => t('Advanced search'), + '#value' => $this->t('Advanced search'), '#prefix' => '
                                                  ', '#suffix' => '
                                                  ', '#weight' => 100, @@ -651,16 +651,16 @@ public function searchFormAlter(array &$form, FormStateInterface $form_state) { $language_list = $this->languageManager->getLanguages(LanguageInterface::STATE_ALL); foreach ($language_list as $langcode => $language) { // Make locked languages appear special in the list. - $language_options[$langcode] = $language->isLocked() ? t('- @name -', ['@name' => $language->getName()]) : $language->getName(); + $language_options[$langcode] = $language->isLocked() ? $this->t('- @name -', ['@name' => $language->getName()]) : $language->getName(); } if (count($language_options) > 1) { $form['advanced']['lang-fieldset'] = [ '#type' => 'fieldset', - '#title' => t('Languages'), + '#title' => $this->t('Languages'), ]; $form['advanced']['lang-fieldset']['language'] = [ '#type' => 'checkboxes', - '#title' => t('Languages'), + '#title' => $this->t('Languages'), '#prefix' => '
                                                  ', '#suffix' => '
                                                  ', '#options' => $language_options, @@ -823,7 +823,7 @@ public function buildConfigurationForm(array $form, FormStateInterface $form_sta // Output form for defining rank factor weights. $form['content_ranking'] = [ '#type' => 'details', - '#title' => t('Content ranking'), + '#title' => $this->t('Content ranking'), '#open' => TRUE, ]; $form['content_ranking']['info'] = [ diff --git a/web/core/modules/node/src/Plugin/migrate/D6NodeDeriver.php b/web/core/modules/node/src/Plugin/migrate/D6NodeDeriver.php index a8fa1d0bb..b5fdc54a9 100644 --- a/web/core/modules/node/src/Plugin/migrate/D6NodeDeriver.php +++ b/web/core/modules/node/src/Plugin/migrate/D6NodeDeriver.php @@ -5,6 +5,7 @@ use Drupal\Component\Plugin\Derivative\DeriverBase; use Drupal\Core\Database\DatabaseExceptionWrapper; use Drupal\Core\Plugin\Discovery\ContainerDeriverInterface; +use Drupal\Core\StringTranslation\StringTranslationTrait; use Drupal\migrate\Exception\RequirementsException; use Drupal\migrate\Plugin\MigrationDeriverTrait; use Drupal\migrate_drupal\FieldDiscoveryInterface; @@ -15,6 +16,7 @@ */ class D6NodeDeriver extends DeriverBase implements ContainerDeriverInterface { use MigrationDeriverTrait; + use StringTranslationTrait; /** * The base plugin ID this derivative is for. @@ -89,7 +91,7 @@ public function getDerivativeDefinitions($base_plugin_definition) { $node_type = $row->getSourceProperty('type'); $values = $base_plugin_definition; - $values['label'] = t("@label (@type)", [ + $values['label'] = $this->t("@label (@type)", [ '@label' => $values['label'], '@type' => $node_type, ]); diff --git a/web/core/modules/node/src/Plugin/migrate/D7NodeDeriver.php b/web/core/modules/node/src/Plugin/migrate/D7NodeDeriver.php index 380aab81e..59b071413 100644 --- a/web/core/modules/node/src/Plugin/migrate/D7NodeDeriver.php +++ b/web/core/modules/node/src/Plugin/migrate/D7NodeDeriver.php @@ -5,6 +5,7 @@ use Drupal\Component\Plugin\Derivative\DeriverBase; use Drupal\Core\Database\DatabaseExceptionWrapper; use Drupal\Core\Plugin\Discovery\ContainerDeriverInterface; +use Drupal\Core\StringTranslation\StringTranslationTrait; use Drupal\migrate\Exception\RequirementsException; use Drupal\migrate\Plugin\MigrationDeriverTrait; use Drupal\migrate_drupal\FieldDiscoveryInterface; @@ -15,6 +16,7 @@ */ class D7NodeDeriver extends DeriverBase implements ContainerDeriverInterface { use MigrationDeriverTrait; + use StringTranslationTrait; /** * The base plugin ID this derivative is for. @@ -89,7 +91,7 @@ public function getDerivativeDefinitions($base_plugin_definition) { $node_type = $row->getSourceProperty('type'); $values = $base_plugin_definition; - $values['label'] = t('@label (@type)', [ + $values['label'] = $this->t('@label (@type)', [ '@label' => $values['label'], '@type' => $row->getSourceProperty('name'), ]); diff --git a/web/core/modules/node/src/Plugin/migrate/source/d6/Node.php b/web/core/modules/node/src/Plugin/migrate/source/d6/Node.php index a1a316642..e3f5a9b0e 100644 --- a/web/core/modules/node/src/Plugin/migrate/source/d6/Node.php +++ b/web/core/modules/node/src/Plugin/migrate/source/d6/Node.php @@ -107,19 +107,19 @@ public function query() { $this->handleTranslations($query); $query->fields('n', [ - 'nid', - 'type', - 'language', - 'status', - 'created', - 'changed', - 'comment', - 'promote', - 'moderate', - 'sticky', - 'tnid', - 'translate', - ]) + 'nid', + 'type', + 'language', + 'status', + 'created', + 'changed', + 'comment', + 'promote', + 'moderate', + 'sticky', + 'tnid', + 'translate', + ]) ->fields('nr', [ 'title', 'body', diff --git a/web/core/modules/node/src/Plugin/migrate/source/d6/NodeRevision.php b/web/core/modules/node/src/Plugin/migrate/source/d6/NodeRevision.php index a3420165e..810c157b5 100644 --- a/web/core/modules/node/src/Plugin/migrate/source/d6/NodeRevision.php +++ b/web/core/modules/node/src/Plugin/migrate/source/d6/NodeRevision.php @@ -30,7 +30,7 @@ class NodeRevision extends Node { public function fields() { // Use all the node fields plus the vid that identifies the version. return parent::fields() + [ - 'vid' => t('The primary identifier for this version.'), + 'vid' => $this->t('The primary identifier for this version.'), 'log' => $this->t('Revision Log message'), 'timestamp' => $this->t('Revision timestamp'), ]; diff --git a/web/core/modules/node/src/Plugin/migrate/source/d7/NodeRevision.php b/web/core/modules/node/src/Plugin/migrate/source/d7/NodeRevision.php index 1b13b7bbf..5be6ac3b3 100644 --- a/web/core/modules/node/src/Plugin/migrate/source/d7/NodeRevision.php +++ b/web/core/modules/node/src/Plugin/migrate/source/d7/NodeRevision.php @@ -28,7 +28,7 @@ class NodeRevision extends Node { public function fields() { // Use all the node fields plus the vid that identifies the version. return parent::fields() + [ - 'vid' => t('The primary identifier for this version.'), + 'vid' => $this->t('The primary identifier for this version.'), 'log' => $this->t('Revision Log message'), 'timestamp' => $this->t('Revision timestamp'), ]; diff --git a/web/core/modules/node/src/Plugin/views/argument/Type.php b/web/core/modules/node/src/Plugin/views/argument/Type.php index 135e3952c..625aef6ab 100644 --- a/web/core/modules/node/src/Plugin/views/argument/Type.php +++ b/web/core/modules/node/src/Plugin/views/argument/Type.php @@ -52,16 +52,14 @@ public static function create(ContainerInterface $container, array $configuratio } /** - * Override the behavior of summaryName(). Get the user friendly version - * of the node type. + * {@inheritdoc} */ public function summaryName($data) { return $this->node_type($data->{$this->name_alias}); } /** - * Override the behavior of title(). Get the user friendly version of the - * node type. + * {@inheritdoc} */ public function title() { return $this->node_type($this->argument); diff --git a/web/core/modules/node/src/Plugin/views/field/Node.php b/web/core/modules/node/src/Plugin/views/field/Node.php index f81777e42..94cb1a244 100644 --- a/web/core/modules/node/src/Plugin/views/field/Node.php +++ b/web/core/modules/node/src/Plugin/views/field/Node.php @@ -11,8 +11,10 @@ /** * Field handler to provide simple renderer that allows linking to a node. + * * Definition terms: - * - link_to_node default: Should this field have the checkbox "link to node" enabled by default. + * - link_to_node default: Should this field have the checkbox "link to node" + * enabled by default. * * @ingroup views_field_handlers * diff --git a/web/core/modules/node/src/Plugin/views/row/Rss.php b/web/core/modules/node/src/Plugin/views/row/Rss.php index 2d2dbaa00..b20cfde77 100644 --- a/web/core/modules/node/src/Plugin/views/row/Rss.php +++ b/web/core/modules/node/src/Plugin/views/row/Rss.php @@ -120,15 +120,6 @@ public function render($row) { if (!empty($node->rss_namespaces)) { $this->view->style_plugin->namespaces = array_merge($this->view->style_plugin->namespaces, $node->rss_namespaces); } - elseif (function_exists('rdf_get_namespaces')) { - // Merge RDF namespaces in the XML namespaces in case they are used - // further in the RSS content. - $xml_rdf_namespaces = []; - foreach (rdf_get_namespaces() as $prefix => $uri) { - $xml_rdf_namespaces['xmlns:' . $prefix] = $uri; - } - $this->view->style_plugin->namespaces += $xml_rdf_namespaces; - } $item = new \stdClass(); if ($display_mode != 'title') { diff --git a/web/core/modules/node/tests/modules/node_access_test_language/node_access_test_language.info.yml b/web/core/modules/node/tests/modules/node_access_test_language/node_access_test_language.info.yml index 29daa2216..a827774b6 100644 --- a/web/core/modules/node/tests/modules/node_access_test_language/node_access_test_language.info.yml +++ b/web/core/modules/node/tests/modules/node_access_test_language/node_access_test_language.info.yml @@ -4,4 +4,4 @@ description: 'Support module for language-aware node access testing.' package: Testing version: VERSION dependencies: -- drupal:options + - drupal:options diff --git a/web/core/modules/node/tests/modules/node_display_configurable_test/config/install/rdf.mapping.node.page.yml b/web/core/modules/node/tests/modules/node_display_configurable_test/config/install/rdf.mapping.node.page.yml deleted file mode 100644 index dd6535c30..000000000 --- a/web/core/modules/node/tests/modules/node_display_configurable_test/config/install/rdf.mapping.node.page.yml +++ /dev/null @@ -1,40 +0,0 @@ -langcode: en -status: true -dependencies: - config: - - node.type.page - module: - - node -id: node.page -targetEntityType: node -bundle: page -types: - - 'schema:WebPage' -fieldMappings: - title: - properties: - - 'schema:name' - created: - properties: - - 'schema:dateCreated' - datatype_callback: - callable: 'Drupal\rdf\CommonDataConverter::dateIso8601Value' - changed: - properties: - - 'schema:dateModified' - datatype_callback: - callable: 'Drupal\rdf\CommonDataConverter::dateIso8601Value' - body: - properties: - - 'schema:text' - uid: - properties: - - 'schema:author' - mapping_type: rel - comment_count: - properties: - - 'schema:interactionCount' - datatype_callback: - callable: 'Drupal\rdf\SchemaOrgDataConverter::interactionCount' - arguments: - interaction_type: UserComments diff --git a/web/core/modules/node/tests/modules/node_display_configurable_test/node_display_configurable_test.info.yml b/web/core/modules/node/tests/modules/node_display_configurable_test/node_display_configurable_test.info.yml deleted file mode 100644 index 3ad5d2158..000000000 --- a/web/core/modules/node/tests/modules/node_display_configurable_test/node_display_configurable_test.info.yml +++ /dev/null @@ -1,5 +0,0 @@ -name: 'Node configurable display module tests' -type: module -description: 'Support module for node \Drupal\Core\Field\BaseFieldDefinition::setDisplayConfigurable() testing.' -package: Testing -version: VERSION diff --git a/web/core/modules/node/tests/modules/node_display_configurable_test/node_display_configurable_test.module b/web/core/modules/node/tests/modules/node_display_configurable_test/node_display_configurable_test.module deleted file mode 100644 index df645c8b8..000000000 --- a/web/core/modules/node/tests/modules/node_display_configurable_test/node_display_configurable_test.module +++ /dev/null @@ -1,29 +0,0 @@ -id() == 'node') { - foreach (['created', 'uid', 'title'] as $field) { - /** @var \Drupal\Core\Field\BaseFieldDefinition[] $base_field_definitions */ - $base_field_definitions[$field]->setDisplayConfigurable('view', TRUE); - } - } -} - -/** - * Implements hook_entity_type_build(). - */ -function node_display_configurable_test_entity_type_build(array &$entity_types) { - // Allow skipping of extra preprocessing for configurable display. - $entity_types['node']->set('enable_base_field_custom_preprocess_skipping', TRUE); - $entity_types['node']->set('enable_page_title_template', TRUE); -} diff --git a/web/core/modules/node/tests/src/Functional/NodeAccessBaseTableTest.php b/web/core/modules/node/tests/src/Functional/NodeAccessBaseTableTest.php index ac042c114..8081babaf 100644 --- a/web/core/modules/node/tests/src/Functional/NodeAccessBaseTableTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeAccessBaseTableTest.php @@ -2,7 +2,11 @@ namespace Drupal\Tests\node\Functional; +use Drupal\Core\Field\FieldStorageDefinitionInterface; +use Drupal\Core\Language\LanguageInterface; use Drupal\node\Entity\NodeType; +use Drupal\taxonomy\Entity\Vocabulary; +use Drupal\Tests\field\Traits\EntityReferenceTestTrait; /** * Tests behavior of the node access subsystem if the base table is not node. @@ -11,27 +15,25 @@ */ class NodeAccessBaseTableTest extends NodeTestBase { + use EntityReferenceTestTrait; + /** * Modules to enable. * * @var array */ - protected static $modules = ['node_access_test', 'views']; + protected static $modules = [ + 'node_access_test', + 'views', + 'taxonomy', + 'search', + ]; /** * {@inheritdoc} */ protected $defaultTheme = 'stark'; - /** - * The installation profile to use with this test. - * - * This test class requires the "tags" taxonomy field. - * - * @var string - */ - protected $profile = 'standard'; - /** * Nodes by user. * @@ -65,9 +67,39 @@ class NodeAccessBaseTableTest extends NodeTestBase { */ protected $nidsVisible; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); + // Create the vocabulary for the tag field. + $vocabulary = Vocabulary::create([ + 'name' => 'Tags', + 'vid' => 'tags', + 'langcode' => LanguageInterface::LANGCODE_NOT_SPECIFIED, + ]); + $vocabulary->save(); + $field_name = 'field_' . $vocabulary->id(); + + $handler_settings = [ + 'target_bundles' => [ + $vocabulary->id() => $vocabulary->id(), + ], + 'auto_create' => TRUE, + ]; + + $this->createEntityReferenceField('node', 'article', $field_name, 'Tags', 'taxonomy_term', 'default', $handler_settings, FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED); + $entity_type_manager = $this->container->get('entity_type.manager'); + $entity_type_manager + ->getStorage('entity_form_display') + ->load('node.article.default') + ->setComponent($field_name, [ + 'type' => 'entity_reference_autocomplete_tags', + 'weight' => -4, + ]) + ->save(); + node_access_test_add_field(NodeType::load('article')); node_access_rebuild(); diff --git a/web/core/modules/node/tests/src/Functional/NodeAccessFieldTest.php b/web/core/modules/node/tests/src/Functional/NodeAccessFieldTest.php index 08c567448..51a94a1ca 100644 --- a/web/core/modules/node/tests/src/Functional/NodeAccessFieldTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeAccessFieldTest.php @@ -45,6 +45,9 @@ class NodeAccessFieldTest extends NodeTestBase { */ protected $fieldName; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/node/tests/src/Functional/NodeAccessMenuLinkTest.php b/web/core/modules/node/tests/src/Functional/NodeAccessMenuLinkTest.php index d003f0651..7650968e9 100644 --- a/web/core/modules/node/tests/src/Functional/NodeAccessMenuLinkTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeAccessMenuLinkTest.php @@ -30,6 +30,9 @@ class NodeAccessMenuLinkTest extends NodeTestBase { */ protected $contentAdminUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/node/tests/src/Functional/NodeAccessPagerTest.php b/web/core/modules/node/tests/src/Functional/NodeAccessPagerTest.php index 771edbd80..b260f51e9 100644 --- a/web/core/modules/node/tests/src/Functional/NodeAccessPagerTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeAccessPagerTest.php @@ -35,6 +35,9 @@ class NodeAccessPagerTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/node/tests/src/Functional/NodeAccessRebuildNodeGrantsTest.php b/web/core/modules/node/tests/src/Functional/NodeAccessRebuildNodeGrantsTest.php index 31fee1ccd..50e5e62eb 100644 --- a/web/core/modules/node/tests/src/Functional/NodeAccessRebuildNodeGrantsTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeAccessRebuildNodeGrantsTest.php @@ -5,8 +5,7 @@ use Drupal\node\Entity\NodeType; /** - * Ensures that node access rebuild functions work correctly even - * when other modules implements hook_node_grants(). + * Tests node access rebuild functions with multiple node access modules. * * @group node */ diff --git a/web/core/modules/node/tests/src/Functional/NodeAdminTest.php b/web/core/modules/node/tests/src/Functional/NodeAdminTest.php index c5719eb9a..6b01df12a 100644 --- a/web/core/modules/node/tests/src/Functional/NodeAdminTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeAdminTest.php @@ -52,6 +52,9 @@ class NodeAdminTest extends NodeTestBase { */ protected static $modules = ['views']; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/node/tests/src/Functional/NodeBlockFunctionalTest.php b/web/core/modules/node/tests/src/Functional/NodeBlockFunctionalTest.php index 3fa78eb20..7ace0d500 100644 --- a/web/core/modules/node/tests/src/Functional/NodeBlockFunctionalTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeBlockFunctionalTest.php @@ -44,6 +44,9 @@ class NodeBlockFunctionalTest extends NodeTestBase { */ protected static $modules = ['block', 'views', 'node_block_test']; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/node/tests/src/Functional/NodeCreationTest.php b/web/core/modules/node/tests/src/Functional/NodeCreationTest.php index 2cbb0fd3c..fd041cb9b 100644 --- a/web/core/modules/node/tests/src/Functional/NodeCreationTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeCreationTest.php @@ -35,6 +35,9 @@ class NodeCreationTest extends NodeTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/node/tests/src/Functional/NodeDisplayConfigurableTest.php b/web/core/modules/node/tests/src/Functional/NodeDisplayConfigurableTest.php deleted file mode 100644 index f80a51866..000000000 --- a/web/core/modules/node/tests/src/Functional/NodeDisplayConfigurableTest.php +++ /dev/null @@ -1,182 +0,0 @@ -getProvidedData(); - $theme = reset($data); - \Drupal::service('theme_installer')->install([$theme]); - $this->config('system.theme')->set('default', $theme)->save(); - $settings = [ - 'theme' => $theme, - 'region' => 'content', - 'weight' => -100, - ]; - $this->drupalPlaceBlock('page_title_block', $settings); - } - - /** - * Sets base fields to configurable display and check settings are respected. - * - * @param string $theme - * The name of the theme being tested. - * @param string $metadata_region - * The region of the node html content where meta data is expected. - * @param bool $field_classes - * If TRUE, check for field--name-XXX classes. - * - * @dataProvider provideThemes - */ - public function testDisplayConfigurable(string $theme, string $metadata_region, bool $field_classes) { - // Change the node type setting to show submitted by information. - $node_type = \Drupal::entityTypeManager()->getStorage('node_type')->load('page'); - $node_type->setDisplaySubmitted(TRUE); - $node_type->save(); - - $user = $this->drupalCreateUser([ - 'administer nodes', - ], $this->randomMachineName(14)); - $this->drupalLogin($user); - $node = $this->drupalCreateNode(['uid' => $user->id()]); - $assert = $this->assertSession(); - - // Check the node with Drupal default non-configurable display. - $this->drupalGet($node->toUrl()); - $this->assertNodeHtml($node, $user, TRUE, $metadata_region, $field_classes, $field_classes); - - // Enable module to make base fields' displays configurable. - \Drupal::service('module_installer')->install(['node_display_configurable_test']); - - // Configure display. - $display = EntityViewDisplay::load('node.page.default'); - $display->setComponent('uid', - [ - 'type' => 'entity_reference_label', - 'label' => 'above', - 'settings' => ['link' => FALSE], - ]) - ->removeComponent('title') - ->save(); - - // Recheck the node with configurable display. - $this->drupalGet($node->toUrl()); - - $this->assertNodeHtml($node, $user, FALSE, $metadata_region, $field_classes, FALSE); - - $assert->elementExists('css', 'div[rel="schema:author"]'); - - // Remove from display. - $display->removeComponent('uid') - ->removeComponent('created') - ->save(); - - $this->drupalGet($node->toUrl()); - $assert->elementNotExists('css', 'div[rel="schema:author"]'); - $assert->elementTextNotContains('css', 'article', $user->getAccountName()); - } - - /** - * Asserts that the node HTML is as expected. - * - * @param \Drupal\node\NodeInterface $node - * The node being tested. - * @param \Drupal\user\UserInterface $user - * The logged in user. - * @param bool $is_inline - * Whether the fields are rendered inline or not. - * @param string $metadata_region - * The region of the node html content where meta data is expected. - * @param bool $field_classes - * If TRUE, check for field--name-XXX classes on created/uid fields. - * @param bool $title_classes - * If TRUE, check for field--name-XXX classes on title field. - * - * @internal - */ - protected function assertNodeHtml(NodeInterface $node, UserInterface $user, bool $is_inline, string $metadata_region, bool $field_classes, bool $title_classes): void { - $assert = $this->assertSession(); - - $html_element = $is_inline ? 'span' : 'div'; - $title_selector = 'h1 span' . ($title_classes ? '.field--name-title' : ''); - $assert->elementTextContains('css', $title_selector, $node->getTitle()); - - // With field classes, the selector can be very specific. - if ($field_classes) { - $created_selector = 'article ' . $html_element . '.field--name-created'; - $assert->elementTextContains('css', $created_selector, \Drupal::service('date.formatter')->format($node->getCreatedTime())); - } - else { - // When field classes aren't available, use HTML elements for testing. - $formatted_time = \Drupal::service('date.formatter')->format($node->getCreatedTime()); - if ($is_inline) { - $created_selector = sprintf('//article//%s//%s[text()="%s"]', $metadata_region, $html_element, $formatted_time); - } - else { - $created_selector = sprintf('//article//%s[text()="%s"]', $html_element, $formatted_time); - } - $assert->elementExists('xpath', $created_selector); - } - - $uid_selector = 'article ' . $html_element . ($field_classes ? '.field--name-uid' : ''); - if (!$is_inline) { - $field_classes_selector = $field_classes ? "[contains(concat(' ', normalize-space(@class), ' '), ' field--name-uid ')]" : ''; - $assert->elementExists('xpath', sprintf('//article//%s//*%s//%s[text()="Authored by"]', $html_element, $field_classes_selector, $html_element)); - $assert->elementTextContains('css', "$uid_selector $html_element" . '[rel="schema:author"]', $user->getAccountName()); - $assert->elementNotExists('css', "$uid_selector a"); - $assert->elementExists('css', 'span[property="schema:dateCreated"]'); - } - else { - $assert->elementTextContains('css', $uid_selector . ' a[property="schema:name"]', $user->getAccountName()); - $assert->elementTextContains('css', 'article ' . $metadata_region, 'Submitted by'); - } - } - - /** - * Data provider for ::testDisplayConfigurable(). - * - * @return array - */ - public function provideThemes() { - return [ - ['bartik', 'header', TRUE], - ['claro', 'footer', TRUE], - // @todo Remove Classy from data provider in - // https://www.drupal.org/project/drupal/issues/3110137. - ['classy', 'footer', TRUE], - // @todo Add coverage for olivero after fixing - // https://www.drupal.org/project/drupal/issues/3215220. - // ['olivero', 'footer', TRUE], - ['seven', 'footer', TRUE], - ['stable', 'footer', FALSE], - ['stable9', 'footer', FALSE], - ]; - } - -} diff --git a/web/core/modules/node/tests/src/Functional/NodeEditFormTest.php b/web/core/modules/node/tests/src/Functional/NodeEditFormTest.php index 73311dbe7..1601f9deb 100644 --- a/web/core/modules/node/tests/src/Functional/NodeEditFormTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeEditFormTest.php @@ -45,6 +45,9 @@ class NodeEditFormTest extends NodeTestBase { */ protected static $modules = ['block', 'node', 'datetime']; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/node/tests/src/Functional/NodeFieldMultilingualTest.php b/web/core/modules/node/tests/src/Functional/NodeFieldMultilingualTest.php index 8683c4c16..55ac77fda 100644 --- a/web/core/modules/node/tests/src/Functional/NodeFieldMultilingualTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeFieldMultilingualTest.php @@ -27,6 +27,9 @@ class NodeFieldMultilingualTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/node/tests/src/Functional/NodePostSettingsTest.php b/web/core/modules/node/tests/src/Functional/NodePostSettingsTest.php index a9a670d62..ba22129b3 100644 --- a/web/core/modules/node/tests/src/Functional/NodePostSettingsTest.php +++ b/web/core/modules/node/tests/src/Functional/NodePostSettingsTest.php @@ -3,8 +3,7 @@ namespace Drupal\Tests\node\Functional; /** - * Tests that the post information (submitted by Username on date) text displays - * appropriately. + * Tests the node setting for displaying author and date information. * * @group node */ @@ -15,6 +14,9 @@ class NodePostSettingsTest extends NodeTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/node/tests/src/Functional/NodeQueryAlterTest.php b/web/core/modules/node/tests/src/Functional/NodeQueryAlterTest.php index 3619afcc5..ef82a0b7b 100644 --- a/web/core/modules/node/tests/src/Functional/NodeQueryAlterTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeQueryAlterTest.php @@ -40,6 +40,9 @@ class NodeQueryAlterTest extends NodeTestBase { */ protected $noAccessUser2; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/node/tests/src/Functional/NodeRSSContentTest.php b/web/core/modules/node/tests/src/Functional/NodeRSSContentTest.php index a7a1ad4e8..6d77f2ac9 100644 --- a/web/core/modules/node/tests/src/Functional/NodeRSSContentTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeRSSContentTest.php @@ -27,6 +27,9 @@ class NodeRSSContentTest extends NodeTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/node/tests/src/Functional/NodeRevisionPermissionsTest.php b/web/core/modules/node/tests/src/Functional/NodeRevisionPermissionsTest.php index 18f7b761b..1dcc16c94 100644 --- a/web/core/modules/node/tests/src/Functional/NodeRevisionPermissionsTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeRevisionPermissionsTest.php @@ -55,6 +55,9 @@ class NodeRevisionPermissionsTest extends NodeTestBase { 'delete' => 'delete page revisions', ]; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/node/tests/src/Functional/NodeRevisionsAllTest.php b/web/core/modules/node/tests/src/Functional/NodeRevisionsAllTest.php index 151bff2e0..eb8072343 100644 --- a/web/core/modules/node/tests/src/Functional/NodeRevisionsAllTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeRevisionsAllTest.php @@ -6,8 +6,7 @@ use Drupal\node\NodeInterface; /** - * Create a node with revisions and test viewing, saving, reverting, and - * deleting revisions for user with access to all. + * Tests global node CRUD operation permissions. * * @group node */ @@ -21,7 +20,7 @@ class NodeRevisionsAllTest extends NodeTestBase { /** * A list of nodes created to be used as starting point of different tests. * - * @var Drupal\node\NodeInterface[] + * @var \Drupal\node\NodeInterface[] */ protected $nodes; diff --git a/web/core/modules/node/tests/src/Functional/NodeRevisionsTest.php b/web/core/modules/node/tests/src/Functional/NodeRevisionsTest.php index f22cc6691..8bda0c21b 100644 --- a/web/core/modules/node/tests/src/Functional/NodeRevisionsTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeRevisionsTest.php @@ -12,8 +12,7 @@ use Drupal\Component\Serialization\Json; /** - * Create a node with revisions and test viewing, saving, reverting, and - * deleting revisions for users with access for this content type. + * Tests per-content-type node CRUD operation permissions. * * @group node */ diff --git a/web/core/modules/node/tests/src/Functional/NodeSaveTest.php b/web/core/modules/node/tests/src/Functional/NodeSaveTest.php index 8377b2205..dd1060d0f 100644 --- a/web/core/modules/node/tests/src/Functional/NodeSaveTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeSaveTest.php @@ -30,6 +30,9 @@ class NodeSaveTest extends NodeTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/node/tests/src/Functional/NodeSyndicateBlockTest.php b/web/core/modules/node/tests/src/Functional/NodeSyndicateBlockTest.php index 18430e79b..e2fc7a213 100644 --- a/web/core/modules/node/tests/src/Functional/NodeSyndicateBlockTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeSyndicateBlockTest.php @@ -21,6 +21,9 @@ class NodeSyndicateBlockTest extends NodeTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -34,12 +37,12 @@ protected function setUp(): void { */ public function testSyndicateBlock() { // Place the "Syndicate" block and confirm that it is rendered. - $this->drupalPlaceBlock('node_syndicate_block', ['id' => 'test_syndicate_block']); + $this->drupalPlaceBlock('node_syndicate_block', ['id' => 'test_syndicate_block', 'label' => 'Subscribe to RSS Feed']); $this->drupalGet(''); $this->assertSession()->elementExists('xpath', '//div[@id="block-test-syndicate-block"]/*'); // Verify syndicate block title. - $this->assertSession()->pageTextContains('Subscribe to Drupal'); + $this->assertSession()->pageTextContains('Subscribe to RSS Feed'); // Tests the syndicate block RSS link rendered at non-front pages. $this->drupalGet('user'); $this->clickLink('Subscribe to'); diff --git a/web/core/modules/node/tests/src/Functional/NodeTitleXSSTest.php b/web/core/modules/node/tests/src/Functional/NodeTitleXSSTest.php index dcbac6a1e..87d36e2c4 100644 --- a/web/core/modules/node/tests/src/Functional/NodeTitleXSSTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeTitleXSSTest.php @@ -5,8 +5,7 @@ use Drupal\Component\Utility\Html; /** - * Create a node with dangerous tags in its title and test that they are - * escaped. + * Tests that dangerous tags in the node title are escaped. * * @group node */ diff --git a/web/core/modules/node/tests/src/Functional/NodeTranslationUITest.php b/web/core/modules/node/tests/src/Functional/NodeTranslationUITest.php index 8934c958d..307277919 100644 --- a/web/core/modules/node/tests/src/Functional/NodeTranslationUITest.php +++ b/web/core/modules/node/tests/src/Functional/NodeTranslationUITest.php @@ -61,6 +61,9 @@ class NodeTranslationUITest extends ContentTranslationUITestBase { */ protected $profile = 'standard'; + /** + * {@inheritdoc} + */ protected function setUp(): void { $this->entityTypeId = 'node'; $this->bundle = 'article'; @@ -252,16 +255,16 @@ public function testTranslationLinkTheme() { $this->drupalLogin($this->administrator); $article = $this->drupalCreateNode(['type' => 'article', 'langcode' => $this->langcodes[0]]); - // Set up Seven as the admin theme and use it for node editing. - $this->container->get('theme_installer')->install(['seven']); + // Set up the default admin theme and use it for node editing. + $this->container->get('theme_installer')->install(['claro']); $edit = []; - $edit['admin_theme'] = 'seven'; + $edit['admin_theme'] = 'claro'; $edit['use_admin_theme'] = TRUE; $this->drupalGet('admin/appearance'); $this->submitForm($edit, 'Save configuration'); $this->drupalGet('node/' . $article->id() . '/translations'); // Verify that translation uses the admin theme if edit is admin. - $this->assertSession()->responseContains('core/themes/seven/css/base/elements.css'); + $this->assertSession()->responseContains('core/themes/claro/css/base/elements.css'); // Turn off admin theme for editing, assert inheritance to translations. $edit['use_admin_theme'] = FALSE; @@ -269,7 +272,7 @@ public function testTranslationLinkTheme() { $this->submitForm($edit, 'Save configuration'); $this->drupalGet('node/' . $article->id() . '/translations'); // Verify that translation uses the frontend theme if edit is frontend. - $this->assertSession()->responseNotContains('core/themes/seven/css/base/elements.css'); + $this->assertSession()->responseNotContains('core/themes/claro/css/base/elements.css'); // Assert presence of translation page itself (vs. DisabledBundle below). $this->assertSession()->statusCodeEquals(200); diff --git a/web/core/modules/node/tests/src/Functional/NodeTypeInitialLanguageTest.php b/web/core/modules/node/tests/src/Functional/NodeTypeInitialLanguageTest.php index f7cc1589a..fba16f1e0 100644 --- a/web/core/modules/node/tests/src/Functional/NodeTypeInitialLanguageTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeTypeInitialLanguageTest.php @@ -23,6 +23,9 @@ class NodeTypeInitialLanguageTest extends NodeTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/node/tests/src/Functional/NodeTypeTranslationTest.php b/web/core/modules/node/tests/src/Functional/NodeTypeTranslationTest.php index 07dd0af2a..e7dfe0188 100644 --- a/web/core/modules/node/tests/src/Functional/NodeTypeTranslationTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeTypeTranslationTest.php @@ -54,6 +54,9 @@ class NodeTypeTranslationTest extends BrowserTestBase { */ protected $adminUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/node/tests/src/Functional/NodeViewTest.php b/web/core/modules/node/tests/src/Functional/NodeViewTest.php index 689426597..72f0c3afc 100644 --- a/web/core/modules/node/tests/src/Functional/NodeViewTest.php +++ b/web/core/modules/node/tests/src/Functional/NodeViewTest.php @@ -2,8 +2,6 @@ namespace Drupal\Tests\node\Functional; -use Drupal\Component\Utility\Html; - /** * Tests the node/{node} page. * @@ -37,16 +35,8 @@ public function testHtmlHeadLinks() { */ public function testLinkHeader() { $node = $this->drupalCreateNode(); - - $expected = [ - '<' . Html::escape($node->toUrl('canonical')->setAbsolute()->toString()) . '>; rel="canonical"', - '<' . Html::escape($node->toUrl('canonical', ['alias' => TRUE])->setAbsolute()->toString()) . '>; rel="shortlink"', - ]; - $this->drupalGet($node->toUrl()); - - $links = $this->getSession()->getResponseHeaders()['Link']; - $this->assertEquals($expected, $links); + $this->assertArrayNotHasKey('Link', $this->getSession()->getResponseHeaders()); } /** diff --git a/web/core/modules/node/tests/src/Functional/PagePreviewTest.php b/web/core/modules/node/tests/src/Functional/PagePreviewTest.php index d815a5360..b28fd12ce 100644 --- a/web/core/modules/node/tests/src/Functional/PagePreviewTest.php +++ b/web/core/modules/node/tests/src/Functional/PagePreviewTest.php @@ -48,15 +48,8 @@ class PagePreviewTest extends NodeTestBase { * The theme to install as the default for testing. * * @var string - * - * @todo The fact that PagePreviewTest::testPagePreview() makes assertions - * related to the node type being used for a body class makes Stark a bad - * fit as a base theme. Change the default theme to Starterkit once it is - * stable. - * - * @see https://www.drupal.org/project/drupal/issues/3274077 */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * The name of the created field. @@ -72,6 +65,9 @@ class PagePreviewTest extends NodeTestBase { */ protected $term; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); $this->addDefaultCommentField('node', 'page'); diff --git a/web/core/modules/node/tests/src/Functional/Views/BulkFormTest.php b/web/core/modules/node/tests/src/Functional/Views/BulkFormTest.php index cdbd7b63c..c4eada729 100644 --- a/web/core/modules/node/tests/src/Functional/Views/BulkFormTest.php +++ b/web/core/modules/node/tests/src/Functional/Views/BulkFormTest.php @@ -68,7 +68,7 @@ protected function setUp($import_test_views = TRUE, $modules = ['node_test_views foreach ($langcodes as $langcode) { if (!$node->hasTranslation($langcode)) { $title = $this->randomMachineName() . ' [' . $node->id() . ':' . $langcode . ']'; - $translation = $node->addTranslation($langcode, ['title' => $title, 'promote' => FALSE]); + $node->addTranslation($langcode, ['title' => $title, 'promote' => FALSE]); } } $node->save(); @@ -78,7 +78,7 @@ protected function setUp($import_test_views = TRUE, $modules = ['node_test_views $node = $this->nodes[2]; $langcode = 'en'; $title = $this->randomMachineName() . ' [' . $node->id() . ':' . $langcode . ']'; - $translation = $node->addTranslation($langcode, ['title' => $title]); + $node->addTranslation($langcode, ['title' => $title]); $node->save(); // Check that all created translations are selected by the test view. diff --git a/web/core/modules/node/tests/src/Functional/Views/FrontPageTest.php b/web/core/modules/node/tests/src/Functional/Views/FrontPageTest.php index 9b3e1ce2a..ac17825ab 100644 --- a/web/core/modules/node/tests/src/Functional/Views/FrontPageTest.php +++ b/web/core/modules/node/tests/src/Functional/Views/FrontPageTest.php @@ -301,12 +301,11 @@ protected function doTestFrontPageViewCacheTags($do_assert_views_caches) { $cache_context_tags = \Drupal::service('cache_contexts_manager')->convertTokensToKeys($cache_contexts)->getCacheTags(); $first_page_output_cache_tags = Cache::mergeTags($first_page_result_cache_tags, $cache_context_tags); $first_page_output_cache_tags = Cache::mergeTags($first_page_output_cache_tags, [ - 'config:filter.format.plain_text', - 'node_view', - 'user_view', - 'user:0', - ] - ); + 'config:filter.format.plain_text', + 'node_view', + 'user_view', + 'user:0', + ]); $view->setDisplay('page_1'); $view->setCurrentPage(0); $this->assertViewsCacheTags( diff --git a/web/core/modules/node/tests/src/Functional/Views/PathPluginTest.php b/web/core/modules/node/tests/src/Functional/Views/PathPluginTest.php index 8645a6cdd..9eee667a6 100644 --- a/web/core/modules/node/tests/src/Functional/Views/PathPluginTest.php +++ b/web/core/modules/node/tests/src/Functional/Views/PathPluginTest.php @@ -33,7 +33,7 @@ class PathPluginTest extends NodeTestBase { /** * Contains all nodes used by this test. * - * @var Node[] + * @var \Drupal\node\Entity\Node[] */ protected $nodes; diff --git a/web/core/modules/node/tests/src/FunctionalJavascript/TestSettingSummariesContentType.php b/web/core/modules/node/tests/src/FunctionalJavascript/TestSettingSummariesContentType.php deleted file mode 100644 index ef1d92361..000000000 --- a/web/core/modules/node/tests/src/FunctionalJavascript/TestSettingSummariesContentType.php +++ /dev/null @@ -1,56 +0,0 @@ -drupalCreateUser(['administer content types']); - $this->drupalLogin($admin_user); - $this->drupalCreateContentType(['type' => 'test']); - } - - /** - * Tests a vertical tab 'Workflow' summary. - */ - public function testWorkflowSummary() { - $this->drupalGet('admin/structure/types/manage/test'); - $page = $this->getSession()->getPage(); - $page->find('css', 'a[href="#edit-workflow"]')->click(); - $this->assertSession()->waitForElementVisible('css', '[name="options[status]"]'); - $page->findField('options[status]')->uncheck(); - $page->findField('options[sticky]')->check(); - $page->findField('options[promote]')->check(); - $page->findField('options[revision]')->check(); - $locator = '[href="#edit-workflow"] .vertical-tabs__menu-item-summary'; - $page->waitFor(10, function () use ($page, $locator) { - $summary = $page->find('css', $locator)->getText(); - return strpos('Not published', $summary) !== FALSE; - }); - $summary = $page->find('css', $locator)->getText(); - $this->assertEquals('Not published, Promoted to front page, Sticky at top of lists, Create new revision', $summary); - } - -} diff --git a/web/core/modules/node/tests/src/Kernel/Action/UnpublishByKeywordActionTest.php b/web/core/modules/node/tests/src/Kernel/Action/UnpublishByKeywordActionTest.php index ff28d41fb..c2a69bbba 100644 --- a/web/core/modules/node/tests/src/Kernel/Action/UnpublishByKeywordActionTest.php +++ b/web/core/modules/node/tests/src/Kernel/Action/UnpublishByKeywordActionTest.php @@ -18,6 +18,9 @@ class UnpublishByKeywordActionTest extends KernelTestBase { */ protected static $modules = ['action', 'node', 'system', 'user', 'field']; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); $this->installEntitySchema('node'); diff --git a/web/core/modules/node/tests/src/Kernel/NodeAccessLanguageAwareCombinationTest.php b/web/core/modules/node/tests/src/Kernel/NodeAccessLanguageAwareCombinationTest.php index dc1966815..a3202cfc5 100644 --- a/web/core/modules/node/tests/src/Kernel/NodeAccessLanguageAwareCombinationTest.php +++ b/web/core/modules/node/tests/src/Kernel/NodeAccessLanguageAwareCombinationTest.php @@ -11,8 +11,7 @@ use Drupal\field\Entity\FieldStorageConfig; /** - * Tests node access functionality with multiple languages and two node access - * modules. + * Tests node access with multiple languages and two node access modules. * * @group node */ @@ -50,6 +49,9 @@ class NodeAccessLanguageAwareCombinationTest extends NodeAccessTestBase { */ protected $adminUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -175,7 +177,7 @@ protected function setUp(): void { $this->nodes['public_no_language_private'] = $this->drupalCreateNode([ 'field_private' => [['value' => 1]], 'private' => FALSE, - 'langcode' => LanguageInterface::LANGCODE_NOT_SPECIFIED, + 'langcode' => LanguageInterface::LANGCODE_NOT_SPECIFIED, ]); $this->nodes['public_no_language_public'] = $this->drupalCreateNode([ 'field_private' => [['value' => 0]], diff --git a/web/core/modules/node/tests/src/Kernel/NodeAccessLanguageAwareTest.php b/web/core/modules/node/tests/src/Kernel/NodeAccessLanguageAwareTest.php index e4ec70f98..c4afd4d31 100644 --- a/web/core/modules/node/tests/src/Kernel/NodeAccessLanguageAwareTest.php +++ b/web/core/modules/node/tests/src/Kernel/NodeAccessLanguageAwareTest.php @@ -10,8 +10,7 @@ use Drupal\field\Entity\FieldStorageConfig; /** - * Tests node_access and select queries with node_access tag functionality with - * multiple languages with node_access_test_language which is language-aware. + * Tests multilingual node access with a language-aware module. * * @group node */ @@ -45,6 +44,9 @@ class NodeAccessLanguageAwareTest extends NodeAccessTestBase { */ protected $webUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/node/tests/src/Kernel/NodeAccessLanguageTest.php b/web/core/modules/node/tests/src/Kernel/NodeAccessLanguageTest.php index 7e9f88730..29a2e96a5 100644 --- a/web/core/modules/node/tests/src/Kernel/NodeAccessLanguageTest.php +++ b/web/core/modules/node/tests/src/Kernel/NodeAccessLanguageTest.php @@ -9,8 +9,7 @@ use Drupal\user\Entity\User; /** - * Tests node_access and select queries with node_access tag functionality with - * multiple languages with a test node access module that is not language-aware. + * Tests multilingual node access with a module that is not language-aware. * * @group node */ diff --git a/web/core/modules/node/tests/src/Kernel/NodeBodyFieldStorageTest.php b/web/core/modules/node/tests/src/Kernel/NodeBodyFieldStorageTest.php index b47394bdf..7c973fc7e 100644 --- a/web/core/modules/node/tests/src/Kernel/NodeBodyFieldStorageTest.php +++ b/web/core/modules/node/tests/src/Kernel/NodeBodyFieldStorageTest.php @@ -28,6 +28,9 @@ class NodeBodyFieldStorageTest extends KernelTestBase { 'filter', ]; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); $this->installSchema('system', 'sequences'); diff --git a/web/core/modules/node/tests/src/Kernel/NodeConditionTest.php b/web/core/modules/node/tests/src/Kernel/NodeConditionTest.php index 2aa4f0dfb..87adc800c 100644 --- a/web/core/modules/node/tests/src/Kernel/NodeConditionTest.php +++ b/web/core/modules/node/tests/src/Kernel/NodeConditionTest.php @@ -16,6 +16,9 @@ class NodeConditionTest extends EntityKernelTestBase { protected static $modules = ['node']; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/node/tests/src/Kernel/NodeFieldAccessTest.php b/web/core/modules/node/tests/src/Kernel/NodeFieldAccessTest.php index 0f54c38ec..4e62f087c 100644 --- a/web/core/modules/node/tests/src/Kernel/NodeFieldAccessTest.php +++ b/web/core/modules/node/tests/src/Kernel/NodeFieldAccessTest.php @@ -49,11 +49,11 @@ public function testAccessToAdministrativeFields() { // Create the page node type with revisions disabled. $page = NodeType::create([ 'type' => 'page', - 'new_revision' => FALSE, + 'new_revision' => FALSE, ]); $page->save(); - // Create the article node type with revisions disabled. + // Create the article node type with revisions enabled. $article = NodeType::create([ 'type' => 'article', 'new_revision' => TRUE, diff --git a/web/core/modules/node/tests/src/Kernel/NodeListBuilderTest.php b/web/core/modules/node/tests/src/Kernel/NodeListBuilderTest.php index 11f1a2864..0f1933da2 100644 --- a/web/core/modules/node/tests/src/Kernel/NodeListBuilderTest.php +++ b/web/core/modules/node/tests/src/Kernel/NodeListBuilderTest.php @@ -17,6 +17,9 @@ class NodeListBuilderTest extends KernelTestBase { */ protected static $modules = ['node', 'user']; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/node/tests/src/Kernel/NodeOwnerTest.php b/web/core/modules/node/tests/src/Kernel/NodeOwnerTest.php index 537f816ce..1edd85376 100644 --- a/web/core/modules/node/tests/src/Kernel/NodeOwnerTest.php +++ b/web/core/modules/node/tests/src/Kernel/NodeOwnerTest.php @@ -22,6 +22,9 @@ class NodeOwnerTest extends EntityKernelTestBase { */ protected static $modules = ['node', 'language']; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/node/tests/src/Kernel/NodeTokenReplaceTest.php b/web/core/modules/node/tests/src/Kernel/NodeTokenReplaceTest.php index 61b889834..0b005f1cf 100644 --- a/web/core/modules/node/tests/src/Kernel/NodeTokenReplaceTest.php +++ b/web/core/modules/node/tests/src/Kernel/NodeTokenReplaceTest.php @@ -10,8 +10,7 @@ use Drupal\Tests\system\Kernel\Token\TokenReplaceKernelTestBase; /** - * Generates text using placeholders for dummy content to check node token - * replacement. + * Tests node token replacement. * * @group node */ diff --git a/web/core/modules/node/tests/src/Unit/NodeOperationAccessTest.php b/web/core/modules/node/tests/src/Unit/NodeOperationAccessTest.php index 694590fec..f33c6159e 100644 --- a/web/core/modules/node/tests/src/Unit/NodeOperationAccessTest.php +++ b/web/core/modules/node/tests/src/Unit/NodeOperationAccessTest.php @@ -71,7 +71,7 @@ public function testRevisionOperations($operation, array $hasPermissionMap, $ass $language = $this->createMock(LanguageInterface::class); $language->expects($this->any()) ->method('getId') - ->will($this->returnValue('de')); + ->willReturn('de'); $nid = 333; /** @var \Drupal\node\NodeInterface|\PHPUnit\Framework\MockObject\MockObject $node */ diff --git a/web/core/modules/node/tests/src/Unit/PageCache/DenyNodePreviewTest.php b/web/core/modules/node/tests/src/Unit/PageCache/DenyNodePreviewTest.php index 8970654b2..674deab0b 100644 --- a/web/core/modules/node/tests/src/Unit/PageCache/DenyNodePreviewTest.php +++ b/web/core/modules/node/tests/src/Unit/PageCache/DenyNodePreviewTest.php @@ -42,6 +42,9 @@ class DenyNodePreviewTest extends UnitTestCase { */ protected $routeMatch; + /** + * {@inheritdoc} + */ protected function setUp(): void { $this->routeMatch = $this->createMock('Drupal\Core\Routing\RouteMatchInterface'); $this->policy = new DenyNodePreview($this->routeMatch); @@ -58,7 +61,7 @@ protected function setUp(): void { public function testPrivateImageStyleDownloadPolicy($expected_result, $route_name) { $this->routeMatch->expects($this->once()) ->method('getRouteName') - ->will($this->returnValue($route_name)); + ->willReturn($route_name); $actual_result = $this->policy->check($this->response, $this->request); $this->assertSame($expected_result, $actual_result); diff --git a/web/core/modules/node/tests/src/Unit/Plugin/views/field/NodeBulkFormTest.php b/web/core/modules/node/tests/src/Unit/Plugin/views/field/NodeBulkFormTest.php index cd421f167..4f3f98b57 100644 --- a/web/core/modules/node/tests/src/Unit/Plugin/views/field/NodeBulkFormTest.php +++ b/web/core/modules/node/tests/src/Unit/Plugin/views/field/NodeBulkFormTest.php @@ -33,26 +33,26 @@ public function testConstructor() { $action = $this->createMock('\Drupal\system\ActionConfigEntityInterface'); $action->expects($this->any()) ->method('getType') - ->will($this->returnValue('node')); + ->willReturn('node'); $actions[$i] = $action; } $action = $this->createMock('\Drupal\system\ActionConfigEntityInterface'); $action->expects($this->any()) ->method('getType') - ->will($this->returnValue('user')); + ->willReturn('user'); $actions[] = $action; $entity_storage = $this->createMock('Drupal\Core\Entity\EntityStorageInterface'); $entity_storage->expects($this->any()) ->method('loadMultiple') - ->will($this->returnValue($actions)); + ->willReturn($actions); $entity_type_manager = $this->createMock(EntityTypeManagerInterface::class); $entity_type_manager->expects($this->once()) ->method('getStorage') ->with('action') - ->will($this->returnValue($entity_storage)); + ->willReturn($entity_storage); $entity_repository = $this->createMock(EntityRepositoryInterface::class); @@ -66,7 +66,7 @@ public function testConstructor() { $views_data->expects($this->any()) ->method('get') ->with('node') - ->will($this->returnValue(['table' => ['entity type' => 'node']])); + ->willReturn(['table' => ['entity type' => 'node']]); $container = new ContainerBuilder(); $container->set('views.views_data', $views_data); $container->set('string_translation', $this->getStringTranslationStub()); @@ -76,7 +76,7 @@ public function testConstructor() { $storage->expects($this->any()) ->method('get') ->with('base_table') - ->will($this->returnValue('node')); + ->willReturn('node'); $executable = $this->getMockBuilder('Drupal\views\ViewExecutable') ->disableOriginalConstructor() diff --git a/web/core/modules/options/src/Plugin/Field/FieldType/ListFloatItem.php b/web/core/modules/options/src/Plugin/Field/FieldType/ListFloatItem.php index 855d5b46c..a09152d50 100644 --- a/web/core/modules/options/src/Plugin/Field/FieldType/ListFloatItem.php +++ b/web/core/modules/options/src/Plugin/Field/FieldType/ListFloatItem.php @@ -4,6 +4,7 @@ use Drupal\Core\Field\FieldFilteredMarkup; use Drupal\Core\Field\FieldStorageDefinitionInterface; +use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\Core\TypedData\DataDefinition; /** @@ -25,7 +26,7 @@ class ListFloatItem extends ListItemBase { */ public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) { $properties['value'] = DataDefinition::create('float') - ->setLabel(t('Float value')) + ->setLabel(new TranslatableMarkup('Float value')) ->setRequired(TRUE); return $properties; @@ -51,12 +52,12 @@ public static function schema(FieldStorageDefinitionInterface $field_definition) * {@inheritdoc} */ protected function allowedValuesDescription() { - $description = '

                                                  ' . t('The possible values this field can contain. Enter one value per line, in the format key|label.'); - $description .= '
                                                  ' . t('The key is the stored value, and must be numeric. The label will be used in displayed values and edit forms.'); - $description .= '
                                                  ' . t('The label is optional: if a line contains a single number, it will be used as key and label.'); - $description .= '
                                                  ' . t('Lists of labels are also accepted (one label per line), only if the field does not hold any values yet. Numeric keys will be automatically generated from the positions in the list.'); + $description = '

                                                  ' . $this->t('The possible values this field can contain. Enter one value per line, in the format key|label.'); + $description .= '
                                                  ' . $this->t('The key is the stored value, and must be numeric. The label will be used in displayed values and edit forms.'); + $description .= '
                                                  ' . $this->t('The label is optional: if a line contains a single number, it will be used as key and label.'); + $description .= '
                                                  ' . $this->t('Lists of labels are also accepted (one label per line), only if the field does not hold any values yet. Numeric keys will be automatically generated from the positions in the list.'); $description .= '

                                                  '; - $description .= '

                                                  ' . t('Allowed HTML tags in labels: @tags', ['@tags' => FieldFilteredMarkup::displayAllowedTags()]) . '

                                                  '; + $description .= '

                                                  ' . $this->t('Allowed HTML tags in labels: @tags', ['@tags' => FieldFilteredMarkup::displayAllowedTags()]) . '

                                                  '; return $description; } @@ -83,7 +84,7 @@ protected static function extractAllowedValues($string, $has_data) { */ protected static function validateAllowedValue($option) { if (!is_numeric($option)) { - return t('Allowed values list: each key must be a valid integer or decimal.'); + return new TranslatableMarkup('Allowed values list: each key must be a valid integer or decimal.'); } } diff --git a/web/core/modules/options/src/Plugin/Field/FieldType/ListIntegerItem.php b/web/core/modules/options/src/Plugin/Field/FieldType/ListIntegerItem.php index 8a9600751..eabec6f02 100644 --- a/web/core/modules/options/src/Plugin/Field/FieldType/ListIntegerItem.php +++ b/web/core/modules/options/src/Plugin/Field/FieldType/ListIntegerItem.php @@ -4,6 +4,7 @@ use Drupal\Core\Field\FieldFilteredMarkup; use Drupal\Core\Field\FieldStorageDefinitionInterface; +use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\Core\TypedData\DataDefinition; /** @@ -25,7 +26,7 @@ class ListIntegerItem extends ListItemBase { */ public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) { $properties['value'] = DataDefinition::create('integer') - ->setLabel(t('Integer value')) + ->setLabel(new TranslatableMarkup('Integer value')) ->setRequired(TRUE); return $properties; @@ -51,12 +52,12 @@ public static function schema(FieldStorageDefinitionInterface $field_definition) * {@inheritdoc} */ protected function allowedValuesDescription() { - $description = '

                                                  ' . t('The possible values this field can contain. Enter one value per line, in the format key|label.'); - $description .= '
                                                  ' . t('The key is the stored value, and must be numeric. The label will be used in displayed values and edit forms.'); - $description .= '
                                                  ' . t('The label is optional: if a line contains a single number, it will be used as key and label.'); - $description .= '
                                                  ' . t('Lists of labels are also accepted (one label per line), only if the field does not hold any values yet. Numeric keys will be automatically generated from the positions in the list.'); + $description = '

                                                  ' . $this->t('The possible values this field can contain. Enter one value per line, in the format key|label.'); + $description .= '
                                                  ' . $this->t('The key is the stored value, and must be numeric. The label will be used in displayed values and edit forms.'); + $description .= '
                                                  ' . $this->t('The label is optional: if a line contains a single number, it will be used as key and label.'); + $description .= '
                                                  ' . $this->t('Lists of labels are also accepted (one label per line), only if the field does not hold any values yet. Numeric keys will be automatically generated from the positions in the list.'); $description .= '

                                                  '; - $description .= '

                                                  ' . t('Allowed HTML tags in labels: @tags', ['@tags' => FieldFilteredMarkup::displayAllowedTags()]) . '

                                                  '; + $description .= '

                                                  ' . $this->t('Allowed HTML tags in labels: @tags', ['@tags' => FieldFilteredMarkup::displayAllowedTags()]) . '

                                                  '; return $description; } @@ -65,7 +66,7 @@ protected function allowedValuesDescription() { */ protected static function validateAllowedValue($option) { if (!preg_match('/^-?\d+$/', $option)) { - return t('Allowed values list: keys must be integers.'); + return new TranslatableMarkup('Allowed values list: keys must be integers.'); } } diff --git a/web/core/modules/options/src/Plugin/Field/FieldType/ListItemBase.php b/web/core/modules/options/src/Plugin/Field/FieldType/ListItemBase.php index 7c3675894..6229b931d 100644 --- a/web/core/modules/options/src/Plugin/Field/FieldType/ListItemBase.php +++ b/web/core/modules/options/src/Plugin/Field/FieldType/ListItemBase.php @@ -7,6 +7,7 @@ use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\OptGroup; use Drupal\Core\Session\AccountInterface; +use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\Core\TypedData\OptionsProviderInterface; /** @@ -64,6 +65,10 @@ public function getSettableOptions(AccountInterface $account = NULL) { */ public static function generateSampleValue(FieldDefinitionInterface $field_definition) { $allowed_options = options_allowed_values($field_definition->getFieldStorageDefinition()); + if (empty($allowed_options)) { + $values['value'] = NULL; + return $values; + } $values['value'] = array_rand($allowed_options); return $values; } @@ -84,7 +89,7 @@ public function storageSettingsForm(array &$form, FormStateInterface $form_state $element['allowed_values'] = [ '#type' => 'textarea', - '#title' => t('Allowed values list'), + '#title' => $this->t('Allowed values list'), '#default_value' => $this->allowedValuesString($allowed_values), '#rows' => 10, '#access' => empty($allowed_values_function), @@ -99,8 +104,8 @@ public function storageSettingsForm(array &$form, FormStateInterface $form_state $element['allowed_values_function'] = [ '#type' => 'item', - '#title' => t('Allowed values list'), - '#markup' => t('The value of this field is being determined by the %function function and may not be changed.', ['%function' => $allowed_values_function]), + '#title' => $this->t('Allowed values list'), + '#markup' => $this->t('The value of this field is being determined by the %function function and may not be changed.', ['%function' => $allowed_values_function]), '#access' => !empty($allowed_values_function), '#value' => $allowed_values_function, ]; @@ -131,7 +136,7 @@ public static function validateAllowedValues($element, FormStateInterface $form_ $values = static::extractAllowedValues($element['#value'], $element['#field_has_data']); if (!is_array($values)) { - $form_state->setError($element, t('Allowed values list: invalid input.')); + $form_state->setError($element, new TranslatableMarkup('Allowed values list: invalid input.')); } else { // Check that keys are valid for the field type. @@ -146,7 +151,7 @@ public static function validateAllowedValues($element, FormStateInterface $form_ if ($element['#field_has_data']) { $lost_keys = array_keys(array_diff_key($element['#allowed_values'], $values)); if (_options_values_in_use($element['#entity_type'], $element['#field_name'], $lost_keys)) { - $form_state->setError($element, t('Allowed values list: some values are being removed while currently in use.')); + $form_state->setError($element, new TranslatableMarkup('Allowed values list: some values are being removed while currently in use.')); } } diff --git a/web/core/modules/options/src/Plugin/Field/FieldType/ListStringItem.php b/web/core/modules/options/src/Plugin/Field/FieldType/ListStringItem.php index 555030764..acd86c0fa 100644 --- a/web/core/modules/options/src/Plugin/Field/FieldType/ListStringItem.php +++ b/web/core/modules/options/src/Plugin/Field/FieldType/ListStringItem.php @@ -4,6 +4,7 @@ use Drupal\Core\Field\FieldFilteredMarkup; use Drupal\Core\Field\FieldStorageDefinitionInterface; +use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\Core\TypedData\DataDefinition; /** @@ -25,7 +26,7 @@ class ListStringItem extends ListItemBase { */ public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) { $properties['value'] = DataDefinition::create('string') - ->setLabel(t('Text value')) + ->setLabel(new TranslatableMarkup('Text value')) ->addConstraint('Length', ['max' => 255]) ->setRequired(TRUE); @@ -53,11 +54,11 @@ public static function schema(FieldStorageDefinitionInterface $field_definition) * {@inheritdoc} */ protected function allowedValuesDescription() { - $description = '

                                                  ' . t('The possible values this field can contain. Enter one value per line, in the format key|label.'); - $description .= '
                                                  ' . t('The key is the stored value. The label will be used in displayed values and edit forms.'); - $description .= '
                                                  ' . t('The label is optional: if a line contains a single string, it will be used as key and label.'); + $description = '

                                                  ' . $this->t('The possible values this field can contain. Enter one value per line, in the format key|label.'); + $description .= '
                                                  ' . $this->t('The key is the stored value. The label will be used in displayed values and edit forms.'); + $description .= '
                                                  ' . $this->t('The label is optional: if a line contains a single string, it will be used as key and label.'); $description .= '

                                                  '; - $description .= '

                                                  ' . t('Allowed HTML tags in labels: @tags', ['@tags' => FieldFilteredMarkup::displayAllowedTags()]) . '

                                                  '; + $description .= '

                                                  ' . $this->t('Allowed HTML tags in labels: @tags', ['@tags' => FieldFilteredMarkup::displayAllowedTags()]) . '

                                                  '; return $description; } @@ -66,7 +67,7 @@ protected function allowedValuesDescription() { */ protected static function validateAllowedValue($option) { if (mb_strlen($option) > 255) { - return t('Allowed values list: each key must be a string at most 255 characters long.'); + return new TranslatableMarkup('Allowed values list: each key must be a string at most 255 characters long.'); } } diff --git a/web/core/modules/options/tests/src/Functional/OptionsDynamicValuesTestBase.php b/web/core/modules/options/tests/src/Functional/OptionsDynamicValuesTestBase.php index 4b3b7be25..bc5935771 100644 --- a/web/core/modules/options/tests/src/Functional/OptionsDynamicValuesTestBase.php +++ b/web/core/modules/options/tests/src/Functional/OptionsDynamicValuesTestBase.php @@ -22,7 +22,7 @@ abstract class OptionsDynamicValuesTestBase extends FieldTestBase { /** * The created entity. * - * @var \Drupal\Core\Entity\Entity + * @var \Drupal\Core\Entity\EntityInterface */ protected $entity; @@ -45,6 +45,9 @@ abstract class OptionsDynamicValuesTestBase extends FieldTestBase { */ protected $test; + /** + * {@inheritdoc} + */ protected function setUp() { parent::setUp(); diff --git a/web/core/modules/options/tests/src/Functional/OptionsFieldUITest.php b/web/core/modules/options/tests/src/Functional/OptionsFieldUITest.php index 23e965bd4..75cd7fb17 100644 --- a/web/core/modules/options/tests/src/Functional/OptionsFieldUITest.php +++ b/web/core/modules/options/tests/src/Functional/OptionsFieldUITest.php @@ -59,6 +59,9 @@ class OptionsFieldUITest extends FieldTestBase { */ protected $adminPath; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -344,9 +347,7 @@ public function testNodeDisplay() { $on = $this->randomMachineName(); $off = $this->randomMachineName(); $edit = [ - 'settings[allowed_values]' => - "1|$on - 0|$off", + 'settings[allowed_values]' => "1|$on" . PHP_EOL . "0|$off", ]; $this->drupalGet($this->adminPath); diff --git a/web/core/modules/options/tests/src/Functional/OptionsFloatFieldImportTest.php b/web/core/modules/options/tests/src/Functional/OptionsFloatFieldImportTest.php index e70ba1ac8..8365d3f16 100644 --- a/web/core/modules/options/tests/src/Functional/OptionsFloatFieldImportTest.php +++ b/web/core/modules/options/tests/src/Functional/OptionsFloatFieldImportTest.php @@ -31,6 +31,9 @@ class OptionsFloatFieldImportTest extends FieldTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/options/tests/src/Functional/OptionsWidgetsTest.php b/web/core/modules/options/tests/src/Functional/OptionsWidgetsTest.php index 486c0b21c..dcbdc12e9 100644 --- a/web/core/modules/options/tests/src/Functional/OptionsWidgetsTest.php +++ b/web/core/modules/options/tests/src/Functional/OptionsWidgetsTest.php @@ -54,6 +54,9 @@ class OptionsWidgetsTest extends FieldTestBase { */ protected $float; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/options/tests/src/Kernel/OptionsFieldTest.php b/web/core/modules/options/tests/src/Kernel/OptionsFieldTest.php index 001a04e17..b0ba80f22 100644 --- a/web/core/modules/options/tests/src/Kernel/OptionsFieldTest.php +++ b/web/core/modules/options/tests/src/Kernel/OptionsFieldTest.php @@ -98,4 +98,14 @@ public function testUpdateAllowedValues() { $this->entityValidateAndSave($entity); } + /** + * Tests that ::generateSampleItems does not fail with empty allowed values. + */ + public function testGenerateSampleItemsWithNoAllowedValues() { + $this->fieldStorage->setSetting('allowed_values', [])->save(); + $entity = EntityTest::create(); + $value = $entity->{$this->fieldName}->generateSampleItems(); + $this->assertNull($value); + } + } diff --git a/web/core/modules/options/tests/src/Kernel/Views/OptionsTestBase.php b/web/core/modules/options/tests/src/Kernel/Views/OptionsTestBase.php index 8be66d1c2..a8395e4b8 100644 --- a/web/core/modules/options/tests/src/Kernel/Views/OptionsTestBase.php +++ b/web/core/modules/options/tests/src/Kernel/Views/OptionsTestBase.php @@ -48,6 +48,9 @@ abstract class OptionsTestBase extends ViewsKernelTestBase { */ protected $fieldNames; + /** + * {@inheritdoc} + */ protected function setUp($import_test_views = TRUE) { parent::setUp(); $this->mockStandardInstall(); diff --git a/web/core/modules/page_cache/tests/src/Functional/PageCacheTest.php b/web/core/modules/page_cache/tests/src/Functional/PageCacheTest.php index 5164c5794..a4d9bacb0 100644 --- a/web/core/modules/page_cache/tests/src/Functional/PageCacheTest.php +++ b/web/core/modules/page_cache/tests/src/Functional/PageCacheTest.php @@ -117,8 +117,9 @@ public function testPageCacheTagsIndependentFromCacheabilityHeaders() { } /** - * Tests support for different cache items with different request formats - * specified via a query parameter. + * Tests support for different cache items with different request formats. + * + * The request formats are specified via a query parameter. */ public function testQueryParameterFormatRequests() { $config = $this->config('system.performance'); diff --git a/web/core/modules/path/path.js b/web/core/modules/path/path.js index 500fd5cbe..ea241ae68 100644 --- a/web/core/modules/path/path.js +++ b/web/core/modules/path/path.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal) { Drupal.behaviors.pathDetailsSummaries = { attach: function attach(context) { diff --git a/web/core/modules/path/src/Plugin/Field/FieldWidget/PathWidget.php b/web/core/modules/path/src/Plugin/Field/FieldWidget/PathWidget.php index 441c65c94..088ef784e 100644 --- a/web/core/modules/path/src/Plugin/Field/FieldWidget/PathWidget.php +++ b/web/core/modules/path/src/Plugin/Field/FieldWidget/PathWidget.php @@ -44,7 +44,7 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen $element['source'] = [ '#type' => 'value', '#value' => !$entity->isNew() ? '/' . $entity->toUrl()->getInternalPath() : NULL, - ]; + ]; $element['langcode'] = [ '#type' => 'value', '#value' => $items[$delta]->langcode, @@ -56,7 +56,7 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen if (isset($form['advanced'])) { $element += [ '#type' => 'details', - '#title' => t('URL path settings'), + '#title' => $this->t('URL path settings'), '#open' => !empty($items[$delta]->alias), '#group' => 'advanced', '#access' => $entity->get('path')->access('edit'), diff --git a/web/core/modules/path/tests/src/Functional/PathAdminTest.php b/web/core/modules/path/tests/src/Functional/PathAdminTest.php index b3228d400..d48a791ed 100644 --- a/web/core/modules/path/tests/src/Functional/PathAdminTest.php +++ b/web/core/modules/path/tests/src/Functional/PathAdminTest.php @@ -21,6 +21,9 @@ class PathAdminTest extends PathTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/path/tests/src/Functional/PathAliasTest.php b/web/core/modules/path/tests/src/Functional/PathAliasTest.php index 4a5c8d6cc..79523459a 100644 --- a/web/core/modules/path/tests/src/Functional/PathAliasTest.php +++ b/web/core/modules/path/tests/src/Functional/PathAliasTest.php @@ -7,8 +7,7 @@ use Drupal\Core\Url; /** - * Add, edit, delete, and change alias and verify its consistency in the - * database. + * Tests modifying path aliases from the UI. * * @group path */ @@ -26,6 +25,9 @@ class PathAliasTest extends PathTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -148,13 +150,13 @@ public function testAdminAlias() { $this->submitForm($edit, 'Save'); // Confirm no duplicate was created. - $this->assertSession()->pageTextContains("The alias {$edit['alias[0][value]']} is already in use in this language."); + $this->assertSession()->statusMessageContains("The alias {$edit['alias[0][value]']} is already in use in this language.", 'error'); $edit_upper = $edit; $edit_upper['alias[0][value]'] = mb_strtoupper($edit['alias[0][value]']); $this->drupalGet('admin/config/search/path/add'); $this->submitForm($edit_upper, 'Save'); - $this->assertSession()->pageTextContains("The alias {$edit_upper['alias[0][value]']} could not be added because it is already in use in this language with different capitalization: {$edit['alias[0][value]']}."); + $this->assertSession()->statusMessageContains("The alias {$edit_upper['alias[0][value]']} could not be added because it is already in use in this language with different capitalization: {$edit['alias[0][value]']}.", 'error'); // Delete alias. $this->drupalGet('admin/config/search/path/edit/' . $pid); @@ -215,7 +217,7 @@ public function testAdminAlias() { $edit['path[0][value]'] = '/node/' . $node2->id(); $this->drupalGet('admin/config/search/path/edit/' . $pid); $this->submitForm($edit, 'Save'); - $this->assertSession()->pageTextContains('The alias has been saved.'); + $this->assertSession()->statusMessageContains('The alias has been saved.', 'status'); $this->drupalGet($edit['alias[0][value]']); // Previous alias should no longer work. $this->assertSession()->pageTextNotContains($node4->label()); @@ -230,7 +232,7 @@ public function testAdminAlias() { $edit['path[0][value]'] = '/node/' . $node3->id(); $this->drupalGet('admin/config/search/path/edit/' . $pid); $this->submitForm($edit, 'Save'); - $this->assertSession()->pageTextContains("The alias {$edit['alias[0][value]']} is already in use in this language."); + $this->assertSession()->statusMessageContains("The alias {$edit['alias[0][value]']} is already in use in this language.", 'error'); // Create an alias without a starting slash. $node5 = $this->drupalCreateNode(); @@ -243,8 +245,8 @@ public function testAdminAlias() { $this->submitForm($edit, 'Save'); $this->assertSession()->addressEquals('admin/config/search/path/add'); - $this->assertSession()->pageTextContains('The source path has to start with a slash.'); - $this->assertSession()->pageTextContains('The alias path has to start with a slash.'); + $this->assertSession()->statusMessageContains('The source path has to start with a slash.', 'error'); + $this->assertSession()->statusMessageContains('The alias path has to start with a slash.', 'error'); } /** @@ -310,7 +312,7 @@ public function testNodeAlias() { $this->submitForm($edit, 'Save'); // Confirm that the alias didn't make a duplicate. - $this->assertSession()->pageTextContains("The alias {$edit['path[0][alias]']} is already in use in this language."); + $this->assertSession()->statusMessageContains("The alias {$edit['path[0][alias]']} is already in use in this language.", 'error'); // Delete alias. $this->drupalGet('node/' . $node1->id() . '/edit'); @@ -367,7 +369,7 @@ public function testNodeAlias() { $edit = ['path[0][alias]' => '0']; $this->drupalGet($node6->toUrl('edit-form')); $this->submitForm($edit, 'Save'); - $this->assertSession()->pageTextContains('The alias path has to start with a slash.'); + $this->assertSession()->statusMessageContains('The alias path has to start with a slash.', 'error'); // Create an invalid alias with two leading slashes and verify that the // extra slash is removed when the link is generated. This ensures that URL @@ -426,7 +428,7 @@ public function testDuplicateNodeAlias() { $node_two = $this->drupalCreateNode(); $this->drupalGet('node/' . $node_two->id() . '/edit'); $this->submitForm($edit, 'Save'); - $this->assertSession()->pageTextContains("The alias {$edit['path[0][alias]']} is already in use in this language."); + $this->assertSession()->statusMessageContains("The alias {$edit['path[0][alias]']} is already in use in this language.", 'error'); $path_alias = $this->assertSession()->fieldExists('path[0][alias]'); $this->assertSession()->fieldValueEquals('path[0][alias]', $edit['path[0][alias]']); $this->assertTrue($path_alias->hasClass('error')); @@ -442,7 +444,7 @@ public function testDuplicateNodeAlias() { // This error should still be present next to the field. $this->assertSession()->pageTextContains("The alias {$edit['path[0][alias]']} is already in use in this language."); // The validation error set for the page should include this text. - $this->assertSession()->pageTextContains('1 error has been found: URL alias'); + $this->assertSession()->statusMessageContains('1 error has been found: URL alias', 'error'); // The text 'URL alias' should be a link. $this->assertSession()->linkExists('URL alias'); // The link should be to the ID of the URL alias field. diff --git a/web/core/modules/path/tests/src/Functional/PathContentModerationTest.php b/web/core/modules/path/tests/src/Functional/PathContentModerationTest.php index 46e9a92d2..445772769 100644 --- a/web/core/modules/path/tests/src/Functional/PathContentModerationTest.php +++ b/web/core/modules/path/tests/src/Functional/PathContentModerationTest.php @@ -94,7 +94,7 @@ public function testNodePathAlias() { 'path[0][alias]' => '/moderated-content', 'moderation_state[0][state]' => 'draft', ], 'Save'); - $this->assertSession()->pageTextNotContains('You can only change the URL alias for the published version of this content.'); + $this->assertSession()->statusMessageNotContains('You can only change the URL alias for the published version of this content.'); // Create some moderated content with no path alias. $this->drupalGet('node/add/moderated'); @@ -114,7 +114,7 @@ public function testNodePathAlias() { 'path[0][alias]' => '/pending-revision', 'moderation_state[0][state]' => 'draft', ], 'Save'); - $this->assertSession()->pageTextContains('You can only change the URL alias for the published version of this content.'); + $this->assertSession()->statusMessageContains('You can only change the URL alias for the published version of this content.', 'error'); // Create some moderated content with no path alias. $this->drupalGet('node/add/moderated'); @@ -134,7 +134,7 @@ public function testNodePathAlias() { 'path[0][alias]' => '', 'moderation_state[0][state]' => 'draft', ], 'Save'); - $this->assertSession()->pageTextNotContains('You can only change the URL alias for the published version of this content.'); + $this->assertSession()->statusMessageNotContains('You can only change the URL alias for the published version of this content.'); } /** @@ -176,7 +176,7 @@ public function testTranslatedModeratedNodeAlias() { $this->drupalGet('fr/node/' . $default_node->id() . '/edit'); $this->submitForm($edit_new_translation_draft_with_alias, 'Save (this translation)'); // Confirm the expected error. - $this->assertSession()->pageTextContains('You can only change the URL alias for the published version of this content.'); + $this->assertSession()->statusMessageContains('You can only change the URL alias for the published version of this content.', 'error'); // Create new draft revision for translation without changing path alias. $edit_new_translation_draft = [ @@ -186,7 +186,7 @@ public function testTranslatedModeratedNodeAlias() { $this->drupalGet('fr/node/' . $default_node->id() . '/edit'); $this->submitForm($edit_new_translation_draft, 'Save (this translation)'); // Confirm that the new draft revision was created. - $this->assertSession()->pageTextNotContains('You can only change the URL alias for the published version of this content.'); + $this->assertSession()->statusMessageNotContains('You can only change the URL alias for the published version of this content.'); $this->assertSession()->pageTextContains($edit_new_translation_draft['body[0][value]']); $this->assertPathsAreAccessible([$default_path, $translation_path]); @@ -199,7 +199,7 @@ public function testTranslatedModeratedNodeAlias() { $this->drupalGet('fr/node/' . $default_node->id() . '/edit'); $this->submitForm($edit_new_translation_draft_with_defaults_alias, 'Save (this translation)'); // Verify the expected error. - $this->assertSession()->pageTextContains('You can only change the URL alias for the published version of this content.'); + $this->assertSession()->statusMessageContains('You can only change the URL alias for the published version of this content.', 'error'); // Try to create new draft revision for translation with deleted (empty) // path alias. @@ -211,7 +211,7 @@ public function testTranslatedModeratedNodeAlias() { $this->drupalGet('fr/node/' . $default_node->id() . '/edit'); $this->submitForm($edit_new_translation_draft_empty_alias, 'Save (this translation)'); // Confirm the expected error. - $this->assertSession()->pageTextContains('You can only change the URL alias for the published version of this content.'); + $this->assertSession()->statusMessageContains('You can only change the URL alias for the published version of this content.', 'error'); // Create new default (published) revision for translation with new path // alias. @@ -223,7 +223,7 @@ public function testTranslatedModeratedNodeAlias() { $this->drupalGet('fr/node/' . $default_node->id() . '/edit'); $this->submitForm($edit_new_translation, 'Save (this translation)'); // Confirm that the new published revision was created. - $this->assertSession()->pageTextNotContains('You can only change the URL alias for the published version of this content.'); + $this->assertSession()->statusMessageNotContains('You can only change the URL alias for the published version of this content.'); $this->assertSession()->pageTextContains($edit_new_translation['body[0][value]']); $this->assertSession()->addressEquals('fr' . $edit_new_translation['path[0][alias]']); $this->assertPathsAreAccessible([$default_path]); diff --git a/web/core/modules/path/tests/src/Functional/PathLanguageTest.php b/web/core/modules/path/tests/src/Functional/PathLanguageTest.php index bbf2cd62f..d6d62f6a8 100644 --- a/web/core/modules/path/tests/src/Functional/PathLanguageTest.php +++ b/web/core/modules/path/tests/src/Functional/PathLanguageTest.php @@ -33,6 +33,9 @@ class PathLanguageTest extends PathTestBase { */ protected $webUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/path/tests/src/Functional/PathLanguageUiTest.php b/web/core/modules/path/tests/src/Functional/PathLanguageUiTest.php index f49788f9e..5ca4e94fa 100644 --- a/web/core/modules/path/tests/src/Functional/PathLanguageUiTest.php +++ b/web/core/modules/path/tests/src/Functional/PathLanguageUiTest.php @@ -23,6 +23,9 @@ class PathLanguageUiTest extends PathTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/path/tests/src/Functional/PathMediaFormTest.php b/web/core/modules/path/tests/src/Functional/PathMediaFormTest.php index aa6b9555e..3f66691f8 100644 --- a/web/core/modules/path/tests/src/Functional/PathMediaFormTest.php +++ b/web/core/modules/path/tests/src/Functional/PathMediaFormTest.php @@ -19,7 +19,7 @@ class PathMediaFormTest extends PathTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'stark'; /** * {@inheritdoc} @@ -53,7 +53,7 @@ public function testMediaForm() { $this->drupalGet('media/add/' . $media_type_id); // Make sure we have a vertical tab fieldset and 'Path' field. - $assert_session->elementContains('css', '.form-type-vertical-tabs #edit-path-0 summary', 'URL alias'); + $assert_session->elementContains('css', '.js-form-type-vertical-tabs #edit-path-0 summary', 'URL alias'); $assert_session->fieldExists('path[0][alias]'); // Disable the 'Path' field for this content type. @@ -64,7 +64,7 @@ public function testMediaForm() { $this->drupalGet('media/add/' . $media_type_id); // See if the whole fieldset is gone now. - $assert_session->elementNotExists('css', '.form-type-vertical-tabs #edit-path-0'); + $assert_session->elementNotExists('css', '.js-form-type-vertical-tabs #edit-path-0'); $assert_session->fieldNotExists('path[0][alias]'); } diff --git a/web/core/modules/path/tests/src/Functional/PathNodeFormTest.php b/web/core/modules/path/tests/src/Functional/PathNodeFormTest.php index d1db2ee3c..cca9e55f6 100644 --- a/web/core/modules/path/tests/src/Functional/PathNodeFormTest.php +++ b/web/core/modules/path/tests/src/Functional/PathNodeFormTest.php @@ -19,8 +19,11 @@ class PathNodeFormTest extends PathTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -41,7 +44,7 @@ public function testNodeForm() { $this->drupalGet('node/add/page'); // Make sure we have a vertical tab fieldset and 'Path' fields. - $assert_session->elementContains('css', '.form-type-vertical-tabs #edit-path-0 summary', 'URL alias'); + $assert_session->elementContains('css', '.js-form-type-vertical-tabs #edit-path-0 summary', 'URL alias'); $assert_session->fieldExists('path[0][alias]'); // Disable the 'Path' field for this content type. @@ -52,7 +55,7 @@ public function testNodeForm() { $this->drupalGet('node/add/page'); // See if the whole fieldset is gone now. - $assert_session->elementNotExists('css', '.form-type-vertical-tabs #edit-path-0'); + $assert_session->elementNotExists('css', '.js-form-type-vertical-tabs #edit-path-0'); $assert_session->fieldNotExists('path[0][alias]'); } diff --git a/web/core/modules/path/tests/src/Functional/PathTaxonomyTermTest.php b/web/core/modules/path/tests/src/Functional/PathTaxonomyTermTest.php index 6c90c63ed..f49d702de 100644 --- a/web/core/modules/path/tests/src/Functional/PathTaxonomyTermTest.php +++ b/web/core/modules/path/tests/src/Functional/PathTaxonomyTermTest.php @@ -23,6 +23,9 @@ class PathTaxonomyTermTest extends PathTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/path/tests/src/Functional/PathTestBase.php b/web/core/modules/path/tests/src/Functional/PathTestBase.php index 3e448f256..2bffb4a4f 100644 --- a/web/core/modules/path/tests/src/Functional/PathTestBase.php +++ b/web/core/modules/path/tests/src/Functional/PathTestBase.php @@ -19,6 +19,9 @@ abstract class PathTestBase extends BrowserTestBase { */ protected static $modules = ['node', 'path']; + /** + * {@inheritdoc} + */ protected function setUp() { parent::setUp(); diff --git a/web/core/modules/path/tests/src/Kernel/PathNoCanonicalLinkTest.php b/web/core/modules/path/tests/src/Kernel/PathNoCanonicalLinkTest.php index 5ef693cac..2b5257b95 100644 --- a/web/core/modules/path/tests/src/Kernel/PathNoCanonicalLinkTest.php +++ b/web/core/modules/path/tests/src/Kernel/PathNoCanonicalLinkTest.php @@ -27,6 +27,9 @@ class PathNoCanonicalLinkTest extends KernelTestBase { 'system', ]; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/path_alias/src/AliasManager.php b/web/core/modules/path_alias/src/AliasManager.php index fb695dd34..57eb23466 100644 --- a/web/core/modules/path_alias/src/AliasManager.php +++ b/web/core/modules/path_alias/src/AliasManager.php @@ -221,7 +221,7 @@ public function getAliasByPath($path, $langcode = NULL) { if (!empty($this->preloadedPathLookups[$langcode])) { $this->lookupMap[$langcode] = $this->pathAliasRepository->preloadPathAlias($this->preloadedPathLookups[$langcode], $langcode); // Keep a record of paths with no alias to avoid querying twice. - $this->noAlias[$langcode] = array_flip(array_diff_key($this->preloadedPathLookups[$langcode], array_keys($this->lookupMap[$langcode]))); + $this->noAlias[$langcode] = array_flip(array_diff($this->preloadedPathLookups[$langcode], array_keys($this->lookupMap[$langcode]))); } } @@ -275,9 +275,6 @@ public function cacheClear($source = NULL) { * * @param string $path * An optional path for which an alias is being inserted. - * - * @return - * An array containing a white list of path aliases. */ protected function pathAliasWhitelistRebuild($path = NULL) { // When paths are inserted, only rebuild the whitelist if the path has a top diff --git a/web/core/modules/path_alias/tests/src/Unit/AliasManagerTest.php b/web/core/modules/path_alias/tests/src/Unit/AliasManagerTest.php index 0e76f07a1..a03417c35 100644 --- a/web/core/modules/path_alias/tests/src/Unit/AliasManagerTest.php +++ b/web/core/modules/path_alias/tests/src/Unit/AliasManagerTest.php @@ -91,12 +91,12 @@ public function testGetPathByAliasNoMatch() { $this->languageManager->expects($this->any()) ->method('getCurrentLanguage') ->with(LanguageInterface::TYPE_URL) - ->will($this->returnValue($language)); + ->willReturn($language); $this->aliasRepository->expects($this->once()) ->method('lookupByAlias') ->with($alias, $language->getId()) - ->will($this->returnValue(NULL)); + ->willReturn(NULL); $this->assertEquals($alias, $this->aliasManager->getPathByAlias($alias)); // Call it twice to test the static cache. @@ -117,7 +117,7 @@ public function testGetPathByAliasMatch() { $this->aliasRepository->expects($this->once()) ->method('lookupByAlias') ->with($alias, $language->getId()) - ->will($this->returnValue(['path' => $path])); + ->willReturn(['path' => $path]); $this->assertEquals($path, $this->aliasManager->getPathByAlias($alias)); // Call it twice to test the static cache. @@ -139,7 +139,7 @@ public function testGetPathByAliasLangcode() { $this->aliasRepository->expects($this->once()) ->method('lookupByAlias') ->with($alias, 'de') - ->will($this->returnValue(['path' => $path])); + ->willReturn(['path' => $path]); $this->assertEquals($path, $this->aliasManager->getPathByAlias($alias, 'de')); // Call it twice to test the static cache. @@ -161,7 +161,7 @@ public function testGetAliasByPathWhitelist() { $this->aliasWhitelist->expects($this->any()) ->method('get') ->with($path_part1) - ->will($this->returnValue(FALSE)); + ->willReturn(FALSE); // The whitelist returns FALSE for that path part, so the storage should // never be called. @@ -188,12 +188,12 @@ public function testGetAliasByPathNoMatch() { $this->aliasWhitelist->expects($this->any()) ->method('get') ->with($path_part1) - ->will($this->returnValue(TRUE)); + ->willReturn(TRUE); $this->aliasRepository->expects($this->once()) ->method('lookupBySystemPath') ->with($path, $language->getId()) - ->will($this->returnValue(NULL)); + ->willReturn(NULL); $this->assertEquals($path, $this->aliasManager->getAliasByPath($path)); // Call it twice to test the static cache. @@ -226,12 +226,12 @@ public function testGetAliasByPathMatch() { $this->aliasWhitelist->expects($this->any()) ->method('get') ->with($path_part1) - ->will($this->returnValue(TRUE)); + ->willReturn(TRUE); $this->aliasRepository->expects($this->once()) ->method('lookupBySystemPath') ->with($path, $language->getId()) - ->will($this->returnValue(['alias' => $alias])); + ->willReturn(['alias' => $alias]); $this->assertEquals($alias, $this->aliasManager->getAliasByPath($path)); // Call it twice to test the static cache. @@ -259,11 +259,18 @@ public function testGetAliasByPathCachedMatch() { $language = $this->setUpCurrentLanguage(); - $cached_paths = [$language->getId() => [$path]]; + // Use a set of cached paths where the tested path is in any position, not + // only in the first one. + $cached_paths = [ + $language->getId() => [ + '/another/path', + $path, + ], + ]; $this->cache->expects($this->once()) ->method('get') ->with($this->cacheKey) - ->will($this->returnValue((object) ['data' => $cached_paths])); + ->willReturn((object) ['data' => $cached_paths]); // Simulate a request so that the preloaded paths are fetched. $this->aliasManager->setCacheKey($this->path); @@ -271,12 +278,12 @@ public function testGetAliasByPathCachedMatch() { $this->aliasWhitelist->expects($this->any()) ->method('get') ->with($path_part1) - ->will($this->returnValue(TRUE)); + ->willReturn(TRUE); $this->aliasRepository->expects($this->once()) ->method('preloadPathAlias') ->with($cached_paths[$language->getId()], $language->getId()) - ->will($this->returnValue([$path => $alias])); + ->willReturn([$path => $alias]); // LookupPathAlias should not be called. $this->aliasRepository->expects($this->never()) @@ -311,7 +318,7 @@ public function testGetAliasByPathCachedMissLanguage() { $this->cache->expects($this->once()) ->method('get') ->with($this->cacheKey) - ->will($this->returnValue((object) ['data' => $cached_paths])); + ->willReturn((object) ['data' => $cached_paths]); // Simulate a request so that the preloaded paths are fetched. $this->aliasManager->setCacheKey($this->path); @@ -319,7 +326,7 @@ public function testGetAliasByPathCachedMissLanguage() { $this->aliasWhitelist->expects($this->any()) ->method('get') ->with($path_part1) - ->will($this->returnValue(TRUE)); + ->willReturn(TRUE); // The requested language is different than the cached, so this will // need to load. @@ -328,7 +335,7 @@ public function testGetAliasByPathCachedMissLanguage() { $this->aliasRepository->expects($this->once()) ->method('lookupBySystemPath') ->with($path, $language->getId()) - ->will($this->returnValue(['alias' => $alias])); + ->willReturn(['alias' => $alias]); $this->assertEquals($alias, $this->aliasManager->getAliasByPath($path)); // Call it twice to test the static cache. @@ -360,7 +367,7 @@ public function testGetAliasByPathCachedMissNoAlias() { $this->cache->expects($this->once()) ->method('get') ->with($this->cacheKey) - ->will($this->returnValue((object) ['data' => $cached_paths])); + ->willReturn((object) ['data' => $cached_paths]); // Simulate a request so that the preloaded paths are fetched. $this->aliasManager->setCacheKey($this->path); @@ -368,12 +375,12 @@ public function testGetAliasByPathCachedMissNoAlias() { $this->aliasWhitelist->expects($this->any()) ->method('get') ->with($path_part1) - ->will($this->returnValue(TRUE)); + ->willReturn(TRUE); $this->aliasRepository->expects($this->once()) ->method('preloadPathAlias') ->with($cached_paths[$language->getId()], $language->getId()) - ->will($this->returnValue([$cached_path => $cached_alias])); + ->willReturn([$cached_path => $cached_alias]); // LookupPathAlias() should not be called. $this->aliasRepository->expects($this->never()) @@ -408,7 +415,7 @@ public function testGetAliasByPathUncachedMissNoAlias() { $this->cache->expects($this->once()) ->method('get') ->with($this->cacheKey) - ->will($this->returnValue((object) ['data' => $cached_paths])); + ->willReturn((object) ['data' => $cached_paths]); // Simulate a request so that the preloaded paths are fetched. $this->aliasManager->setCacheKey($this->path); @@ -416,17 +423,17 @@ public function testGetAliasByPathUncachedMissNoAlias() { $this->aliasWhitelist->expects($this->any()) ->method('get') ->with($path_part1) - ->will($this->returnValue(TRUE)); + ->willReturn(TRUE); $this->aliasRepository->expects($this->once()) ->method('preloadPathAlias') ->with($cached_paths[$language->getId()], $language->getId()) - ->will($this->returnValue([$cached_path => $cached_alias])); + ->willReturn([$cached_path => $cached_alias]); $this->aliasRepository->expects($this->once()) ->method('lookupBySystemPath') ->with($path, $language->getId()) - ->will($this->returnValue(NULL)); + ->willReturn(NULL); $this->assertEquals($path, $this->aliasManager->getAliasByPath($path)); // Call it twice to test the static cache. @@ -494,7 +501,7 @@ public function testGetAliasByPathUncachedMissWithAlias() { $this->cache->expects($this->once()) ->method('get') ->with($this->cacheKey) - ->will($this->returnValue((object) ['data' => $cached_paths])); + ->willReturn((object) ['data' => $cached_paths]); // Simulate a request so that the preloaded paths are fetched. $this->aliasManager->setCacheKey($this->path); @@ -502,17 +509,17 @@ public function testGetAliasByPathUncachedMissWithAlias() { $this->aliasWhitelist->expects($this->any()) ->method('get') ->with($path_part1) - ->will($this->returnValue(TRUE)); + ->willReturn(TRUE); $this->aliasRepository->expects($this->once()) ->method('preloadPathAlias') ->with($cached_paths[$language->getId()], $language->getId()) - ->will($this->returnValue([$cached_path => $cached_alias])); + ->willReturn([$cached_path => $cached_alias]); $this->aliasRepository->expects($this->once()) ->method('lookupBySystemPath') ->with($path, $language->getId()) - ->will($this->returnValue(['alias' => $new_alias])); + ->willReturn(['alias' => $new_alias]); $this->assertEquals($new_alias, $this->aliasManager->getAliasByPath($path)); // Call it twice to test the static cache. @@ -537,7 +544,7 @@ protected function setUpCurrentLanguage() { $this->languageManager->expects($this->any()) ->method('getCurrentLanguage') ->with(LanguageInterface::TYPE_URL) - ->will($this->returnValue($language)); + ->willReturn($language); return $language; } diff --git a/web/core/modules/path_alias/tests/src/Unit/PathProcessor/AliasPathProcessorTest.php b/web/core/modules/path_alias/tests/src/Unit/PathProcessor/AliasPathProcessorTest.php index 5da232eb4..43cbc5387 100644 --- a/web/core/modules/path_alias/tests/src/Unit/PathProcessor/AliasPathProcessorTest.php +++ b/web/core/modules/path_alias/tests/src/Unit/PathProcessor/AliasPathProcessorTest.php @@ -29,6 +29,9 @@ class AliasPathProcessorTest extends UnitTestCase { */ protected $pathProcessor; + /** + * {@inheritdoc} + */ protected function setUp(): void { $this->aliasManager = $this->createMock('Drupal\path_alias\AliasManagerInterface'); $this->pathProcessor = new AliasPathProcessor($this->aliasManager); diff --git a/web/core/modules/pgsql/src/Driver/Database/pgsql/Connection.php b/web/core/modules/pgsql/src/Driver/Database/pgsql/Connection.php index 8df056b6f..efd86a4a2 100644 --- a/web/core/modules/pgsql/src/Driver/Database/pgsql/Connection.php +++ b/web/core/modules/pgsql/src/Driver/Database/pgsql/Connection.php @@ -368,7 +368,7 @@ public function rollbackSavepoint($savepoint_name = 'mimic_implicit_commit') { } /** - * {@inheritDoc} + * {@inheritdoc} */ public function hasJson(): bool { try { diff --git a/web/core/modules/pgsql/src/Driver/Database/pgsql/Schema.php b/web/core/modules/pgsql/src/Driver/Database/pgsql/Schema.php index ecf514018..d904a1f33 100644 --- a/web/core/modules/pgsql/src/Driver/Database/pgsql/Schema.php +++ b/web/core/modules/pgsql/src/Driver/Database/pgsql/Schema.php @@ -329,8 +329,7 @@ protected function createTableSql($name, $table) { } /** - * Create an SQL string for a field to be used in table creation or - * alteration. + * Creates a safe SQL string for a field for table creation or alteration. * * @param $name * Name of the field. @@ -461,7 +460,7 @@ public function getFieldTypeMap() { 'serial:medium' => 'serial', 'serial:big' => 'bigserial', 'serial:normal' => 'serial', - ]; + ]; return $map; } @@ -1044,8 +1043,9 @@ public function getComment($table, $column = NULL) { } /** - * Calculates a base-64 encoded, PostgreSQL-safe sha-256 hash per PostgreSQL - * documentation: 4.1. Lexical Structure. + * Calculates a base-64 encoded PostgreSQL-safe sha-256 hash. + * + * The hash is modified to according to @link https://www.postgresql.org/docs/current/sql-syntax-lexical.html PostgreSQL Lexical Structure@endlink. * * @param $data * String to be hashed. diff --git a/web/core/modules/pgsql/tests/src/Unit/SchemaTest.php b/web/core/modules/pgsql/tests/src/Unit/SchemaTest.php index 767363814..3b9192fde 100644 --- a/web/core/modules/pgsql/tests/src/Unit/SchemaTest.php +++ b/web/core/modules/pgsql/tests/src/Unit/SchemaTest.php @@ -74,7 +74,7 @@ public function providerComputedConstraintName() { return [ ['user_field_data', 'pkey', 'user_field_data____pkey'], ['user_field_data', 'name__key', 'user_field_data__name__key'], - ['user_field_data', 'a_veeeery_veery_very_super_long_field_name__key', 'drupal_BGGYAXgbqlAF1rMOyFTdZGj9zIMXZtSvEjMAKZ9wGIk_key'], + ['user_field_data', 'a_very_very_very_very_super_long_field_name__key', 'drupal_WW_a8TlbZ3UQi20UTtRlJFaIeSa6FEtQS5h4NRA3UeU_key'], ]; } diff --git a/web/core/modules/quickedit/js/editors/formEditor.js b/web/core/modules/quickedit/js/editors/formEditor.js index 9eec92394..0777872b7 100644 --- a/web/core/modules/quickedit/js/editors/formEditor.js +++ b/web/core/modules/quickedit/js/editors/formEditor.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal, _) { Drupal.quickedit.editors.form = Drupal.quickedit.EditorView.extend({ $formContainer: null, @@ -12,41 +11,30 @@ stateChange: function stateChange(fieldModel, state) { var from = fieldModel.previous('state'); var to = state; - switch (to) { case 'inactive': break; - case 'candidate': if (from !== 'inactive') { this.removeForm(); } - break; - case 'highlighted': break; - case 'activating': if (from !== 'invalid') { this.loadForm(); } - break; - case 'active': break; - case 'changed': break; - case 'saving': this.save(); break; - case 'saved': break; - case 'invalid': this.showValidationErrors(); break; @@ -69,7 +57,6 @@ })); this.$formContainer = $formContainer; $formContainer.find('.quickedit-form').addClass('quickedit-editable quickedit-highlighted quickedit-editing').attr('role', 'dialog'); - if (this.$el.css('display') === 'inline') { $formContainer.prependTo(this.$el.offsetParent()); var pos = this.$el.position(); @@ -77,7 +64,6 @@ } else { $formContainer.insertBefore(this.$el); } - var formOptions = { fieldID: fieldModel.get('fieldID'), $el: this.$el, @@ -91,7 +77,6 @@ }); $formContainer.on('formUpdated.quickedit', ':input', function (event) { var state = fieldModel.get('state'); - if (state === 'invalid') { fieldModel.set('state', 'activating'); } else { @@ -109,7 +94,6 @@ if (this.$formContainer === null) { return; } - delete this.formSaveAjax; Drupal.detachBehaviors(this.$formContainer.get(0), null, 'unload'); this.$formContainer.off('change.quickedit', ':input').off('keypress.quickedit', 'input').remove(); @@ -124,34 +108,28 @@ nocssjs: false, other_view_modes: fieldModel.findOtherViewModes() }, $submit); - function cleanUpAjax() { Drupal.quickedit.util.form.unajaxifySaving(formSaveAjax); formSaveAjax = null; } - formSaveAjax.commands.quickeditFieldFormSaved = function (ajax, response, status) { cleanUpAjax(); fieldModel.set('state', 'saved'); fieldModel.set('htmlForOtherViewModes', response.other_view_modes); - _.defer(function () { fieldModel.set('html', response.data); }); }; - formSaveAjax.commands.quickeditFieldFormValidationErrors = function (ajax, response, status) { editorModel.set('validationErrors', response.data); fieldModel.set('state', 'invalid'); }; - formSaveAjax.commands.quickeditFieldForm = function (ajax, response, status) { Drupal.AjaxCommands.prototype.insert(ajax, { data: response.data, selector: "#".concat($formContainer.attr('id'), " form") }); }; - $submit.trigger('click.quickedit'); }, showValidationErrors: function showValidationErrors() { diff --git a/web/core/modules/quickedit/js/editors/image.js b/web/core/modules/quickedit/js/editors/image.js index 9f798849c..ac3b66f44 100644 --- a/web/core/modules/quickedit/js/editors/image.js +++ b/web/core/modules/quickedit/js/editors/image.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, _, Drupal) { Drupal.quickedit.editors.image = Drupal.quickedit.EditorView.extend({ initialize: function initialize(options) { @@ -12,12 +11,10 @@ this.model.set('originalValue', this.$el.html().trim()); this.model.set('currentValue', function (index, value) { var matches = $(this).attr('name').match(/(alt|title)]$/); - if (matches) { var name = matches[1]; var $toolgroup = $("#".concat(options.fieldModel.toolbarView.getMainWysiwygToolgroupId())); var $input = $toolgroup.find(".quickedit-image-field-info input[name=\"".concat(name, "\"]")); - if ($input.length) { return $input[0].value; } @@ -26,33 +23,25 @@ }, stateChange: function stateChange(fieldModel, state, options) { var from = fieldModel.previous('state'); - switch (state) { case 'inactive': break; - case 'candidate': if (from !== 'inactive') { this.$el.find('.quickedit-image-dropzone').remove(); this.$el.removeClass('quickedit-image-element'); } - if (from === 'invalid') { this.removeValidationErrors(); } - break; - case 'highlighted': break; - case 'activating': _.defer(function () { fieldModel.set('state', 'active'); }); - break; - case 'active': { var self = this; @@ -84,21 +73,16 @@ this.renderToolbar(fieldModel); break; } - case 'changed': break; - case 'saving': if (from === 'invalid') { this.removeValidationErrors(); } - this.save(options); break; - case 'saved': break; - case 'invalid': this.showValidationErrors(); break; @@ -140,27 +124,22 @@ }; var ajaxOptions = $.extend(defaultOptions, options); var successCallback = ajaxOptions.success; - ajaxOptions.success = function (response) { if (response.main_error) { this.renderDropzone('error', response.main_error); - if (response.errors.length) { this.model.set('validationErrors', response.errors); } - this.showValidationErrors(); } else { successCallback(response); } }; - $.ajax(ajaxOptions); }, renderToolbar: function renderToolbar(fieldModel) { var $toolgroup = $("#".concat(fieldModel.toolbarView.getMainWysiwygToolgroupId())); var $toolbar = $toolgroup.find('.quickedit-image-field-info'); - if ($toolbar.length === 0) { var fieldID = fieldModel.get('fieldID'); var url = Drupal.quickedit.util.buildUrl(fieldID, Drupal.url('quickedit/image/info/!entity_type/!id/!field_name/!langcode/!view_mode')); @@ -181,7 +160,6 @@ }, renderDropzone: function renderDropzone(state, text) { var $dropzone = this.$el.find('.quickedit-image-dropzone'); - if ($dropzone.length) { $dropzone.removeClass('upload error hover loading').addClass(".quickedit-image-dropzone ".concat(state)).children('.quickedit-image-text').html(text); } else { @@ -191,7 +169,6 @@ })); this.$el.append($dropzone); } - return $dropzone; }, revert: function revert() { diff --git a/web/core/modules/quickedit/js/editors/plainTextEditor.js b/web/core/modules/quickedit/js/editors/plainTextEditor.js index cee3a1a6e..6e0c7953b 100644 --- a/web/core/modules/quickedit/js/editors/plainTextEditor.js +++ b/web/core/modules/quickedit/js/editors/plainTextEditor.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, _, Drupal) { Drupal.quickedit.editors.plain_text = Drupal.quickedit.EditorView.extend({ $textElement: null, @@ -19,7 +18,6 @@ var previousText = editorModel.get('originalValue'); $textElement.on('keyup paste', function (event) { var currentText = $textElement[0].textContent.trim(); - if (previousText !== currentText) { previousText = currentText; editorModel.set('currentValue', currentText); @@ -33,50 +31,37 @@ stateChange: function stateChange(fieldModel, state, options) { var from = fieldModel.previous('state'); var to = state; - switch (to) { case 'inactive': break; - case 'candidate': if (from !== 'inactive') { this.$textElement.removeAttr('contenteditable'); } - if (from === 'invalid') { this.removeValidationErrors(); } - break; - case 'highlighted': break; - case 'activating': _.defer(function () { fieldModel.set('state', 'active'); }); - break; - case 'active': this.$textElement.attr('contenteditable', 'true'); break; - case 'changed': break; - case 'saving': if (from === 'invalid') { this.removeValidationErrors(); } - this.save(options); break; - case 'saved': break; - case 'invalid': this.showValidationErrors(); break; diff --git a/web/core/modules/quickedit/js/models/AppModel.js b/web/core/modules/quickedit/js/models/AppModel.js index 21232d763..6bebad66f 100644 --- a/web/core/modules/quickedit/js/models/AppModel.js +++ b/web/core/modules/quickedit/js/models/AppModel.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function (Backbone, Drupal) { Drupal.quickedit.AppModel = Backbone.Model.extend({ defaults: { diff --git a/web/core/modules/quickedit/js/models/BaseModel.js b/web/core/modules/quickedit/js/models/BaseModel.js index 6f1c60a26..8d3461bce 100644 --- a/web/core/modules/quickedit/js/models/BaseModel.js +++ b/web/core/modules/quickedit/js/models/BaseModel.js @@ -4,9 +4,7 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } - (function (Drupal, Backbone) { Drupal.quickedit.BaseModel = Backbone.Model.extend({ initialize: function initialize(options) { @@ -21,11 +19,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" = if (!options) { options = {}; } - options.validate = true; } } - return Backbone.Model.prototype.set.call(this, key, val, options); } }); diff --git a/web/core/modules/quickedit/js/models/EditorModel.js b/web/core/modules/quickedit/js/models/EditorModel.js index ab9f555e1..983ea5c05 100644 --- a/web/core/modules/quickedit/js/models/EditorModel.js +++ b/web/core/modules/quickedit/js/models/EditorModel.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function (Backbone, Drupal) { Drupal.quickedit.EditorModel = Backbone.Model.extend({ defaults: { diff --git a/web/core/modules/quickedit/js/models/EntityModel.js b/web/core/modules/quickedit/js/models/EntityModel.js index 9776a9c61..2f617046b 100644 --- a/web/core/modules/quickedit/js/models/EntityModel.js +++ b/web/core/modules/quickedit/js/models/EntityModel.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function (_, $, Backbone, Drupal) { Drupal.quickedit.EntityModel = Drupal.quickedit.BaseModel.extend({ defaults: { @@ -30,7 +29,6 @@ }, stateChange: function stateChange(entityModel, state, options) { var to = state; - switch (to) { case 'closed': this.set({ @@ -39,20 +37,16 @@ isDirty: false }); break; - case 'launching': break; - case 'opening': entityModel.get('fields').each(function (fieldModel) { fieldModel.set('state', 'candidate', options); }); break; - case 'opened': this.set('isActive', true); break; - case 'committing': { var fields = this.get('fields'); @@ -68,18 +62,15 @@ }); break; } - case 'deactivating': { var changedFields = this.get('fields').filter(function (fieldModel) { return _.intersection([fieldModel.get('state')], ['changed', 'invalid']).length; }); - if ((changedFields.length || this.get('fieldsInTempStore').length) && !options.saved && !options.confirmed) { this.set('state', 'opened', { confirming: true }); - _.defer(function () { Drupal.quickedit.app.confirmEntityDeactivation(entityModel); }); @@ -96,10 +87,8 @@ } }); } - break; } - case 'closing': options.reason = 'stop'; this.get('fields').each(function (fieldModel) { @@ -115,7 +104,6 @@ var current = fieldModel.get('state'); var previous = fieldModel.previous('state'); var fieldsInTempStore = entityModel.get('fieldsInTempStore'); - if (current === 'saved') { entityModel.set('inTempStore', true); fieldModel.set('inTempStore', true); @@ -129,30 +117,24 @@ fieldStateChange: function fieldStateChange(fieldModel, state) { var entityModel = this; var fieldState = state; - switch (this.get('state')) { case 'closed': case 'launching': break; - case 'opening': _.defer(function () { entityModel.set('state', 'opened', { 'accept-field-states': Drupal.quickedit.app.readyFieldStates }); }); - break; - case 'opened': if (fieldState === 'changed') { entityModel.set('isDirty', true); } else { this._updateInTempStoreAttributes(entityModel, fieldModel); } - break; - case 'committing': { if (fieldState === 'invalid') { @@ -164,11 +146,9 @@ } else { this._updateInTempStoreAttributes(entityModel, fieldModel); } - var options = { 'accept-field-states': Drupal.quickedit.app.readyFieldStates }; - if (entityModel.set('isCommitting', true, options)) { entityModel.save({ success: function success() { @@ -191,26 +171,21 @@ } }); } - break; } - case 'deactivating': _.defer(function () { entityModel.set('state', 'closing', { 'accept-field-states': Drupal.quickedit.app.readyFieldStates }); }); - break; - case 'closing': _.defer(function () { entityModel.set('state', 'closed', { 'accept-field-states': ['inactive'] }); }); - break; } }, @@ -222,19 +197,16 @@ options.error.call(entityModel); } }); - entitySaverAjax.commands.quickeditEntitySaved = function (ajax, response, status) { entityModel.get('fields').each(function (fieldModel) { fieldModel.set('inTempStore', false); }); entityModel.set('inTempStore', false); entityModel.set('fieldsInTempStore', []); - if (options.success) { options.success.call(entityModel); } }; - entitySaverAjax.options.headers = entitySaverAjax.options.headers || {}; entitySaverAjax.options.headers['X-Drupal-Quickedit-CSRF-Token'] = drupalSettings.quickedit.csrf_token; entitySaverAjax.execute(); @@ -243,24 +215,19 @@ var acceptedFieldStates = options['accept-field-states'] || []; var currentState = this.get('state'); var nextState = attrs.state; - if (currentState !== nextState) { if (_.indexOf(this.constructor.states, nextState) === -1) { return "\"".concat(nextState, "\" is an invalid state"); } - if (!this._acceptStateChange(currentState, nextState, options)) { return 'state change not accepted'; } - if (!this._fieldsHaveAcceptableStates(acceptedFieldStates)) { return 'state change not accepted because fields are not in acceptable state'; } } - var currentIsCommitting = this.get('isCommitting'); var nextIsCommitting = attrs.isCommitting; - if (currentIsCommitting === false && nextIsCommitting === true) { if (!this._fieldsHaveAcceptableStates(acceptedFieldStates)) { return 'isCommitting change not accepted because fields are not in acceptable state'; @@ -271,10 +238,8 @@ }, _acceptStateChange: function _acceptStateChange(from, to, context) { var accept = true; - if (!this.constructor.followsStateSequence(from, to)) { accept = false; - if (from === 'closing' && to === 'closed') { accept = true; } else if (from === 'committing' && to === 'opened' && context.reason && (context.reason === 'invalid' || context.reason === 'networkerror')) { @@ -285,20 +250,16 @@ accept = true; } } - return accept; }, _fieldsHaveAcceptableStates: function _fieldsHaveAcceptableStates(acceptedFieldStates) { var accept = true; - if (acceptedFieldStates.length > 0) { var fieldStates = this.get('fields').pluck('state') || []; - if (_.difference(fieldStates, acceptedFieldStates).length) { accept = false; } } - return accept; }, destroy: function destroy(options) { diff --git a/web/core/modules/quickedit/js/models/FieldModel.js b/web/core/modules/quickedit/js/models/FieldModel.js index 76037ede0..733130684 100644 --- a/web/core/modules/quickedit/js/models/FieldModel.js +++ b/web/core/modules/quickedit/js/models/FieldModel.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function (_, Backbone, Drupal) { Drupal.quickedit.FieldModel = Drupal.quickedit.BaseModel.extend({ defaults: { @@ -31,19 +30,16 @@ if (this.get('state') !== 'inactive') { throw new Error('FieldModel cannot be destroyed if it is not inactive state.'); } - Drupal.quickedit.BaseModel.prototype.destroy.call(this, options); }, sync: function sync() {}, validate: function validate(attrs, options) { var current = this.get('state'); var next = attrs.state; - if (current !== next) { if (_.indexOf(this.constructor.states, next) === -1) { return "\"".concat(next, "\" is an invalid state"); } - if (!this.get('acceptStateChange')(current, next, options, this)) { return 'state change not accepted'; } diff --git a/web/core/modules/quickedit/js/quickedit.es6.js b/web/core/modules/quickedit/js/quickedit.es6.js index fe0dc6a8b..d399a1323 100644 --- a/web/core/modules/quickedit/js/quickedit.es6.js +++ b/web/core/modules/quickedit/js/quickedit.es6.js @@ -180,16 +180,9 @@ url: Drupal.url('quickedit/attachments'), submit: { 'editors[]': missingEditors }, }); - // Implement a scoped insert AJAX command: calls the callback after all AJAX - // command functions have been executed (hence the deferred calling). - const realInsert = Drupal.AjaxCommands.prototype.insert; - loadEditorsAjax.commands.insert = function (ajax, response, status) { - _.defer(callback); - realInsert(ajax, response, status); - }; // Trigger the AJAX request, which will should return AJAX commands to // insert any missing attachments. - loadEditorsAjax.execute(); + loadEditorsAjax.execute().then(callback); } /** diff --git a/web/core/modules/quickedit/js/quickedit.js b/web/core/modules/quickedit/js/quickedit.js index 2e0f21551..992cd5bda 100644 --- a/web/core/modules/quickedit/js/quickedit.js +++ b/web/core/modules/quickedit/js/quickedit.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, _, Backbone, Drupal, drupalSettings, JSON, storage) { var options = $.extend(drupalSettings.quickedit, { strings: { @@ -15,7 +14,6 @@ var fieldsAvailableQueue = []; var contextualLinksQueue = []; var entityInstancesTracker = {}; - function initQuickEdit(bodyElement) { Drupal.quickedit.collections.entities = new Drupal.quickedit.EntityCollection(); Drupal.quickedit.collections.fields = new Drupal.quickedit.FieldCollection(); @@ -26,20 +24,16 @@ fieldsCollection: Drupal.quickedit.collections.fields }); } - function processEntity(entityElement) { var entityID = entityElement.getAttribute('data-quickedit-entity-id'); - if (!entityInstancesTracker.hasOwnProperty(entityID)) { entityInstancesTracker[entityID] = 0; } else { entityInstancesTracker[entityID]++; } - var entityInstanceID = entityInstancesTracker[entityID]; entityElement.setAttribute('data-quickedit-entity-instance-id', entityInstanceID); } - function initializeField(fieldElement, fieldID, entityID, entityInstanceID) { var entity = Drupal.quickedit.collections.entities.findWhere({ entityID: entityID, @@ -56,73 +50,51 @@ }); Drupal.quickedit.collections.fields.add(field); } - function loadMissingEditors(callback) { var loadedEditors = _.keys(Drupal.quickedit.editors); - var missingEditors = []; Drupal.quickedit.collections.fields.each(function (fieldModel) { var metadata = Drupal.quickedit.metadata.get(fieldModel.get('fieldID')); - if (metadata.access && _.indexOf(loadedEditors, metadata.editor) === -1) { missingEditors.push(metadata.editor); Drupal.quickedit.editors[metadata.editor] = false; } }); missingEditors = _.uniq(missingEditors); - if (missingEditors.length === 0) { callback(); return; } - var loadEditorsAjax = Drupal.ajax({ url: Drupal.url('quickedit/attachments'), submit: { 'editors[]': missingEditors } }); - var realInsert = Drupal.AjaxCommands.prototype.insert; - - loadEditorsAjax.commands.insert = function (ajax, response, status) { - _.defer(callback); - - realInsert(ajax, response, status); - }; - - loadEditorsAjax.execute(); + loadEditorsAjax.execute().then(callback); } - function initializeEntityContextualLink(contextualLink) { var metadata = Drupal.quickedit.metadata; - function hasFieldWithPermission(fieldIDs) { for (var i = 0; i < fieldIDs.length; i++) { var fieldID = fieldIDs[i]; - if (metadata.get(fieldID, 'access') === true) { return true; } } - return false; } - function allMetadataExists(fieldIDs) { return fieldIDs.length === metadata.intersection(fieldIDs).length; } - var fields = _.where(fieldsAvailableQueue, { entityID: contextualLink.entityID, entityInstanceID: contextualLink.entityInstanceID }); - var fieldIDs = _.pluck(fields, 'fieldID'); - if (fieldIDs.length === 0) { return false; } - if (hasFieldWithPermission(fieldIDs)) { var entityModel = new Drupal.quickedit.EntityModel({ el: contextualLink.region, @@ -137,13 +109,10 @@ model: entityModel }); entityModel.set('entityDecorationView', entityDecorationView); - _.each(fields, function (field) { initializeField(field.el, field.fieldID, contextualLink.entityID, contextualLink.entityInstanceID); }); - fieldsAvailableQueue = _.difference(fieldsAvailableQueue, fields); - var initContextualLink = _.once(function () { var $links = $(contextualLink.el).find('.contextual-links'); var contextualLinkView = new Drupal.quickedit.ContextualLinkView($.extend({ @@ -153,42 +122,32 @@ }, options)); entityModel.set('contextualLinkView', contextualLinkView); }); - loadMissingEditors(initContextualLink); return true; } - if (allMetadataExists(fieldIDs)) { return true; } - return false; } - function extractEntityID(fieldID) { return fieldID.split('/').slice(0, 2).join('/'); } - function processField(fieldElement) { var metadata = Drupal.quickedit.metadata; var fieldID = fieldElement.getAttribute('data-quickedit-field-id'); var entityID = extractEntityID(fieldID); var entityElementSelector = "[data-quickedit-entity-id=\"".concat(entityID, "\"]"); var $entityElement = $(entityElementSelector); - if (!$entityElement.length) { throw new Error("Quick Edit could not associate the rendered entity field markup (with [data-quickedit-field-id=\"".concat(fieldID, "\"]) with the corresponding rendered entity markup: no parent DOM node found with [data-quickedit-entity-id=\"").concat(entityID, "\"]. This is typically caused by the theme's template for this entity type forgetting to print the attributes.")); } - var entityElement = $(fieldElement).closest($entityElement); - if (entityElement.length === 0) { var $lowestCommonParent = $entityElement.parents().has(fieldElement).first(); entityElement = $lowestCommonParent.find($entityElement); } - var entityInstanceID = entityElement.get(0).getAttribute('data-quickedit-entity-instance-id'); - if (!metadata.has(fieldID)) { fieldsMetadataQueue.push({ el: fieldElement, @@ -198,11 +157,9 @@ }); return; } - if (metadata.get(fieldID, 'access') !== true) { return; } - if (Drupal.quickedit.collections.entities.findWhere({ entityID: entityID, entityInstanceID: entityInstanceID @@ -217,13 +174,11 @@ }); } } - function deleteContainedModelsAndQueues($context) { $context.find('[data-quickedit-entity-id]').addBack('[data-quickedit-entity-id]').each(function (index, entityElement) { var entityModel = Drupal.quickedit.collections.entities.findWhere({ el: entityElement }); - if (entityModel) { var contextualLinkView = entityModel.get('contextualLinkView'); contextualLinkView.undelegateEvents(); @@ -231,35 +186,27 @@ entityModel.get('entityDecorationView').remove(); entityModel.destroy(); } - function hasOtherRegion(contextualLink) { return contextualLink.region !== entityElement; } - contextualLinksQueue = _.filter(contextualLinksQueue, hasOtherRegion); }); $context.find('[data-quickedit-field-id]').addBack('[data-quickedit-field-id]').each(function (index, fieldElement) { Drupal.quickedit.collections.fields.chain().filter(function (fieldModel) { return fieldModel.get('el') === fieldElement; }).invoke('destroy'); - function hasOtherFieldElement(field) { return field.el !== fieldElement; } - fieldsMetadataQueue = _.filter(fieldsMetadataQueue, hasOtherFieldElement); fieldsAvailableQueue = _.filter(fieldsAvailableQueue, hasOtherFieldElement); }); } - function fetchMissingMetadata(callback) { if (fieldsMetadataQueue.length) { var fieldIDs = _.pluck(fieldsMetadataQueue, 'fieldID'); - var fieldElementsWithoutMetadata = _.pluck(fieldsMetadataQueue, 'el'); - var entityIDs = _.uniq(_.pluck(fieldsMetadataQueue, 'entityID'), true); - entityIDs = _.difference(entityIDs, Drupal.quickedit.metadata.intersection(entityIDs)); fieldsMetadataQueue = []; $.ajax({ @@ -274,22 +221,18 @@ _.each(results, function (fieldMetadata, fieldID) { Drupal.quickedit.metadata.add(fieldID, fieldMetadata); }); - callback(fieldElementsWithoutMetadata); } }); } } - Drupal.behaviors.quickedit = { attach: function attach(context) { once('quickedit-init', 'body').forEach(initQuickEdit); var fields = once('quickedit', '[data-quickedit-field-id]', context); - if (fields.length === 0) { return; } - once('quickedit', '[data-quickedit-entity-id]', context).forEach(processEntity); fields.forEach(processField); contextualLinksQueue = _.filter(contextualLinksQueue, function (contextualLink) { @@ -297,7 +240,6 @@ }); fetchMissingMetadata(function (fieldElementsWithFreshMetadata) { _.each(fieldElementsWithFreshMetadata, processField); - contextualLinksQueue = _.filter(contextualLinksQueue, function (contextualLink) { return !initializeEntityContextualLink(contextualLink); }); @@ -335,19 +277,14 @@ }, intersection: function intersection(fieldIDs) { var prefixedFieldIDs = _.map(fieldIDs, this._prefixFieldID); - var intersection = _.intersection(prefixedFieldIDs, _.keys(sessionStorage)); - return _.map(intersection, this._unprefixFieldID); } } }; - var permissionsHashKey = Drupal.quickedit.metadata._prefixFieldID('permissionsHash'); - var permissionsHashValue = storage.getItem(permissionsHashKey); var permissionsHash = drupalSettings.user.permissionsHash; - if (permissionsHashValue !== permissionsHash) { if (typeof permissionsHash === 'string') { _.chain(storage).keys().each(function (key) { @@ -356,24 +293,20 @@ } }); } - storage.setItem(permissionsHashKey, permissionsHash); } - $(document).on('drupalContextualLinkAdded', function (event, data) { if (data.$region.is('[data-quickedit-entity-id]')) { if (!data.$region.is('[data-quickedit-entity-instance-id]')) { once('quickedit', data.$region); processEntity(data.$region.get(0)); } - var contextualLink = { entityID: data.$region.attr('data-quickedit-entity-id'), entityInstanceID: data.$region.attr('data-quickedit-entity-instance-id'), el: data.$el[0], region: data.$region[0] }; - if (!initializeEntityContextualLink(contextualLink)) { contextualLinksQueue.push(contextualLink); } diff --git a/web/core/modules/quickedit/js/theme.js b/web/core/modules/quickedit/js/theme.js index 2e9723f72..44211e3ff 100644 --- a/web/core/modules/quickedit/js/theme.js +++ b/web/core/modules/quickedit/js/theme.js @@ -4,14 +4,12 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal) { Drupal.theme.quickeditBackstage = function (settings) { var html = ''; html += "
                                                  "); return html; }; - Drupal.theme.quickeditEntityToolbar = function (settings) { var html = ''; html += "
                                                  "); @@ -24,29 +22,23 @@ html += '
                                              '; return html; }; - Drupal.theme.quickeditEntityToolbarLabel = function (settings) { return "".concat(Drupal.checkPlain(settings.fieldLabel), "").concat(Drupal.checkPlain(settings.entityLabel)); }; - Drupal.theme.quickeditEntityToolbarFence = function () { return '
                                              '; }; - Drupal.theme.quickeditFieldToolbar = function (settings) { return "
                                              "); }; - Drupal.theme.quickeditToolgroup = function (settings) { var classes = settings.classes || []; classes.unshift('quickedit-toolgroup'); var html = ''; html += "
                                              ").concat(button.label, ""); }; - for (var i = 0; i < settings.buttons.length; i++) { _loop(i); } - return html; }; - Drupal.theme.quickeditFormContainer = function (settings) { var html = ''; html += "
                                              "); @@ -91,26 +76,20 @@ html += '
                                              '; return html; }; - Drupal.theme.quickeditImageErrors = function (settings) { return "
                                              ".concat(settings.errors, "
                                              "); }; - Drupal.theme.quickeditImageDropzone = function (settings) { return "
                                              ") + ' ' + " ".concat(settings.text, "") + '
                                              '; }; - Drupal.theme.quickeditImageToolbar = function (settings) { var html = '
                                              '; - if (settings.alt_field) { html += "
                                              ") + "") + '
                                              '; } - if (settings.title_field) { html += "
                                              ") + "") + '
                                              '; } - html += '
                                              '; return html; }; diff --git a/web/core/modules/quickedit/js/util.js b/web/core/modules/quickedit/js/util.js index 7c3e80d2d..6f6fbcbc0 100644 --- a/web/core/modules/quickedit/js/util.js +++ b/web/core/modules/quickedit/js/util.js @@ -4,12 +4,10 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal) { Drupal.quickedit.util = Drupal.quickedit.util || {}; Drupal.quickedit.util.constants = {}; Drupal.quickedit.util.constants.transitionEnd = 'transitionEnd.quickedit webkitTransitionEnd.quickedit transitionend.quickedit msTransitionEnd.quickedit oTransitionEnd.quickedit'; - Drupal.quickedit.util.buildUrl = function (id, urlFormat) { var parts = id.split('/'); return Drupal.formatString(decodeURIComponent(urlFormat), { @@ -20,7 +18,6 @@ '!view_mode': parts[4] }); }; - Drupal.quickedit.util.networkErrorModal = function (title, message) { var $message = $("
                                              ".concat(message, "
                                              ")); var networkErrorModal = Drupal.dialog($message.get(0), { @@ -42,7 +39,6 @@ }); networkErrorModal.showModal(); }; - Drupal.quickedit.util.form = { load: function load(options, callback) { var fieldID = options.fieldID; @@ -62,12 +58,10 @@ fieldModel.set('state', 'candidate'); } }); - formLoaderAjax.commands.quickeditFieldForm = function (ajax, response, status) { callback(response.data, ajax); Drupal.ajax.instances[this.instanceIndex] = null; }; - formLoaderAjax.execute(); }, ajaxifySaving: function ajaxifySaving(options, $submit) { @@ -82,7 +76,6 @@ }, success: function success(response, status) { var _this = this; - Object.keys(response || {}).forEach(function (i) { if (response[i].command && _this.commands[response[i].command]) { _this.commands[response[i].command](_this, response[i], status); diff --git a/web/core/modules/quickedit/js/views/AppView.js b/web/core/modules/quickedit/js/views/AppView.js index 26aabbd61..b29023584 100644 --- a/web/core/modules/quickedit/js/views/AppView.js +++ b/web/core/modules/quickedit/js/views/AppView.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, _, Backbone, Drupal) { var reload = false; Drupal.quickedit.AppView = Backbone.View.extend({ @@ -24,7 +23,6 @@ appStateChange: function appStateChange(entityModel, state) { var app = this; var entityToolbarView; - switch (state) { case 'launching': reload = false; @@ -36,35 +34,28 @@ entityModel.get('fields').each(function (fieldModel) { app.setupEditor(fieldModel); }); - _.defer(function () { entityModel.set('state', 'opening'); }); - break; - case 'closed': entityToolbarView = entityModel.toolbarView; entityModel.get('fields').each(function (fieldModel) { app.teardownEditor(fieldModel); }); - if (entityToolbarView) { entityToolbarView.remove(); delete entityModel.toolbarView; } - if (reload) { reload = false; window.location.reload(); } - break; } }, acceptEditorStateChange: function acceptEditorStateChange(from, to, context, fieldModel) { var accept = true; - if (context && (context.reason === 'stop' || context.reason === 'rerender')) { if (from === 'candidate' && to === 'inactive') { accept = true; @@ -72,7 +63,6 @@ } else { if (!Drupal.quickedit.FieldModel.followsStateSequence(from, to)) { accept = false; - if (_.indexOf(this.activeFieldStates, from) !== -1 && to === 'candidate') { accept = true; } else if ((from === 'changed' || from === 'invalid') && to === 'candidate') { @@ -87,23 +77,18 @@ accept = true; } } - if (accept) { var activeField; var activeFieldState; - if ((this.readyFieldStates.indexOf(from) !== -1 || from === 'invalid') && this.activeFieldStates.indexOf(to) !== -1) { activeField = this.model.get('activeField'); - if (activeField && activeField !== fieldModel) { activeFieldState = activeField.get('state'); - if (this.activeFieldStates.indexOf(activeFieldState) !== -1) { activeField.set('state', 'candidate'); } else if (activeFieldState === 'changed' || activeFieldState === 'invalid') { activeField.set('state', 'saving'); } - if (from === 'invalid') { this.model.set('activeField', fieldModel); accept = false; @@ -122,7 +107,6 @@ } } } - return accept; }, setupEditor: function setupEditor(fieldModel) { @@ -156,7 +140,6 @@ if (typeof fieldModel.editorView === 'undefined') { return; } - fieldModel.toolbarView.remove(); delete fieldModel.toolbarView; fieldModel.decorationView.remove(); @@ -167,11 +150,9 @@ confirmEntityDeactivation: function confirmEntityDeactivation(entityModel) { var that = this; var discardDialog; - function closeDiscardDialog(action) { discardDialog.close(action); that.model.set('activeModal', null); - if (action === 'save') { entityModel.set('state', 'committing', { confirmed: true @@ -180,14 +161,12 @@ entityModel.set('state', 'deactivating', { confirmed: true }); - if (entityModel.get('reload')) { reload = true; entityModel.set('reload', false); } } } - if (!this.model.get('activeModal')) { var $unsavedChanges = $("
                                              ".concat(Drupal.t('You have unsaved changes'), "
                                              ")); discardDialog = Drupal.dialog($unsavedChanges.get(0), { @@ -222,37 +201,31 @@ editorStateChange: function editorStateChange(fieldModel, state) { var from = fieldModel.previous('state'); var to = state; - if (_.indexOf(this.singleFieldStates, to) !== -1 && this.model.get('highlightedField') !== fieldModel) { this.model.set('highlightedField', fieldModel); } else if (this.model.get('highlightedField') === fieldModel && to === 'candidate') { this.model.set('highlightedField', null); } - if (_.indexOf(this.activeFieldStates, to) !== -1 && this.model.get('activeField') !== fieldModel) { this.model.set('activeField', fieldModel); } else if (this.model.get('activeField') === fieldModel && to === 'candidate') { if (from === 'changed' || from === 'invalid') { fieldModel.editorView.revert(); } - this.model.set('activeField', null); } }, renderUpdatedField: function renderUpdatedField(fieldModel, html, options) { var $fieldWrapper = $(fieldModel.get('el')); var $context = $fieldWrapper.parent(); - var renderField = function renderField() { fieldModel.destroy(); $fieldWrapper.replaceWith(html); Drupal.attachBehaviors($context.get(0)); }; - if (!options.propagation) { _.defer(function () { fieldModel.set('state', 'candidate'); - _.defer(function () { fieldModel.set('state', 'inactive', { reason: 'rerender' @@ -268,7 +241,6 @@ if (options.propagation) { return; } - var htmlForOtherViewModes = updatedField.get('htmlForOtherViewModes'); Drupal.quickedit.collections.fields.where({ logicalFieldID: updatedField.get('logicalFieldID') @@ -286,11 +258,9 @@ var activeEntity = Drupal.quickedit.collections.entities.findWhere({ isActive: true }); - if (!activeEntity) { return; } - if (fieldModel.get('entity') === activeEntity) { this.setupEditor(fieldModel); fieldModel.set('state', 'candidate'); @@ -300,7 +270,6 @@ if (changedEntityModel.get('isActive') === false) { return; } - changedEntityModel.collection.chain().filter(function (entityModel) { return entityModel.get('isActive') === true && entityModel !== changedEntityModel; }).each(function (entityModel) { diff --git a/web/core/modules/quickedit/js/views/ContextualLinkView.js b/web/core/modules/quickedit/js/views/ContextualLinkView.js index ecc563c1b..f788c4898 100644 --- a/web/core/modules/quickedit/js/views/ContextualLinkView.js +++ b/web/core/modules/quickedit/js/views/ContextualLinkView.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Backbone, Drupal) { Drupal.quickedit.ContextualLinkView = Backbone.View.extend({ events: function events() { @@ -12,7 +11,6 @@ event.preventDefault(); event.target.click(); } - return { 'click a': function clickA(event) { event.preventDefault(); diff --git a/web/core/modules/quickedit/js/views/EditorView.js b/web/core/modules/quickedit/js/views/EditorView.js index 29b9fdc9c..848da7267 100644 --- a/web/core/modules/quickedit/js/views/EditorView.js +++ b/web/core/modules/quickedit/js/views/EditorView.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Backbone, Drupal) { Drupal.quickedit.EditorView = Backbone.View.extend({ initialize: function initialize(options) { @@ -29,50 +28,38 @@ stateChange: function stateChange(fieldModel, state) { var from = fieldModel.previous('state'); var to = state; - switch (to) { case 'inactive': break; - case 'candidate': if (from === 'invalid') { this.removeValidationErrors(); } - break; - case 'highlighted': break; - case 'activating': { var loadDependencies = function loadDependencies(callback) { callback(); }; - loadDependencies(function () { fieldModel.set('state', 'active'); }); break; } - case 'active': break; - case 'changed': break; - case 'saving': if (from === 'invalid') { this.removeValidationErrors(); } - this.save(); break; - case 'saved': break; - case 'invalid': this.showValidationErrors(); break; @@ -83,13 +70,11 @@ var fieldModel = this.fieldModel; var editorModel = this.model; var backstageId = "quickedit_backstage-".concat(this.fieldModel.id.replace(/[/[\]_\s]/g, '-')); - function fillAndSubmitForm(value) { var $form = $("#".concat(backstageId)).find('form'); $form.find(':input[type!="hidden"][type!="submit"]:not(select)').not('[name$="\\[summary\\]"]').val(value); $form.find('.quickedit-form-submit').trigger('click.quickedit'); } - var formOptions = { fieldID: this.fieldModel.get('fieldID'), $el: this.$el, @@ -106,28 +91,23 @@ $form.prop('novalidate', true); var $submit = $form.find('.quickedit-form-submit'); self.formSaveAjax = Drupal.quickedit.util.form.ajaxifySaving(formOptions, $submit); - function removeHiddenForm() { Drupal.quickedit.util.form.unajaxifySaving(self.formSaveAjax); delete self.formSaveAjax; $backstage.remove(); } - self.formSaveAjax.commands.quickeditFieldFormSaved = function (ajax, response, status) { removeHiddenForm(); fieldModel.set('state', 'saved'); fieldModel.set('htmlForOtherViewModes', response.other_view_modes); fieldModel.set('html', response.data); }; - self.formSaveAjax.commands.quickeditFieldFormValidationErrors = function (ajax, response, status) { removeHiddenForm(); editorModel.set('validationErrors', response.data); fieldModel.set('state', 'invalid'); }; - self.formSaveAjax.commands.quickeditFieldForm = function () {}; - fillAndSubmitForm(editorModel.get('currentValue')); }); }, diff --git a/web/core/modules/quickedit/js/views/EntityDecorationView.js b/web/core/modules/quickedit/js/views/EntityDecorationView.js index aeaf6e365..93c4aa27d 100644 --- a/web/core/modules/quickedit/js/views/EntityDecorationView.js +++ b/web/core/modules/quickedit/js/views/EntityDecorationView.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function (Drupal, $, Backbone) { Drupal.quickedit.EntityDecorationView = Backbone.View.extend({ initialize: function initialize() { diff --git a/web/core/modules/quickedit/js/views/EntityToolbarView.js b/web/core/modules/quickedit/js/views/EntityToolbarView.js index be9b8a070..de5679d5e 100644 --- a/web/core/modules/quickedit/js/views/EntityToolbarView.js +++ b/web/core/modules/quickedit/js/views/EntityToolbarView.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, _, Backbone, Drupal, debounce, Popper) { Drupal.quickedit.EntityToolbarView = Backbone.View.extend({ _fieldToolbarRoot: null, @@ -37,39 +36,31 @@ render: function render() { if (this.model.get('isActive')) { var $body = $('body'); - if ($body.children('#quickedit-entity-toolbar').length === 0) { $body.append(this.$el); } - if ($body.children('#quickedit-toolbar-fence').length === 0) { this.$fence = $(Drupal.theme('quickeditEntityToolbarFence')).css(Drupal.displace()).appendTo($body); } - this.label(); this.show('ops'); this.position(); } - var $button = this.$el.find('.quickedit-button.action-save'); var isDirty = this.model.get('isDirty'); - switch (this.model.get('state')) { case 'opened': $button[0].textContent = Drupal.t('Save'); $button.removeClass('action-saving icon-throbber icon-end').removeAttr('disabled').attr('aria-hidden', !isDirty); break; - case 'committing': $button[0].textContent = Drupal.t('Saving'); $button.addClass('action-saving icon-throbber icon-end').attr('disabled', 'disabled'); break; - default: $button.attr('aria-hidden', true); break; } - return this; }, remove: function remove() { @@ -86,7 +77,6 @@ case 'active': this.render(); break; - case 'invalid': this.render(); break; @@ -102,70 +92,56 @@ var of; var activeField; var highlightedField; - do { switch (check) { case 0: of = element; break; - case 1: activeField = Drupal.quickedit.app.model.get('activeField'); of = activeField && activeField.editorView && activeField.editorView.$formContainer && activeField.editorView.$formContainer.find('.quickedit-form'); break; - case 2: of = activeField && activeField.editorView && activeField.editorView.getEditedElement(); - if (activeField && activeField.editorView && activeField.editorView.getQuickEditUISettings().padding) { horizontalPadding = 5; } - break; - case 3: highlightedField = Drupal.quickedit.app.model.get('highlightedField'); of = highlightedField && highlightedField.editorView && highlightedField.editorView.getEditedElement(); delay = 250; break; - default: { var fieldModels = this.model.get('fields').models; var topMostPosition = 1000000; var topMostField = null; - for (var i = 0; i < fieldModels.length; i++) { var pos = fieldModels[i].get('el').getBoundingClientRect().top; - if (pos < topMostPosition) { topMostPosition = pos; topMostField = fieldModels[i]; } } - of = topMostField.get('el'); delay = 50; break; } } - check++; } while (!of); - function refinePopper(_ref) { var state = _ref.state; var isBelow = state.placement.split('-')[0] === 'bottom'; var classListMethod = isBelow ? 'add' : 'remove'; state.elements.popper.classList[classListMethod]('quickedit-toolbar-pointer-top'); } - function positionToolbar() { var popperElement = that.el; var referenceElement = of; var boundariesElement = that.$fence[0]; var popperedge = edge === 'left' ? 'start' : 'end'; - if (referenceElement !== undefined) { if (!popperElement.classList.contains('js-popper-processed')) { that.popper = Popper.createPopper(referenceElement, popperElement, { @@ -204,14 +180,12 @@ that.popper.forceUpdate(); } } - that.$el.css({ 'max-width': document.documentElement.clientWidth < 450 ? document.documentElement.clientWidth : 450, 'min-width': document.documentElement.clientWidth < 240 ? document.documentElement.clientWidth : 240, width: '100%' }); } - this.timer = setTimeout(function () { _.defer(positionToolbar); }, delay); @@ -262,7 +236,6 @@ var activeFieldLabel = activeField && activeField.get('metadata').label; var highlightedField = Drupal.quickedit.app.model.get('highlightedField'); var highlightedFieldLabel = highlightedField && highlightedField.get('metadata').label; - if (activeFieldLabel) { label = Drupal.theme('quickeditEntityToolbarLabel', { entityLabel: entityLabel, @@ -276,7 +249,6 @@ } else { label = Drupal.checkPlain(entityLabel); } - this.$el.find('.quickedit-toolbar-label').html(label); }, addClass: function addClass(toolgroup, classes) { diff --git a/web/core/modules/quickedit/js/views/FieldDecorationView.js b/web/core/modules/quickedit/js/views/FieldDecorationView.js index 5d4e80431..58bcf1a33 100644 --- a/web/core/modules/quickedit/js/views/FieldDecorationView.js +++ b/web/core/modules/quickedit/js/views/FieldDecorationView.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Backbone, Drupal) { Drupal.quickedit.FieldDecorationView = Backbone.View.extend({ _widthAttributeIsEmpty: null, @@ -27,57 +26,42 @@ stateChange: function stateChange(model, state) { var from = model.previous('state'); var to = state; - switch (to) { case 'inactive': this.undecorate(); break; - case 'candidate': this.decorate(); - if (from !== 'inactive') { this.stopHighlight(); - if (from !== 'highlighted') { this.model.set('isChanged', false); this.stopEdit(); } } - this._unpad(); - break; - case 'highlighted': this.startHighlight(); break; - case 'activating': this.prepareEdit(); break; - case 'active': if (from !== 'activating') { this.prepareEdit(); } - if (this.editorView.getQuickEditUISettings().padding) { this._pad(); } - break; - case 'changed': this.model.set('isChanged', true); break; - case 'saving': break; - case 'saved': break; - case 'invalid': break; } @@ -117,34 +101,27 @@ }, prepareEdit: function prepareEdit() { this.$el.addClass('quickedit-editing'); - if (this.editorView.getQuickEditUISettings().popup) { this.$el.addClass('quickedit-editor-is-popup'); } }, stopEdit: function stopEdit() { this.$el.removeClass('quickedit-highlighted quickedit-editing'); - if (this.editorView.getQuickEditUISettings().popup) { this.$el.removeClass('quickedit-editor-is-popup'); } - $('.quickedit-candidate').addClass('quickedit-editable'); }, _pad: function _pad() { if (this.$el.data('quickedit-padded')) { return; } - var self = this; - if (this.$el[0].style.width === '') { this._widthAttributeIsEmpty = true; this.$el.addClass('quickedit-animate-disable-width').css('width', this.$el.width()); } - var posProp = this._getPositionProperties(this.$el); - setTimeout(function () { self.$el.removeClass('quickedit-animate-disable-width'); self.$el.css({ @@ -163,15 +140,11 @@ if (!this.$el.data('quickedit-padded')) { return; } - var self = this; - if (this._widthAttributeIsEmpty) { this.$el.addClass('quickedit-animate-disable-width').css('width', ''); } - var posProp = this._getPositionProperties(this.$el); - setTimeout(function () { self.$el.removeClass('quickedit-animate-disable-width'); self.$el.css({ @@ -192,19 +165,16 @@ var r = {}; var props = ['top', 'left', 'bottom', 'right', 'padding-top', 'padding-left', 'padding-right', 'padding-bottom', 'margin-bottom']; var propCount = props.length; - for (var i = 0; i < propCount; i++) { p = props[i]; r[p] = parseInt(this._replaceBlankPosition($e.css(p)), 10); } - return r; }, _replaceBlankPosition: function _replaceBlankPosition(pos) { if (pos === 'auto' || !pos) { pos = '0px'; } - return pos; } }); diff --git a/web/core/modules/quickedit/js/views/FieldToolbarView.js b/web/core/modules/quickedit/js/views/FieldToolbarView.js index ac2958163..eb32281ab 100644 --- a/web/core/modules/quickedit/js/views/FieldToolbarView.js +++ b/web/core/modules/quickedit/js/views/FieldToolbarView.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, _, Backbone, Drupal) { Drupal.quickedit.FieldToolbarView = Backbone.View.extend({ $editedElement: null, @@ -27,47 +26,34 @@ stateChange: function stateChange(model, state) { var from = model.previous('state'); var to = state; - switch (to) { case 'inactive': break; - case 'candidate': if (from !== 'inactive' && from !== 'highlighted') { this.$el.remove(); this.setElement(); } - break; - case 'highlighted': break; - case 'activating': this.render(); - if (this.editorView.getQuickEditUISettings().fullWidthToolbar) { this.$el.addClass('quickedit-toolbar-fullwidth'); } - if (this.editorView.getQuickEditUISettings().unifiedToolbar) { this.insertWYSIWYGToolGroups(); } - break; - case 'active': break; - case 'changed': break; - case 'saving': break; - case 'saved': break; - case 'invalid': break; } @@ -99,7 +85,6 @@ }, show: function show(toolgroup) { var $group = this._find(toolgroup); - $group.on(Drupal.quickedit.util.constants.transitionEnd, function (event) { $group.off(Drupal.quickedit.util.constants.transitionEnd); }); diff --git a/web/core/modules/quickedit/quickedit.api.php b/web/core/modules/quickedit/quickedit.api.php index daebe6c95..ff9a179f8 100644 --- a/web/core/modules/quickedit/quickedit.api.php +++ b/web/core/modules/quickedit/quickedit.api.php @@ -64,7 +64,7 @@ function hook_quickedit_editor_alter(&$editors) { * @param string $langcode * (Optional) The language code the field values are to be shown in. * - * @return + * @return array * A renderable array for the field value. * * @see \Drupal\Core\Field\FieldItemListInterface::view() diff --git a/web/core/modules/quickedit/quickedit.info.yml b/web/core/modules/quickedit/quickedit.info.yml index 12a3084a4..b778482d0 100644 --- a/web/core/modules/quickedit/quickedit.info.yml +++ b/web/core/modules/quickedit/quickedit.info.yml @@ -1,6 +1,8 @@ name: Quick Edit type: module description: 'In-place content editing.' +lifecycle: deprecated +lifecycle_link: https://www.drupal.org/node/3223395#s-quick-edit package: Core version: VERSION dependencies: diff --git a/web/core/modules/quickedit/quickedit.libraries.yml b/web/core/modules/quickedit/quickedit.libraries.yml index 8e8d998bc..11ac057d0 100644 --- a/web/core/modules/quickedit/quickedit.libraries.yml +++ b/web/core/modules/quickedit/quickedit.libraries.yml @@ -49,6 +49,26 @@ quickedit.inPlaceEditor.form: dependencies: - quickedit/quickedit +quickedit.ckeditor5-temporary-work-around: + # "Temporary work-around until https://www.drupal.org/project/drupal/issues/3196689 lands." + css: + theme: + css/editors/formattedText/ckeditor5.workaround.css: { } + +quickedit.inPlaceEditor.formattedText: + version: VERSION + css: + component: + css/editors/formattedText.ckeditor.css: {} + css/editors/formattedText.ckeditor5.css: {} + js: + js/editors/formattedTextEditor.js: { attributes: { defer: true } } + dependencies: + - quickedit/quickedit + - editor/drupal.editor + - core/drupal.ajax + - core/drupalSettings + quickedit.inPlaceEditor.plainText: version: VERSION js: diff --git a/web/core/modules/quickedit/quickedit.module b/web/core/modules/quickedit/quickedit.module index 219b975eb..a9511e2c4 100644 --- a/web/core/modules/quickedit/quickedit.module +++ b/web/core/modules/quickedit/quickedit.module @@ -100,6 +100,11 @@ function quickedit_library_info_alter(&$libraries, $extension) { $alter_library($libraries['quickedit'], $theme); } + + $moduleHandler = \Drupal::moduleHandler(); + if ($moduleHandler->moduleExists('ckeditor5')) { + $libraries['internal.drupal.ckeditor5']['dependencies'][] = 'quickedit/quickedit.ckeditor5-temporary-work-around'; + } } /** @@ -118,6 +123,16 @@ function quickedit_field_formatter_info_alter(&$info) { $info[$key]['quickedit'] = ['editor' => 'form']; } } + + $info['basic_string']['quickedit'] = ['editor' => 'plain_text']; + $info['string']['quickedit'] = ['editor' => 'plain_text']; + + // Update \Drupal\text\Plugin\Field\FieldFormatter\TextDefaultFormatter's + // annotation to indicate that it supports the 'editor' in-place editor + // provided by this module, if enabled. + if (\Drupal::moduleHandler()->moduleExists('editor')) { + $info['text_default']['quickedit'] = ['editor' => 'editor']; + } } /** diff --git a/web/core/modules/quickedit/quickedit.routing.yml b/web/core/modules/quickedit/quickedit.routing.yml index b63b8a2f1..35723d5ae 100644 --- a/web/core/modules/quickedit/quickedit.routing.yml +++ b/web/core/modules/quickedit/quickedit.routing.yml @@ -61,3 +61,15 @@ quickedit.image_info: _permission: 'access in-place editing' _access_quickedit_entity_field: 'TRUE' _method: 'GET' + +quickedit.field_untransformed_text: + path: '/quickedit/{entity_type}/{entity}/{field_name}/{langcode}/{view_mode_id}' + defaults: + _controller: '\Drupal\quickedit\QuickEditController::getUntransformedText' + options: + parameters: + entity: + type: entity:{entity_type} + requirements: + _permission: 'access in-place editing' + _access_quickedit_entity_field: 'TRUE' diff --git a/web/core/modules/quickedit/src/Ajax/EntitySavedCommand.php b/web/core/modules/quickedit/src/Ajax/EntitySavedCommand.php index a0366515e..11d19efd2 100644 --- a/web/core/modules/quickedit/src/Ajax/EntitySavedCommand.php +++ b/web/core/modules/quickedit/src/Ajax/EntitySavedCommand.php @@ -5,8 +5,7 @@ use Drupal\Core\Ajax\BaseCommand; /** - * AJAX command to indicate the entity was loaded from PrivateTempStore and - * saved into the database. + * Indicates the entity was loaded from PrivateTempStore and saved. */ class EntitySavedCommand extends BaseCommand { diff --git a/web/core/modules/quickedit/src/Ajax/FieldFormCommand.php b/web/core/modules/quickedit/src/Ajax/FieldFormCommand.php index 03faecfe9..cebe66982 100644 --- a/web/core/modules/quickedit/src/Ajax/FieldFormCommand.php +++ b/web/core/modules/quickedit/src/Ajax/FieldFormCommand.php @@ -5,8 +5,7 @@ use Drupal\Core\Ajax\BaseCommand; /** - * AJAX command for passing a rendered field form to Quick Edit's JavaScript - * app. + * Passes a rendered field form to Quick Edit's JavaScript app. */ class FieldFormCommand extends BaseCommand { diff --git a/web/core/modules/quickedit/src/Ajax/FieldFormSavedCommand.php b/web/core/modules/quickedit/src/Ajax/FieldFormSavedCommand.php index 1e84b0eb1..319f250a0 100644 --- a/web/core/modules/quickedit/src/Ajax/FieldFormSavedCommand.php +++ b/web/core/modules/quickedit/src/Ajax/FieldFormSavedCommand.php @@ -5,9 +5,7 @@ use Drupal\Core\Ajax\BaseCommand; /** - * AJAX command to indicate a field was saved into PrivateTempStore without - * validation errors and pass the rerendered field to Quick Edit's JavaScript - * app. + * Indicates a field was saved and passes the rerendered field to Quick Edit. */ class FieldFormSavedCommand extends BaseCommand { diff --git a/web/core/modules/quickedit/src/Ajax/FieldFormValidationErrorsCommand.php b/web/core/modules/quickedit/src/Ajax/FieldFormValidationErrorsCommand.php index cbabb47c0..93ad1627e 100644 --- a/web/core/modules/quickedit/src/Ajax/FieldFormValidationErrorsCommand.php +++ b/web/core/modules/quickedit/src/Ajax/FieldFormValidationErrorsCommand.php @@ -5,8 +5,7 @@ use Drupal\Core\Ajax\BaseCommand; /** - * AJAX command to indicate a field form was attempted to be saved but failed - * validation and pass the validation errors. + * Passes validation errors when saving a form field failed. */ class FieldFormValidationErrorsCommand extends BaseCommand { diff --git a/web/core/modules/quickedit/src/QuickEditController.php b/web/core/modules/quickedit/src/QuickEditController.php index 6a2a794ea..05c204748 100644 --- a/web/core/modules/quickedit/src/QuickEditController.php +++ b/web/core/modules/quickedit/src/QuickEditController.php @@ -8,6 +8,7 @@ use Drupal\Core\Render\RendererInterface; use Drupal\Core\Session\AccountInterface; use Drupal\Core\TempStore\PrivateTempStoreFactory; +use Drupal\filter\Plugin\FilterInterface; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; @@ -20,6 +21,7 @@ use Drupal\quickedit\Ajax\FieldFormSavedCommand; use Drupal\quickedit\Ajax\FieldFormValidationErrorsCommand; use Drupal\quickedit\Ajax\EntitySavedCommand; +use Drupal\quickedit\Ajax\GetUntransformedTextCommand; /** * Returns responses for Quick Edit module routes. @@ -356,4 +358,34 @@ public function entitySave(EntityInterface $entity) { return $response; } + /** + * Returns Ajax response to render text field without transformation filters. + * + * @param \Drupal\Core\Entity\EntityInterface $entity + * The entity of which a formatted text field is being rerendered. + * @param string $field_name + * The name of the (formatted text) field that is being rerendered. + * @param string $langcode + * The name of the language for which the formatted text field is being + * rerendered. + * @param string $view_mode_id + * The view mode the formatted text field should be rerendered in. + * + * @return \Drupal\Core\Ajax\AjaxResponse + * The Ajax response. + */ + public function getUntransformedText(EntityInterface $entity, $field_name, $langcode, $view_mode_id) { + $response = new AjaxResponse(); + + // Direct text editing is only supported for single-valued fields. + $field = $entity->getTranslation($langcode)->$field_name; + $editable_text = check_markup($field->value, $field->format, $langcode, [ + FilterInterface::TYPE_TRANSFORM_REVERSIBLE, + FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE, + ]); + $response->addCommand(new GetUntransformedTextCommand($editable_text)); + + return $response; + } + } diff --git a/web/core/modules/quickedit/tests/src/Functional/EditorIntegrationLoadingTest.php b/web/core/modules/quickedit/tests/src/Functional/EditorIntegrationLoadingTest.php index bce74ceec..75f7f7e93 100644 --- a/web/core/modules/quickedit/tests/src/Functional/EditorIntegrationLoadingTest.php +++ b/web/core/modules/quickedit/tests/src/Functional/EditorIntegrationLoadingTest.php @@ -11,6 +11,7 @@ * Tests Quick Edit module integration endpoints. * * @group quickedit + * @group legacy */ class EditorIntegrationLoadingTest extends BrowserTestBase { @@ -24,7 +25,7 @@ class EditorIntegrationLoadingTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * The basic permissions necessary to view content and use in-place editing. @@ -33,6 +34,9 @@ class EditorIntegrationLoadingTest extends BrowserTestBase { */ protected static $basicPermissions = ['access content', 'create article content', 'use text format filtered_html', 'access contextual links']; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -93,7 +97,7 @@ public function testUsersWithoutPermission() { // Retrieving the untransformed text should result in a 403 response and // return a different error message depending of the missing permission. - $response = $client->post($this->buildUrl('editor/node/1/body/en/full'), [ + $response = $client->post($this->buildUrl('quickedit/node/1/body/en/full'), [ 'query' => http_build_query([MainContentViewSubscriber::WRAPPER_FORMAT => 'drupal_ajax']), 'cookies' => $this->getSessionCookies(), 'headers' => [ @@ -127,7 +131,7 @@ public function testUserWithPermission() { // Ensure the text is transformed. $this->assertSession()->responseContains('

                                              Do you also love Drupal?

                                              Druplicon
                                              '); $client = $this->getHttpClient(); - $response = $client->post($this->buildUrl('editor/node/1/body/en/full'), [ + $response = $client->post($this->buildUrl('quickedit/node/1/body/en/full'), [ 'query' => http_build_query([MainContentViewSubscriber::WRAPPER_FORMAT => 'drupal_ajax']), 'cookies' => $this->getSessionCookies(), 'headers' => [ diff --git a/web/core/modules/quickedit/tests/src/Functional/Jsonapi/QuickEditLayoutBuilderEntityViewDisplayTest.php b/web/core/modules/quickedit/tests/src/Functional/Jsonapi/QuickEditLayoutBuilderEntityViewDisplayTest.php index 0e1509b2a..1e9fe10c1 100644 --- a/web/core/modules/quickedit/tests/src/Functional/Jsonapi/QuickEditLayoutBuilderEntityViewDisplayTest.php +++ b/web/core/modules/quickedit/tests/src/Functional/Jsonapi/QuickEditLayoutBuilderEntityViewDisplayTest.php @@ -10,6 +10,7 @@ * @group jsonapi * @group layout_builder * @group quickedit + * @group legacy */ class QuickEditLayoutBuilderEntityViewDisplayTest extends LayoutBuilderEntityViewDisplayTest { diff --git a/web/core/modules/quickedit/tests/src/Functional/LayoutBuilderQuickEditTest.php b/web/core/modules/quickedit/tests/src/Functional/LayoutBuilderQuickEditTest.php index e9be41eb8..db564fbec 100644 --- a/web/core/modules/quickedit/tests/src/Functional/LayoutBuilderQuickEditTest.php +++ b/web/core/modules/quickedit/tests/src/Functional/LayoutBuilderQuickEditTest.php @@ -2,12 +2,14 @@ namespace Drupal\Tests\quickedit\Functional; +use Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay; use Drupal\Tests\BrowserTestBase; /** * Tests Layout Builder integration with Quick Edit. * * @group quickedit + * @group legacy */ class LayoutBuilderQuickEditTest extends BrowserTestBase { @@ -39,6 +41,10 @@ protected function setUp(): void { $this->createNode([ 'type' => 'bundle_with_section_field', ]); + LayoutBuilderEntityViewDisplay::load('node.bundle_with_section_field.default') + ->enableLayoutBuilder() + ->setOverridable() + ->save(); } /** @@ -49,15 +55,9 @@ public function testPlaceFieldBlockFromDifferentEntityType() { $this->drupalLogin($this->drupalCreateUser([ 'configure any layout', - 'administer node display', 'access in-place editing', ])); - // From the manage display page, go to manage the layout. - $this->drupalGet('admin/structure/types/manage/bundle_with_section_field/display/default'); - $this->submitForm(['layout[enabled]' => TRUE], 'Save'); - $this->submitForm(['layout[allow_custom]' => TRUE], 'Save'); - // Place a field block for a user entity field. $this->drupalGet('node/1/layout'); $page->clickLink('Add block'); diff --git a/web/core/modules/quickedit/tests/src/Functional/QuickEditCustomPipelineTest.php b/web/core/modules/quickedit/tests/src/Functional/QuickEditCustomPipelineTest.php index e4cc514c2..e044672b0 100644 --- a/web/core/modules/quickedit/tests/src/Functional/QuickEditCustomPipelineTest.php +++ b/web/core/modules/quickedit/tests/src/Functional/QuickEditCustomPipelineTest.php @@ -10,6 +10,7 @@ * Tests using a custom pipeline with Quick Edit. * * @group quickedit + * @group legacy */ class QuickEditCustomPipelineTest extends BrowserTestBase { diff --git a/web/core/modules/quickedit/tests/src/Functional/QuickEditEndPointAccessTest.php b/web/core/modules/quickedit/tests/src/Functional/QuickEditEndPointAccessTest.php index dbff08aa2..cd367e0a0 100644 --- a/web/core/modules/quickedit/tests/src/Functional/QuickEditEndPointAccessTest.php +++ b/web/core/modules/quickedit/tests/src/Functional/QuickEditEndPointAccessTest.php @@ -11,6 +11,7 @@ * Tests accessing the Quick Edit endpoints. * * @group quickedit + * @group legacy */ class QuickEditEndPointAccessTest extends BrowserTestBase { diff --git a/web/core/modules/quickedit/tests/src/Functional/QuickEditImageControllerTest.php b/web/core/modules/quickedit/tests/src/Functional/QuickEditImageControllerTest.php index a1e3932c6..d01c915e1 100644 --- a/web/core/modules/quickedit/tests/src/Functional/QuickEditImageControllerTest.php +++ b/web/core/modules/quickedit/tests/src/Functional/QuickEditImageControllerTest.php @@ -11,6 +11,7 @@ * Tests the endpoints used by the "image" in-place editor. * * @group quickedit + * @group legacy */ class QuickEditImageControllerTest extends BrowserTestBase { diff --git a/web/core/modules/quickedit/tests/src/Functional/QuickEditMinimalTest.php b/web/core/modules/quickedit/tests/src/Functional/QuickEditMinimalTest.php index 2242e97a2..0b9557835 100644 --- a/web/core/modules/quickedit/tests/src/Functional/QuickEditMinimalTest.php +++ b/web/core/modules/quickedit/tests/src/Functional/QuickEditMinimalTest.php @@ -8,6 +8,7 @@ * Tests Quick Edit can be installed with Minimal. * * @group quickedit + * @group legacy */ class QuickEditMinimalTest extends BrowserTestBase { diff --git a/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayJsonAnonTest.php b/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayJsonAnonTest.php index c138148ae..5dedd754f 100644 --- a/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayJsonAnonTest.php +++ b/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayJsonAnonTest.php @@ -8,6 +8,7 @@ * @group quickedit * @group layout_builder * @group rest + * @group legacy */ class QuickEditLayoutBuilderEntityViewDisplayJsonAnonTest extends LayoutBuilderEntityViewDisplayJsonAnonTest { diff --git a/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayJsonBasicAuthTest.php b/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayJsonBasicAuthTest.php index a3acf46ee..dfda667c8 100644 --- a/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayJsonBasicAuthTest.php +++ b/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayJsonBasicAuthTest.php @@ -8,6 +8,7 @@ * @group quickedit * @group layout_builder * @group rest + * @group legacy */ class QuickEditLayoutBuilderEntityViewDisplayJsonBasicAuthTest extends LayoutBuilderEntityViewDisplayJsonBasicAuthTest { diff --git a/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayJsonCookieTest.php b/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayJsonCookieTest.php index ffd07b021..7e6253842 100644 --- a/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayJsonCookieTest.php +++ b/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayJsonCookieTest.php @@ -8,6 +8,7 @@ * @group quickedit * @group layout_builder * @group rest + * @group legacy */ class QuickEditLayoutBuilderEntityViewDisplayJsonCookieTest extends LayoutBuilderEntityViewDisplayJsonCookieTest { diff --git a/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayXmlAnonTest.php b/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayXmlAnonTest.php index 87c6a7263..b192703fa 100644 --- a/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayXmlAnonTest.php +++ b/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayXmlAnonTest.php @@ -8,6 +8,7 @@ * @group quickedit * @group layout_builder * @group rest + * @group legacy */ class QuickEditLayoutBuilderEntityViewDisplayXmlAnonTest extends LayoutBuilderEntityViewDisplayXmlAnonTest { diff --git a/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayXmlBasicAuthTest.php b/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayXmlBasicAuthTest.php index 864066630..f90c32f89 100644 --- a/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayXmlBasicAuthTest.php +++ b/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayXmlBasicAuthTest.php @@ -8,6 +8,7 @@ * @group quickedit * @group layout_builder * @group rest + * @group legacy */ class QuickEditLayoutBuilderEntityViewDisplayXmlBasicAuthTest extends LayoutBuilderEntityViewDisplayXmlBasicAuthTest { diff --git a/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayXmlCookieTest.php b/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayXmlCookieTest.php index 699efe177..ea08d6364 100644 --- a/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayXmlCookieTest.php +++ b/web/core/modules/quickedit/tests/src/Functional/Rest/QuickEditLayoutBuilderEntityViewDisplayXmlCookieTest.php @@ -8,6 +8,7 @@ * @group quickedit * @group layout_builder * @group rest + * @group legacy */ class QuickEditLayoutBuilderEntityViewDisplayXmlCookieTest extends LayoutBuilderEntityViewDisplayXmlCookieTest { diff --git a/web/core/modules/quickedit/tests/src/FunctionalJavascript/CKEditor5IntegrationTest.php b/web/core/modules/quickedit/tests/src/FunctionalJavascript/CKEditor5IntegrationTest.php index 5cd9797ff..7d4e1e380 100644 --- a/web/core/modules/quickedit/tests/src/FunctionalJavascript/CKEditor5IntegrationTest.php +++ b/web/core/modules/quickedit/tests/src/FunctionalJavascript/CKEditor5IntegrationTest.php @@ -12,6 +12,7 @@ * Tests that Quick Edit can load CKEditor 5. * * @group quickedit + * @group legacy * @internal */ class CKEditor5IntegrationTest extends QuickEditJavascriptTestBase { diff --git a/web/core/modules/quickedit/tests/src/FunctionalJavascript/FieldTest.php b/web/core/modules/quickedit/tests/src/FunctionalJavascript/FieldTest.php index 6896f04a3..557133adb 100644 --- a/web/core/modules/quickedit/tests/src/FunctionalJavascript/FieldTest.php +++ b/web/core/modules/quickedit/tests/src/FunctionalJavascript/FieldTest.php @@ -13,6 +13,7 @@ * Tests quickedit. * * @group quickedit + * @group legacy */ class FieldTest extends WebDriverTestBase { diff --git a/web/core/modules/quickedit/tests/src/FunctionalJavascript/InlineFormErrorsIntegrationTest.php b/web/core/modules/quickedit/tests/src/FunctionalJavascript/InlineFormErrorsIntegrationTest.php index fbaaa0a0c..f5d96de1c 100644 --- a/web/core/modules/quickedit/tests/src/FunctionalJavascript/InlineFormErrorsIntegrationTest.php +++ b/web/core/modules/quickedit/tests/src/FunctionalJavascript/InlineFormErrorsIntegrationTest.php @@ -9,6 +9,7 @@ * Tests Inline Form Errors compatibility with Quick Edit. * * @group quickedit + * @group legacy */ class InlineFormErrorsIntegrationTest extends WebDriverTestBase { @@ -26,7 +27,7 @@ class InlineFormErrorsIntegrationTest extends WebDriverTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * An editor user with permissions to access the in-place editor. diff --git a/web/core/modules/quickedit/tests/src/FunctionalJavascript/LayoutBuilderIntegrationTest.php b/web/core/modules/quickedit/tests/src/FunctionalJavascript/LayoutBuilderIntegrationTest.php index ab8f1f0a1..f16c4c097 100644 --- a/web/core/modules/quickedit/tests/src/FunctionalJavascript/LayoutBuilderIntegrationTest.php +++ b/web/core/modules/quickedit/tests/src/FunctionalJavascript/LayoutBuilderIntegrationTest.php @@ -13,6 +13,7 @@ /** * @group quickedit + * @group legacy */ class LayoutBuilderIntegrationTest extends QuickEditJavascriptTestBase { @@ -34,7 +35,7 @@ class LayoutBuilderIntegrationTest extends QuickEditJavascriptTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * A user with permissions to edit Articles and use Quick Edit. @@ -286,7 +287,6 @@ public function testArticleNode() { * Tests if a custom can be in-place edited with Quick Edit. */ public function testCustomBlock() { - $this->markTestSkipped('This test fails pretty consistently on the latest Chromedriver'); $block_content_type = BlockContentType::create([ 'id' => 'basic', 'label' => 'basic', @@ -321,6 +321,13 @@ public function testCustomBlock() { $this->assertEntityInstanceStates([ 'block_content/1[0]' => 'opened', ]); + + // The label 'body' will only be shown when the pointer hovers over the + // body. This can't be guaranteed by "just" opening the block in QuickEdit. + // We explicitly move the pointer first over the page title and afterwards + // over the block body to be sure. + $this->movePointerTo('.page-title'); + $this->movePointerTo('[data-quickedit-field-id="block_content/1/body/en/full"]'); $this->assertQuickEditEntityToolbar((string) $block_content->label(), 'Body'); $this->assertEntityInstanceFieldStates('block_content', 1, 0, [ 'block_content/1/body/en/full' => 'highlighted', @@ -340,4 +347,16 @@ public function testCustomBlock() { $this->assertSession()->elementExists('css', '#quickedit-entity-toolbar .quickedit-toolgroup.wysiwyg-main > .cke_chrome .cke_top[role="presentation"] .cke_toolbar[role="toolbar"] .cke_toolgroup[role="presentation"] > .cke_button[title~="Bold"][role="button"]'); } + /** + * Moves mouse pointer to location of $selector. + * + * @param string $selector + * CSS selector. + */ + protected function movePointerTo($selector) { + $driver_session = $this->getSession()->getDriver()->getWebDriverSession(); + $element = $driver_session->element('css selector', $selector); + $driver_session->moveto(['element' => $element->getID()]); + } + } diff --git a/web/core/modules/quickedit/tests/src/FunctionalJavascript/LayoutBuilderQuickEditTest.php b/web/core/modules/quickedit/tests/src/FunctionalJavascript/LayoutBuilderQuickEditTest.php index 05744d77e..f97daa3dc 100644 --- a/web/core/modules/quickedit/tests/src/FunctionalJavascript/LayoutBuilderQuickEditTest.php +++ b/web/core/modules/quickedit/tests/src/FunctionalJavascript/LayoutBuilderQuickEditTest.php @@ -13,6 +13,7 @@ * @covers layout_builder_quickedit_render_field() * * @group quickedit + * @group legacy */ class LayoutBuilderQuickEditTest extends QuickEditJavascriptTestBase { @@ -25,12 +26,13 @@ class LayoutBuilderQuickEditTest extends QuickEditJavascriptTestBase { protected static $modules = [ 'node', 'layout_builder', + 'field_ui', ]; /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * The article node under test. diff --git a/web/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditAutocompleteTermTest.php b/web/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditAutocompleteTermTest.php index 241d9376d..34dec11f8 100644 --- a/web/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditAutocompleteTermTest.php +++ b/web/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditAutocompleteTermTest.php @@ -14,6 +14,7 @@ * Tests in-place editing of autocomplete tags. * * @group quickedit + * @group legacy */ class QuickEditAutocompleteTermTest extends WebDriverTestBase { diff --git a/web/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditFileTest.php b/web/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditFileTest.php index dac348073..f3b4635ba 100644 --- a/web/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditFileTest.php +++ b/web/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditFileTest.php @@ -10,6 +10,7 @@ /** * @group quickedit + * @group legacy */ class QuickEditFileTest extends QuickEditJavascriptTestBase { diff --git a/web/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditImageTest.php b/web/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditImageTest.php index 8db8293b9..a7bef2541 100644 --- a/web/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditImageTest.php +++ b/web/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditImageTest.php @@ -9,6 +9,7 @@ /** * @coversDefaultClass \Drupal\quickedit\Plugin\InPlaceEditor\Image * @group quickedit + * @group legacy */ class QuickEditImageTest extends QuickEditJavascriptTestBase { diff --git a/web/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditLoadingTest.php b/web/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditLoadingTest.php index 71eca0c6a..e4ddcd3be 100644 --- a/web/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditLoadingTest.php +++ b/web/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditLoadingTest.php @@ -15,10 +15,10 @@ use Drupal\Tests\TestFileCreationTrait; /** - * Tests loading of in-place editing functionality and lazy loading of its - * in-place editors. + * Tests loading of in-place editing and lazy loading of in-place editors. * * @group quickedit + * @group legacy */ class QuickEditLoadingTest extends WebDriverTestBase { @@ -44,7 +44,7 @@ class QuickEditLoadingTest extends WebDriverTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * A user with permissions to create and edit articles. @@ -248,8 +248,7 @@ public function testTitleBaseField() { } /** - * Tests that Quick Edit doesn't make fields rendered with display options - * editable. + * Tests rendering of fields with editable display options. */ public function testDisplayOptions() { $node = Node::load('1'); @@ -262,8 +261,7 @@ public function testDisplayOptions() { } /** - * Tests Quick Edit on a node that was concurrently edited on the full node - * form. + * Tests concurrent node edit. */ public function testConcurrentEdit() { $nid = $this->testNode->id(); diff --git a/web/core/modules/quickedit/tests/src/FunctionalJavascript/SettingsTrayIntegrationTest.php b/web/core/modules/quickedit/tests/src/FunctionalJavascript/SettingsTrayIntegrationTest.php index 9020ddf1f..4cb1ea56f 100644 --- a/web/core/modules/quickedit/tests/src/FunctionalJavascript/SettingsTrayIntegrationTest.php +++ b/web/core/modules/quickedit/tests/src/FunctionalJavascript/SettingsTrayIntegrationTest.php @@ -11,6 +11,7 @@ * Test Settings Tray and Quick Edit modules integration. * * @group quickedit + * @group legacy */ class SettingsTrayIntegrationTest extends SettingsTrayTestBase { diff --git a/web/core/modules/quickedit/tests/src/Kernel/EditorIntegrationTest.php b/web/core/modules/quickedit/tests/src/Kernel/EditorIntegrationTest.php index 6852bafdb..6f53e6766 100644 --- a/web/core/modules/quickedit/tests/src/Kernel/EditorIntegrationTest.php +++ b/web/core/modules/quickedit/tests/src/Kernel/EditorIntegrationTest.php @@ -8,8 +8,8 @@ use Drupal\editor\Entity\Editor; use Drupal\entity_test\Entity\EntityTest; use Drupal\quickedit\MetadataGenerator; +use Drupal\quickedit\QuickEditController; use Drupal\quickedit_test\MockQuickEditEntityFieldAccessCheck; -use Drupal\editor\EditorController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Event\ResponseEvent; use Symfony\Component\HttpKernel\HttpKernelInterface; @@ -19,6 +19,7 @@ * Tests Edit module integration (Editor module's inline editing support). * * @group quickedit + * @group legacy */ class EditorIntegrationTest extends QuickEditTestBase { @@ -56,12 +57,15 @@ class EditorIntegrationTest extends QuickEditTestBase { protected $accessChecker; /** - * The name of the field ued for tests. + * The name of the field used for tests. * * @var string */ protected $fieldName; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -147,7 +151,8 @@ public function testEditorSelection() { $entity->{$this->fieldName}->format = 'filtered_html'; $entity->save(); - // Editor selection w/ cardinality 1, text format w/o associated text editor. + // Editor selection with cardinality 1, text format without associated text + // editor. $this->assertEquals('form', $this->getSelectedEditor($entity->id(), $this->fieldName), "With cardinality 1, and the filtered_html text format, the 'form' editor is selected."); // Editor selection w/ cardinality 1, text format w/ associated text editor. @@ -155,7 +160,7 @@ public function testEditorSelection() { $entity->save(); $this->assertEquals('editor', $this->getSelectedEditor($entity->id(), $this->fieldName), "With cardinality 1, and the full_html text format, the 'editor' editor is selected."); - // Editor selection with text processing, cardinality >1 + // Editor selection with text processing, cardinality > 1. $this->fields->field_textarea_field_storage->setCardinality(2); $this->fields->field_textarea_field_storage->save(); $this->assertEquals('form', $this->getSelectedEditor($entity->id(), $this->fieldName), "With cardinality >1, and both items using the full_html text format, the 'form' editor is selected."); @@ -205,13 +210,18 @@ public function testAttachments() { $editors = ['editor']; $attachments = $this->editorSelector->getEditorAttachments($editors); - $this->assertSame(['library' => ['editor/quickedit.inPlaceEditor.formattedText']], $attachments, "Expected attachments for Editor module's in-place editor found."); + $this->assertSame(['library' => ['quickedit/quickedit.inPlaceEditor.formattedText']], $attachments, "Expected attachments for Editor module's in-place editor found."); } /** * Tests GetUntransformedTextCommand AJAX command. */ public function testGetUntransformedTextCommand() { + $this->accessChecker = new MockQuickEditEntityFieldAccessCheck(); + $this->editorSelector = $this->container->get('quickedit.editor.selector'); + $this->editorManager = $this->container->get('plugin.manager.quickedit.editor'); + $this->metadataGenerator = new MetadataGenerator($this->accessChecker, $this->editorSelector, $this->editorManager); + // Create an entity with values for the field. $entity = EntityTest::create(); $entity->{$this->fieldName}->value = 'Test'; @@ -220,7 +230,14 @@ public function testGetUntransformedTextCommand() { $entity = EntityTest::load($entity->id()); // Verify AJAX response. - $controller = new EditorController(); + $controller = new QuickEditController( + $this->container->get('tempstore.private'), + $this->metadataGenerator, + $this->editorSelector, + $this->container->get('renderer'), + $this->container->get('entity_display.repository'), + $this->container->get('entity.repository'), + ); $request = new Request(); $response = $controller->getUntransformedText($entity, $this->fieldName, LanguageInterface::LANGCODE_DEFAULT, 'default'); $expected = [ diff --git a/web/core/modules/quickedit/tests/src/Kernel/EditorSelectionTest.php b/web/core/modules/quickedit/tests/src/Kernel/EditorSelectionTest.php index 09deda66f..53bde403e 100644 --- a/web/core/modules/quickedit/tests/src/Kernel/EditorSelectionTest.php +++ b/web/core/modules/quickedit/tests/src/Kernel/EditorSelectionTest.php @@ -9,6 +9,7 @@ * Tests in-place field editor selection. * * @group quickedit + * @group legacy */ class EditorSelectionTest extends QuickEditTestBase { @@ -26,6 +27,9 @@ class EditorSelectionTest extends QuickEditTestBase { */ protected $editorSelector; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -80,6 +84,8 @@ public function testText() { } /** + * Tests a textual field with varying text format compatibility. + * * Tests a textual field, with text filtering, with cardinality 1 and >1, * always with an Editor plugin present that supports textual fields with text * filtering, but with varying text format compatibility. diff --git a/web/core/modules/quickedit/tests/src/Kernel/MediaEmbedFilterDisabledIntegrationsTest.php b/web/core/modules/quickedit/tests/src/Kernel/MediaEmbedFilterDisabledIntegrationsTest.php index 27cd3830a..341cb2763 100644 --- a/web/core/modules/quickedit/tests/src/Kernel/MediaEmbedFilterDisabledIntegrationsTest.php +++ b/web/core/modules/quickedit/tests/src/Kernel/MediaEmbedFilterDisabledIntegrationsTest.php @@ -9,6 +9,7 @@ * * @coversDefaultClass \Drupal\media\Plugin\Filter\MediaEmbed * @group quickedit + * @group legacy */ class MediaEmbedFilterDisabledIntegrationsTest extends MediaEmbedFilterTestBase { diff --git a/web/core/modules/quickedit/tests/src/Kernel/MetadataGeneratorTest.php b/web/core/modules/quickedit/tests/src/Kernel/MetadataGeneratorTest.php index 880c9c167..6dbde6cc0 100644 --- a/web/core/modules/quickedit/tests/src/Kernel/MetadataGeneratorTest.php +++ b/web/core/modules/quickedit/tests/src/Kernel/MetadataGeneratorTest.php @@ -12,6 +12,7 @@ * Tests in-place field editing metadata. * * @group quickedit + * @group legacy */ class MetadataGeneratorTest extends QuickEditTestBase { @@ -48,6 +49,9 @@ class MetadataGeneratorTest extends QuickEditTestBase { */ protected $accessChecker; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/quickedit/tests/src/Kernel/QuickEditLoadingTest.php b/web/core/modules/quickedit/tests/src/Kernel/QuickEditLoadingTest.php index 0066ca949..fe246b586 100644 --- a/web/core/modules/quickedit/tests/src/Kernel/QuickEditLoadingTest.php +++ b/web/core/modules/quickedit/tests/src/Kernel/QuickEditLoadingTest.php @@ -9,10 +9,10 @@ use Drupal\Tests\user\Traits\UserCreationTrait; /** - * Tests loading of in-place editing functionality and lazy loading of its - * in-place editors. + * Tests loading of in-place editing and lazy loading of in-place editors. * * @group quickedit + * @group legacy */ class QuickEditLoadingTest extends KernelTestBase { @@ -66,8 +66,7 @@ protected function setUp(): void { } /** - * Tests that Quick Edit doesn't make fields rendered with display options - * editable. + * Tests that fields rendered with display options are not editable. */ public function testDisplayOptions() { $node = Node::load(1); diff --git a/web/core/modules/quickedit/tests/src/Unit/Access/QuickEditEntityFieldAccessCheckTest.php b/web/core/modules/quickedit/tests/src/Unit/Access/QuickEditEntityFieldAccessCheckTest.php index da94752cf..ea48f3fcc 100644 --- a/web/core/modules/quickedit/tests/src/Unit/Access/QuickEditEntityFieldAccessCheckTest.php +++ b/web/core/modules/quickedit/tests/src/Unit/Access/QuickEditEntityFieldAccessCheckTest.php @@ -13,6 +13,7 @@ * @coversDefaultClass \Drupal\quickedit\Access\QuickEditEntityFieldAccessCheck * @group Access * @group quickedit + * @group legacy */ class QuickEditEntityFieldAccessCheckTest extends UnitTestCase { @@ -82,11 +83,11 @@ public function testAccess($entity_is_editable, $field_storage_is_accessible, Ac $entity_with_field->expects($this->any()) ->method('get') ->with($field_name) - ->will($this->returnValue($field_storage)); + ->willReturn($field_storage); $entity_with_field->expects($this->once()) ->method('hasTranslation') ->with(LanguageInterface::LANGCODE_NOT_SPECIFIED) - ->will($this->returnValue(TRUE)); + ->willReturn(TRUE); $account = $this->createMock('Drupal\Core\Session\AccountInterface'); $access = $this->editAccessCheck->access($entity_with_field, $field_name, LanguageInterface::LANGCODE_NOT_SPECIFIED, $account); diff --git a/web/core/modules/rdf/rdf.info.yml b/web/core/modules/rdf/rdf.info.yml index 8f71af475..a4ff35ea0 100644 --- a/web/core/modules/rdf/rdf.info.yml +++ b/web/core/modules/rdf/rdf.info.yml @@ -2,4 +2,6 @@ name: RDF type: module description: 'Enriches your content with metadata to let other applications (e.g. search engines, aggregators) better understand its relationships and attributes.' package: Core +lifecycle: deprecated +lifecycle_link: https://www.drupal.org/docs/core-modules-and-themes/deprecated-and-obsolete-modules-and-themes#s-rdf version: VERSION diff --git a/web/core/modules/rdf/rdf.module b/web/core/modules/rdf/rdf.module index ad8af35be..09211ba40 100644 --- a/web/core/modules/rdf/rdf.module +++ b/web/core/modules/rdf/rdf.module @@ -8,6 +8,7 @@ use Drupal\Core\Url; use Drupal\Core\Routing\RouteMatchInterface; use Drupal\Core\Template\Attribute; +use Drupal\node\NodeInterface; use Drupal\rdf\Entity\RdfMapping; /** @@ -228,6 +229,23 @@ function rdf_entity_prepare_view($entity_type, array $entities, array $displays) } } +/** + * Implements hook_ENTITY_TYPE_build_defaults_alter(). + */ +function rdf_node_build_defaults_alter(array &$build, NodeInterface $node) { + // Ensure that RSS views define the RDF namespaces. + // @see \Drupal\node\Plugin\views\row\Rss::render() + if (!isset($node->rss_namespaces)) { + $node->rss_namespaces = []; + } + foreach (rdf_get_namespaces() as $prefix => $uri) { + if ($prefix === 'dc') { + continue; + } + $node->rss_namespaces["xmlns:$prefix"] = $uri; + } +} + /** * Implements hook_ENTITY_TYPE_storage_load() for comment entities. */ diff --git a/web/core/modules/rdf/tests/src/Functional/CommentAttributesTest.php b/web/core/modules/rdf/tests/src/Functional/CommentAttributesTest.php index b8b8e95b7..89c2d2f50 100644 --- a/web/core/modules/rdf/tests/src/Functional/CommentAttributesTest.php +++ b/web/core/modules/rdf/tests/src/Functional/CommentAttributesTest.php @@ -15,6 +15,7 @@ * Tests the RDFa markup of comments. * * @group rdf + * @group legacy */ class CommentAttributesTest extends CommentTestBase { @@ -52,6 +53,9 @@ class CommentAttributesTest extends CommentTestBase { */ protected $nodeUri; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/rdf/tests/src/Functional/EntityReferenceFieldAttributesTest.php b/web/core/modules/rdf/tests/src/Functional/EntityReferenceFieldAttributesTest.php index 89231017d..66fee7f82 100644 --- a/web/core/modules/rdf/tests/src/Functional/EntityReferenceFieldAttributesTest.php +++ b/web/core/modules/rdf/tests/src/Functional/EntityReferenceFieldAttributesTest.php @@ -11,6 +11,7 @@ * Tests RDFa markup generation for taxonomy term fields. * * @group rdf + * @group legacy */ class EntityReferenceFieldAttributesTest extends TaxonomyTestBase { @@ -49,6 +50,9 @@ class EntityReferenceFieldAttributesTest extends TaxonomyTestBase { */ protected $vocabulary; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/rdf/tests/src/Functional/FileFieldAttributesTest.php b/web/core/modules/rdf/tests/src/Functional/FileFieldAttributesTest.php index 28ffb6b26..8ebfdf560 100644 --- a/web/core/modules/rdf/tests/src/Functional/FileFieldAttributesTest.php +++ b/web/core/modules/rdf/tests/src/Functional/FileFieldAttributesTest.php @@ -11,6 +11,7 @@ * Tests the RDFa markup of filefields. * * @group rdf + * @group legacy */ class FileFieldAttributesTest extends FileFieldTestBase { @@ -56,6 +57,9 @@ class FileFieldAttributesTest extends FileFieldTestBase { */ protected $node; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); $node_storage = $this->container->get('entity_type.manager')->getStorage('node'); diff --git a/web/core/modules/rdf/tests/src/Functional/GetRdfNamespacesTest.php b/web/core/modules/rdf/tests/src/Functional/GetRdfNamespacesTest.php index b2951615b..9f044da19 100644 --- a/web/core/modules/rdf/tests/src/Functional/GetRdfNamespacesTest.php +++ b/web/core/modules/rdf/tests/src/Functional/GetRdfNamespacesTest.php @@ -8,6 +8,7 @@ * Tests hook_rdf_namespaces(). * * @group rdf + * @group legacy */ class GetRdfNamespacesTest extends BrowserTestBase { diff --git a/web/core/modules/rdf/tests/src/Functional/ImageFieldAttributesTest.php b/web/core/modules/rdf/tests/src/Functional/ImageFieldAttributesTest.php index 5c2f67fa9..a7c96b100 100644 --- a/web/core/modules/rdf/tests/src/Functional/ImageFieldAttributesTest.php +++ b/web/core/modules/rdf/tests/src/Functional/ImageFieldAttributesTest.php @@ -14,6 +14,7 @@ * Tests the RDFa markup of imagefields. * * @group rdf + * @group legacy */ class ImageFieldAttributesTest extends ImageFieldTestBase { @@ -63,6 +64,9 @@ class ImageFieldAttributesTest extends ImageFieldTestBase { */ protected $node; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/rdf/tests/src/Functional/Migrate/NoMultilingualReviewPageTest.php b/web/core/modules/rdf/tests/src/Functional/Migrate/NoMultilingualReviewPageTest.php index 34bd011c5..383f56edd 100644 --- a/web/core/modules/rdf/tests/src/Functional/Migrate/NoMultilingualReviewPageTest.php +++ b/web/core/modules/rdf/tests/src/Functional/Migrate/NoMultilingualReviewPageTest.php @@ -10,6 +10,7 @@ * The test method is provided by the MigrateUpgradeTestBase class. * * @group rdf + * @group legacy */ class NoMultilingualReviewPageTest extends NoMultilingualReviewPageTestBase { diff --git a/web/core/modules/rdf/tests/src/Functional/Migrate/Upgrade7Test.php b/web/core/modules/rdf/tests/src/Functional/Migrate/Upgrade7Test.php index 0edf193c9..b3c9c617f 100644 --- a/web/core/modules/rdf/tests/src/Functional/Migrate/Upgrade7Test.php +++ b/web/core/modules/rdf/tests/src/Functional/Migrate/Upgrade7Test.php @@ -10,6 +10,7 @@ * The test method is provided by the MigrateUpgradeTestBase class. * * @group rdf + * @group legacy */ class Upgrade7Test extends MigrateUpgradeTestBase { diff --git a/web/core/modules/rdf/tests/src/Functional/NodeAttributesTest.php b/web/core/modules/rdf/tests/src/Functional/NodeAttributesTest.php index 3463d3965..640111c6a 100644 --- a/web/core/modules/rdf/tests/src/Functional/NodeAttributesTest.php +++ b/web/core/modules/rdf/tests/src/Functional/NodeAttributesTest.php @@ -10,6 +10,7 @@ * Tests the RDFa markup of Nodes. * * @group rdf + * @group legacy */ class NodeAttributesTest extends NodeTestBase { @@ -34,6 +35,9 @@ class NodeAttributesTest extends NodeTestBase { */ protected $baseUri; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingJsonAnonTest.php b/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingJsonAnonTest.php index faed79506..e9f3f4bfa 100644 --- a/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingJsonAnonTest.php +++ b/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingJsonAnonTest.php @@ -6,6 +6,7 @@ /** * @group rest + * @group legacy */ class RdfMappingJsonAnonTest extends RdfMappingResourceTestBase { diff --git a/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingJsonBasicAuthTest.php b/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingJsonBasicAuthTest.php index e5d4c202a..db3776d1f 100644 --- a/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingJsonBasicAuthTest.php +++ b/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingJsonBasicAuthTest.php @@ -6,6 +6,7 @@ /** * @group rest + * @group legacy */ class RdfMappingJsonBasicAuthTest extends RdfMappingResourceTestBase { diff --git a/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingJsonCookieTest.php b/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingJsonCookieTest.php index 768aab6b9..94024201e 100644 --- a/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingJsonCookieTest.php +++ b/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingJsonCookieTest.php @@ -6,6 +6,7 @@ /** * @group rest + * @group legacy */ class RdfMappingJsonCookieTest extends RdfMappingResourceTestBase { diff --git a/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingXmlAnonTest.php b/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingXmlAnonTest.php index a1970f6bd..4b94394ad 100644 --- a/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingXmlAnonTest.php +++ b/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingXmlAnonTest.php @@ -7,6 +7,7 @@ /** * @group rest + * @group legacy */ class RdfMappingXmlAnonTest extends RdfMappingResourceTestBase { diff --git a/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingXmlBasicAuthTest.php b/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingXmlBasicAuthTest.php index d4bbc3b17..d8c3623cb 100644 --- a/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingXmlBasicAuthTest.php +++ b/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingXmlBasicAuthTest.php @@ -7,6 +7,7 @@ /** * @group rest + * @group legacy */ class RdfMappingXmlBasicAuthTest extends RdfMappingResourceTestBase { diff --git a/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingXmlCookieTest.php b/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingXmlCookieTest.php index c84fdc075..e606398d1 100644 --- a/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingXmlCookieTest.php +++ b/web/core/modules/rdf/tests/src/Functional/Rest/RdfMappingXmlCookieTest.php @@ -7,6 +7,7 @@ /** * @group rest + * @group legacy */ class RdfMappingXmlCookieTest extends RdfMappingResourceTestBase { diff --git a/web/core/modules/rdf/tests/src/Functional/StandardProfileTest.php b/web/core/modules/rdf/tests/src/Functional/StandardProfileTest.php index efe1f847d..1d7fb0013 100644 --- a/web/core/modules/rdf/tests/src/Functional/StandardProfileTest.php +++ b/web/core/modules/rdf/tests/src/Functional/StandardProfileTest.php @@ -13,9 +13,10 @@ use Drupal\Tests\rdf\Traits\RdfParsingTrait; /** - * Tests the RDF mappings and RDFa markup of the standard profile. + * Tests the RDF mappings and RDFa markup on top of the standard profile. * * @group rdf + * @group legacy */ class StandardProfileTest extends BrowserTestBase { @@ -24,7 +25,7 @@ class StandardProfileTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * The profile used during tests. @@ -36,80 +37,118 @@ class StandardProfileTest extends BrowserTestBase { public $profile = 'standard'; /** + * {@inheritdoc} + */ + protected static $modules = ['rdf']; + + /** + * The base URI. + * * @var string */ protected $baseUri; /** + * The admin user. + * * @var \Drupal\user\UserInterface */ protected $adminUser; /** + * The web user. + * * @var \Drupal\user\UserInterface */ protected $webUser; /** + * The term to test. + * * @var \Drupal\taxonomy\TermInterface */ protected $term; /** + * The image to test. + * * @var \Drupal\file\FileInterface */ protected $image; /** + * The article to test. + * * @var \Drupal\node\NodeInterface */ protected $article; /** + * The comment on the article to test. + * * @var \Drupal\comment\CommentInterface */ protected $articleComment; /** + * The page to test. + * * @var \Drupal\node\NodeInterface */ protected $page; /** + * The URI of the image to test. + * * @var string */ protected $imageUri; /** + * The URI of the term to test. + * * @var string */ protected $termUri; /** + * The URI of the article to test. + * * @var string */ protected $articleUri; /** + * The URI of the page to test. + * * @var string */ protected $pageUri; /** + * The URI of the author of the article to test. + * * @var string */ protected $authorUri; /** + * The URI of the comment on the article to test. + * * @var string */ protected $articleCommentUri; /** + * The URI of the author of the comment to test. + * * @var string */ protected $commenterUri; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -161,7 +200,10 @@ protected function setUp(): void { ]; $this->article = $this->drupalCreateNode($article_settings); // Create second article to test teaser list. - $this->drupalCreateNode(['type' => 'article', 'promote' => NodeInterface::PROMOTED]); + $this->drupalCreateNode([ + 'type' => 'article', + 'promote' => NodeInterface::PROMOTED, + ]); // Create article comment. $this->articleComment = $this->saveComment($this->article->id(), $this->webUser->id(), NULL, 0); @@ -212,7 +254,6 @@ protected function doFrontPageRdfaTests() { $this->drupalGet(Url::fromRoute('')); // Ensure that both articles are listed. - // $this->assertCount(2, $this->getRdfGraph(Url::fromRoute(''), $this->baseUri)->allOfType('http://schema.org/Article'), 'Two articles found on front page.'); $this->assertEquals(2, $this->getElementByRdfTypeCount(Url::fromRoute(''), $this->baseUri, 'http://schema.org/Article'), 'Two articles found on front page.'); // Test interaction count. @@ -455,10 +496,9 @@ protected function assertRdfaNodeCommentProperties(): void { $text = $this->articleComment->get('comment_body')->value; $expected_value = [ 'type' => 'literal', - // There is an extra carriage return in the when parsing comments as + // There is an extra carriage return in the value when parsing comments as // output by Bartik, so it must be added to the expected value. - 'value' => "$text -", + 'value' => "$text" . PHP_EOL, 'lang' => 'en', ]; $this->assertTrue($this->hasRdfProperty($this->getSession()->getPage()->getContent(), $this->baseUri, $this->articleCommentUri, 'http://schema.org/text', $expected_value), "Article comment body was found (schema:text)."); diff --git a/web/core/modules/rdf/tests/src/Functional/TaxonomyAttributesTest.php b/web/core/modules/rdf/tests/src/Functional/TaxonomyAttributesTest.php index 465a45915..4ddf5b428 100644 --- a/web/core/modules/rdf/tests/src/Functional/TaxonomyAttributesTest.php +++ b/web/core/modules/rdf/tests/src/Functional/TaxonomyAttributesTest.php @@ -10,6 +10,7 @@ * Tests the RDFa markup of Taxonomy terms. * * @group rdf + * @group legacy */ class TaxonomyAttributesTest extends TaxonomyTestBase { @@ -41,6 +42,9 @@ class TaxonomyAttributesTest extends TaxonomyTestBase { */ protected $vocabulary; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/rdf/tests/src/Functional/UserAttributesTest.php b/web/core/modules/rdf/tests/src/Functional/UserAttributesTest.php index 9df37f11e..1771971f3 100644 --- a/web/core/modules/rdf/tests/src/Functional/UserAttributesTest.php +++ b/web/core/modules/rdf/tests/src/Functional/UserAttributesTest.php @@ -10,6 +10,7 @@ * Tests the RDFa markup of Users. * * @group rdf + * @group legacy */ class UserAttributesTest extends BrowserTestBase { @@ -34,6 +35,9 @@ class UserAttributesTest extends BrowserTestBase { */ protected $baseUri; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); rdf_get_mapping('user', 'user') diff --git a/web/core/modules/rdf/tests/src/Kernel/CrudTest.php b/web/core/modules/rdf/tests/src/Kernel/CrudTest.php index aa4174eb2..8e63751f8 100644 --- a/web/core/modules/rdf/tests/src/Kernel/CrudTest.php +++ b/web/core/modules/rdf/tests/src/Kernel/CrudTest.php @@ -8,6 +8,7 @@ * Tests the RDF mapping CRUD functions. * * @group rdf + * @group legacy */ class CrudTest extends KernelTestBase { @@ -33,6 +34,9 @@ class CrudTest extends KernelTestBase { */ protected $bundle; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); $this->prefix = 'rdf.mapping'; diff --git a/web/core/modules/rdf/tests/src/Kernel/Field/DateTimeFieldRdfaTest.php b/web/core/modules/rdf/tests/src/Kernel/Field/DateTimeFieldRdfaTest.php index 6616d2d8d..18ac64b9d 100644 --- a/web/core/modules/rdf/tests/src/Kernel/Field/DateTimeFieldRdfaTest.php +++ b/web/core/modules/rdf/tests/src/Kernel/Field/DateTimeFieldRdfaTest.php @@ -8,6 +8,7 @@ * Tests RDFa output by datetime field formatters. * * @group rdf + * @group legacy */ class DateTimeFieldRdfaTest extends FieldRdfaTestBase { @@ -28,6 +29,9 @@ class DateTimeFieldRdfaTest extends FieldRdfaTestBase { */ protected static $modules = ['datetime']; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/rdf/tests/src/Kernel/Field/EmailFieldRdfaTest.php b/web/core/modules/rdf/tests/src/Kernel/Field/EmailFieldRdfaTest.php index 7330ef0e4..3bcf36980 100644 --- a/web/core/modules/rdf/tests/src/Kernel/Field/EmailFieldRdfaTest.php +++ b/web/core/modules/rdf/tests/src/Kernel/Field/EmailFieldRdfaTest.php @@ -8,6 +8,7 @@ * Tests RDFa output by email field formatters. * * @group rdf + * @group legacy */ class EmailFieldRdfaTest extends FieldRdfaTestBase { @@ -21,6 +22,9 @@ class EmailFieldRdfaTest extends FieldRdfaTestBase { */ protected static $modules = ['text']; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/rdf/tests/src/Kernel/Field/EntityReferenceRdfaTest.php b/web/core/modules/rdf/tests/src/Kernel/Field/EntityReferenceRdfaTest.php index f4c85ab46..02a87b782 100644 --- a/web/core/modules/rdf/tests/src/Kernel/Field/EntityReferenceRdfaTest.php +++ b/web/core/modules/rdf/tests/src/Kernel/Field/EntityReferenceRdfaTest.php @@ -10,6 +10,7 @@ * Tests the RDFa output of the entity reference field formatter. * * @group rdf + * @group legacy */ class EntityReferenceRdfaTest extends FieldRdfaTestBase { @@ -46,6 +47,9 @@ class EntityReferenceRdfaTest extends FieldRdfaTestBase { */ protected static $modules = ['text', 'filter']; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/rdf/tests/src/Kernel/Field/FieldRdfaDatatypeCallbackTest.php b/web/core/modules/rdf/tests/src/Kernel/Field/FieldRdfaDatatypeCallbackTest.php index 59af0b67f..a1f8f8f14 100644 --- a/web/core/modules/rdf/tests/src/Kernel/Field/FieldRdfaDatatypeCallbackTest.php +++ b/web/core/modules/rdf/tests/src/Kernel/Field/FieldRdfaDatatypeCallbackTest.php @@ -8,6 +8,7 @@ * Tests the RDFa output of a text field formatter with a datatype callback. * * @group rdf + * @group legacy */ class FieldRdfaDatatypeCallbackTest extends FieldRdfaTestBase { @@ -21,6 +22,9 @@ class FieldRdfaDatatypeCallbackTest extends FieldRdfaTestBase { */ protected static $modules = ['text', 'filter', 'rdf_test']; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/rdf/tests/src/Kernel/Field/LinkFieldRdfaTest.php b/web/core/modules/rdf/tests/src/Kernel/Field/LinkFieldRdfaTest.php index 96f85c745..fe54d4d66 100644 --- a/web/core/modules/rdf/tests/src/Kernel/Field/LinkFieldRdfaTest.php +++ b/web/core/modules/rdf/tests/src/Kernel/Field/LinkFieldRdfaTest.php @@ -8,6 +8,7 @@ * Tests the placement of RDFa in link field formatters. * * @group rdf + * @group legacy */ class LinkFieldRdfaTest extends FieldRdfaTestBase { diff --git a/web/core/modules/rdf/tests/src/Kernel/Field/NumberFieldRdfaTest.php b/web/core/modules/rdf/tests/src/Kernel/Field/NumberFieldRdfaTest.php index fc566cc49..a4d9eb3f6 100644 --- a/web/core/modules/rdf/tests/src/Kernel/Field/NumberFieldRdfaTest.php +++ b/web/core/modules/rdf/tests/src/Kernel/Field/NumberFieldRdfaTest.php @@ -8,6 +8,7 @@ * Tests RDFa output by number field formatters. * * @group rdf + * @group legacy */ class NumberFieldRdfaTest extends FieldRdfaTestBase { @@ -30,8 +31,8 @@ public function testIntegerFormatter() { * Tests the integer formatter with settings. */ public function testIntegerFormatterWithSettings() { - \Drupal::service('theme_installer')->install(['classy']); - $this->config('system.theme')->set('default', 'classy')->save(); + \Drupal::service('theme_installer')->install(['starterkit_theme']); + $this->config('system.theme')->set('default', 'starterkit_theme')->save(); $this->fieldType = 'integer'; $formatter = [ 'type' => 'number_integer', @@ -73,8 +74,8 @@ public function testFloatFormatter() { * Tests the float formatter with settings. */ public function testFloatFormatterWithSettings() { - \Drupal::service('theme_installer')->install(['classy']); - $this->config('system.theme')->set('default', 'classy')->save(); + \Drupal::service('theme_installer')->install(['starterkit_theme']); + $this->config('system.theme')->set('default', 'starterkit_theme')->save(); $this->fieldType = 'float'; $formatter = [ 'type' => 'number_decimal', @@ -123,8 +124,8 @@ public function testFloatFormatterWithScale() { * Tests the float formatter with a scale. Scale is exercised. */ public function testFloatFormatterWithScaleExercised() { - \Drupal::service('theme_installer')->install(['classy']); - $this->config('system.theme')->set('default', 'classy')->save(); + \Drupal::service('theme_installer')->install(['starterkit_theme']); + $this->config('system.theme')->set('default', 'starterkit_theme')->save(); $this->fieldType = 'float'; $formatter = [ 'type' => 'number_decimal', @@ -161,8 +162,8 @@ public function testDecimalFormatter() { * Tests the decimal formatter with settings. */ public function testDecimalFormatterWithSettings() { - \Drupal::service('theme_installer')->install(['classy']); - $this->config('system.theme')->set('default', 'classy')->save(); + \Drupal::service('theme_installer')->install(['starterkit_theme']); + $this->config('system.theme')->set('default', 'starterkit_theme')->save(); $this->fieldType = 'decimal'; $formatter = [ 'type' => 'number_decimal', diff --git a/web/core/modules/rdf/tests/src/Kernel/Field/StringFieldRdfaTest.php b/web/core/modules/rdf/tests/src/Kernel/Field/StringFieldRdfaTest.php index c0e9ddfd1..6ded2483e 100644 --- a/web/core/modules/rdf/tests/src/Kernel/Field/StringFieldRdfaTest.php +++ b/web/core/modules/rdf/tests/src/Kernel/Field/StringFieldRdfaTest.php @@ -8,6 +8,7 @@ * Tests RDFa output by text field formatters. * * @group rdf + * @group legacy */ class StringFieldRdfaTest extends FieldRdfaTestBase { @@ -30,6 +31,9 @@ class StringFieldRdfaTest extends FieldRdfaTestBase { */ protected $testSummary = 'test_summary_value'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/rdf/tests/src/Kernel/Field/TelephoneFieldRdfaTest.php b/web/core/modules/rdf/tests/src/Kernel/Field/TelephoneFieldRdfaTest.php index fec2227b5..99eb3c811 100644 --- a/web/core/modules/rdf/tests/src/Kernel/Field/TelephoneFieldRdfaTest.php +++ b/web/core/modules/rdf/tests/src/Kernel/Field/TelephoneFieldRdfaTest.php @@ -8,6 +8,7 @@ * Tests RDFa output by telephone field formatters. * * @group rdf + * @group legacy */ class TelephoneFieldRdfaTest extends FieldRdfaTestBase { @@ -28,6 +29,9 @@ class TelephoneFieldRdfaTest extends FieldRdfaTestBase { */ protected static $modules = ['telephone', 'text']; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/rdf/tests/src/Kernel/Field/TextFieldRdfaTest.php b/web/core/modules/rdf/tests/src/Kernel/Field/TextFieldRdfaTest.php index 5f807448f..73cf5da7c 100644 --- a/web/core/modules/rdf/tests/src/Kernel/Field/TextFieldRdfaTest.php +++ b/web/core/modules/rdf/tests/src/Kernel/Field/TextFieldRdfaTest.php @@ -8,6 +8,7 @@ * Tests RDFa output by text field formatters. * * @group rdf + * @group legacy */ class TextFieldRdfaTest extends FieldRdfaTestBase { @@ -35,6 +36,9 @@ class TextFieldRdfaTest extends FieldRdfaTestBase { */ protected static $modules = ['text', 'filter']; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/rdf/tests/src/Kernel/Migrate/d7/MigrateRdfMappingTest.php b/web/core/modules/rdf/tests/src/Kernel/Migrate/d7/MigrateRdfMappingTest.php index e676d3344..99095de34 100644 --- a/web/core/modules/rdf/tests/src/Kernel/Migrate/d7/MigrateRdfMappingTest.php +++ b/web/core/modules/rdf/tests/src/Kernel/Migrate/d7/MigrateRdfMappingTest.php @@ -9,6 +9,7 @@ * Tests RDF mappings migration from Drupal 7 to 8. * * @group rdf + * @group legacy */ class MigrateRdfMappingTest extends MigrateDrupalTestBase { diff --git a/web/core/modules/rdf/tests/src/Kernel/Plugin/migrate/source/d7/RdfMappingTest.php b/web/core/modules/rdf/tests/src/Kernel/Plugin/migrate/source/d7/RdfMappingTest.php index 08ad4be55..6b746d6c0 100644 --- a/web/core/modules/rdf/tests/src/Kernel/Plugin/migrate/source/d7/RdfMappingTest.php +++ b/web/core/modules/rdf/tests/src/Kernel/Plugin/migrate/source/d7/RdfMappingTest.php @@ -12,6 +12,7 @@ * @covers \Drupal\rdf\Plugin\migrate\source\d7\RdfMapping * * @group rdf + * @group legacy */ class RdfMappingTest extends MigrateSqlSourceTestBase { diff --git a/web/core/modules/rdf/tests/src/Kernel/RdfCommentStorageLoadTest.php b/web/core/modules/rdf/tests/src/Kernel/RdfCommentStorageLoadTest.php index 011676c32..b1ace5969 100644 --- a/web/core/modules/rdf/tests/src/Kernel/RdfCommentStorageLoadTest.php +++ b/web/core/modules/rdf/tests/src/Kernel/RdfCommentStorageLoadTest.php @@ -11,6 +11,7 @@ * Tests rdf_comment_storage_load. * * @group rdf + * @group legacy */ class RdfCommentStorageLoadTest extends EntityKernelTestBase { diff --git a/web/core/modules/rdf/tests/src/Kernel/RdfaAttributesTest.php b/web/core/modules/rdf/tests/src/Kernel/RdfaAttributesTest.php index 812ffeaf0..ade7b93c1 100644 --- a/web/core/modules/rdf/tests/src/Kernel/RdfaAttributesTest.php +++ b/web/core/modules/rdf/tests/src/Kernel/RdfaAttributesTest.php @@ -8,6 +8,7 @@ * Tests RDFa attribute generation from RDF mapping. * * @group rdf + * @group legacy */ class RdfaAttributesTest extends KernelTestBase { diff --git a/web/core/modules/rdf/tests/src/Unit/RdfMappingConfigEntityUnitTest.php b/web/core/modules/rdf/tests/src/Unit/RdfMappingConfigEntityUnitTest.php index 1df305686..7b709d09a 100644 --- a/web/core/modules/rdf/tests/src/Unit/RdfMappingConfigEntityUnitTest.php +++ b/web/core/modules/rdf/tests/src/Unit/RdfMappingConfigEntityUnitTest.php @@ -10,6 +10,7 @@ /** * @coversDefaultClass \Drupal\rdf\Entity\RdfMapping * @group rdf + * @group legacy */ class RdfMappingConfigEntityUnitTest extends UnitTestCase { @@ -50,7 +51,7 @@ protected function setUp(): void { $this->entityType = $this->createMock('\Drupal\Core\Entity\EntityTypeInterface'); $this->entityType->expects($this->any()) ->method('getProvider') - ->will($this->returnValue('entity')); + ->willReturn('entity'); $this->entityTypeManager = $this->createMock(EntityTypeManagerInterface::class); @@ -72,14 +73,14 @@ public function testCalculateDependencies() { $target_entity_type = $this->createMock('\Drupal\Core\Entity\EntityTypeInterface'); $target_entity_type->expects($this->any()) ->method('getProvider') - ->will($this->returnValue('test_module')); + ->willReturn('test_module'); $values = ['targetEntityType' => $target_entity_type_id]; $target_entity_type->expects($this->any()) ->method('getBundleEntityType') - ->will($this->returnValue(NULL)); + ->willReturn(NULL); $target_entity_type->expects($this->any()) ->method('getBundleConfigDependency') - ->will($this->returnValue(['type' => 'module', 'name' => 'test_module'])); + ->willReturn(['type' => 'module', 'name' => 'test_module']); $this->entityTypeManager->expects($this->any()) ->method('getDefinition') @@ -102,13 +103,16 @@ public function testCalculateDependenciesWithEntityBundle() { $target_entity_type = $this->createMock('\Drupal\Core\Entity\EntityTypeInterface'); $target_entity_type->expects($this->any()) ->method('getProvider') - ->will($this->returnValue('test_module')); + ->willReturn('test_module'); $bundle_id = $this->randomMachineName(10); $values = ['targetEntityType' => $target_entity_type_id , 'bundle' => $bundle_id]; $target_entity_type->expects($this->any()) ->method('getBundleConfigDependency') - ->will($this->returnValue(['type' => 'config', 'name' => 'test_module.type.' . $bundle_id])); + ->willReturn([ + 'type' => 'config', + 'name' => 'test_module.type.' . $bundle_id, + ]); $this->entityTypeManager->expects($this->any()) ->method('getDefinition') diff --git a/web/core/modules/responsive_image/js/responsive_image.ajax.js b/web/core/modules/responsive_image/js/responsive_image.ajax.js index 145adcf00..5c8955985 100644 --- a/web/core/modules/responsive_image/js/responsive_image.ajax.js +++ b/web/core/modules/responsive_image/js/responsive_image.ajax.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function (Drupal) { Drupal.behaviors.responsiveImageAJAX = { attach: function attach() { diff --git a/web/core/modules/responsive_image/migrations/d7_responsive_image_styles.yml b/web/core/modules/responsive_image/migrations/d7_responsive_image_styles.yml index 2ed283c2e..af4ac522b 100644 --- a/web/core/modules/responsive_image/migrations/d7_responsive_image_styles.yml +++ b/web/core/modules/responsive_image/migrations/d7_responsive_image_styles.yml @@ -11,8 +11,8 @@ process: image_style_mappings: plugin: image_style_mappings source: - - mapping - - breakpoint_group + - mapping + - breakpoint_group breakpoint_group: breakpoint_group destination: plugin: entity:responsive_image_style diff --git a/web/core/modules/responsive_image/responsive_image.module b/web/core/modules/responsive_image/responsive_image.module index 6bd0e51f2..9a5620458 100644 --- a/web/core/modules/responsive_image/responsive_image.module +++ b/web/core/modules/responsive_image/responsive_image.module @@ -348,8 +348,8 @@ function template_preprocess_responsive_image(&$variables) { * @param array $multipliers * An array with multipliers as keys and image style mappings as values. * - * @return \Drupal\Core\Template\Attribute[] - * An array of attributes for the source tag. + * @return \Drupal\Core\Template\Attribute + * An object of attributes for the source tag. */ function _responsive_image_build_source_attributes(array $variables, BreakpointInterface $breakpoint, array $multipliers) { if ((empty($variables['width']) || empty($variables['height']))) { diff --git a/web/core/modules/responsive_image/src/Plugin/Field/FieldFormatter/ResponsiveImageFormatter.php b/web/core/modules/responsive_image/src/Plugin/Field/FieldFormatter/ResponsiveImageFormatter.php index 331c278e0..0afb59ee6 100644 --- a/web/core/modules/responsive_image/src/Plugin/Field/FieldFormatter/ResponsiveImageFormatter.php +++ b/web/core/modules/responsive_image/src/Plugin/Field/FieldFormatter/ResponsiveImageFormatter.php @@ -137,7 +137,7 @@ public function settingsForm(array $form, FormStateInterface $form_state) { } $elements['responsive_image_style'] = [ - '#title' => t('Responsive image style'), + '#title' => $this->t('Responsive image style'), '#type' => 'select', '#default_value' => $this->getSetting('responsive_image_style') ?: NULL, '#required' => TRUE, @@ -145,18 +145,18 @@ public function settingsForm(array $form, FormStateInterface $form_state) { '#description' => [ '#markup' => $this->linkGenerator->generate($this->t('Configure Responsive Image Styles'), new Url('entity.responsive_image_style.collection')), '#access' => $this->currentUser->hasPermission('administer responsive image styles'), - ], + ], ]; $link_types = [ - 'content' => t('Content'), - 'file' => t('File'), + 'content' => $this->t('Content'), + 'file' => $this->t('File'), ]; $elements['image_link'] = [ - '#title' => t('Link image to'), + '#title' => $this->t('Link image to'), '#type' => 'select', '#default_value' => $this->getSetting('image_link'), - '#empty_option' => t('Nothing'), + '#empty_option' => $this->t('Nothing'), '#options' => $link_types, ]; @@ -171,11 +171,11 @@ public function settingsSummary() { $responsive_image_style = $this->responsiveImageStyleStorage->load($this->getSetting('responsive_image_style')); if ($responsive_image_style) { - $summary[] = t('Responsive image style: @responsive_image_style', ['@responsive_image_style' => $responsive_image_style->label()]); + $summary[] = $this->t('Responsive image style: @responsive_image_style', ['@responsive_image_style' => $responsive_image_style->label()]); $link_types = [ - 'content' => t('Linked to content'), - 'file' => t('Linked to file'), + 'content' => $this->t('Linked to content'), + 'file' => $this->t('Linked to file'), ]; // Display this setting only if image is linked. if (isset($link_types[$this->getSetting('image_link')])) { @@ -183,7 +183,7 @@ public function settingsSummary() { } } else { - $summary[] = t('Select a responsive image style.'); + $summary[] = $this->t('Select a responsive image style.'); } return $summary; diff --git a/web/core/modules/responsive_image/src/ResponsiveImageStyleForm.php b/web/core/modules/responsive_image/src/ResponsiveImageStyleForm.php index 7bceff174..4700229c5 100644 --- a/web/core/modules/responsive_image/src/ResponsiveImageStyleForm.php +++ b/web/core/modules/responsive_image/src/ResponsiveImageStyleForm.php @@ -225,6 +225,7 @@ public function validateForm(array &$form, FormStateInterface $form_state) { if ($form_state->getValue('breakpoint_group') != $form_state->getCompleteForm()['breakpoint_group']['#default_value']) { // Remove the image style mappings since the breakpoint ID has changed. $form_state->unsetValue('keyed_styles'); + return; } // Check that at least 1 image style has been selected when using sizes. diff --git a/web/core/modules/responsive_image/tests/src/Functional/ResponsiveImageAdminUITest.php b/web/core/modules/responsive_image/tests/src/Functional/ResponsiveImageAdminUITest.php index 9cbbad433..974c5c6c5 100644 --- a/web/core/modules/responsive_image/tests/src/Functional/ResponsiveImageAdminUITest.php +++ b/web/core/modules/responsive_image/tests/src/Functional/ResponsiveImageAdminUITest.php @@ -55,7 +55,7 @@ public function testResponsiveImageAdmin() { $edit = [ 'label' => 'Style One', 'id' => 'style_one', - 'breakpoint_group' => 'responsive_image_test_module', + 'breakpoint_group' => 'responsive_image', 'fallback_image_style' => 'thumbnail', ]; $this->drupalGet('admin/config/media/responsive-image-style/add'); @@ -67,6 +67,15 @@ public function testResponsiveImageAdmin() { $this->assertSession()->pageTextNotContains('There are no responsive image styles yet.'); $this->assertSession()->pageTextContains('Style One'); + // Edit the breakpoint_group. + $this->drupalGet('admin/config/media/responsive-image-style/style_one'); + $this->assertSession()->fieldValueEquals('label', 'Style One'); + $this->assertSession()->fieldValueEquals('breakpoint_group', 'responsive_image'); + $edit = [ + 'breakpoint_group' => 'responsive_image_test_module', + ]; + $this->submitForm($edit, 'Save'); + // Edit the group. $this->drupalGet('admin/config/media/responsive-image-style/style_one'); $this->assertSession()->fieldValueEquals('label', 'Style One'); diff --git a/web/core/modules/responsive_image/tests/src/Functional/ResponsiveImageFieldDisplayTest.php b/web/core/modules/responsive_image/tests/src/Functional/ResponsiveImageFieldDisplayTest.php index e865b0ee2..8abca68b2 100644 --- a/web/core/modules/responsive_image/tests/src/Functional/ResponsiveImageFieldDisplayTest.php +++ b/web/core/modules/responsive_image/tests/src/Functional/ResponsiveImageFieldDisplayTest.php @@ -426,9 +426,9 @@ public function testResponsiveImageFieldFormattersOneSource() { 'image_mapping' => 'medium', ]) ->addImageStyleMapping('responsive_image_test_module.empty', '2x', [ - 'image_mapping_type' => 'image_style', - 'image_mapping' => 'large', - ]) + 'image_mapping_type' => 'image_style', + 'image_mapping' => 'large', + ]) ->save(); $node_storage = $this->container->get('entity_type.manager')->getStorage('node'); $field_name = mb_strtolower($this->randomMachineName()); diff --git a/web/core/modules/responsive_image/tests/src/Unit/ResponsiveImageStyleConfigEntityUnitTest.php b/web/core/modules/responsive_image/tests/src/Unit/ResponsiveImageStyleConfigEntityUnitTest.php index 125c48e00..0e6255f60 100644 --- a/web/core/modules/responsive_image/tests/src/Unit/ResponsiveImageStyleConfigEntityUnitTest.php +++ b/web/core/modules/responsive_image/tests/src/Unit/ResponsiveImageStyleConfigEntityUnitTest.php @@ -42,13 +42,13 @@ protected function setUp(): void { $this->entityType = $this->createMock('\Drupal\Core\Entity\EntityTypeInterface'); $this->entityType->expects($this->any()) ->method('getProvider') - ->will($this->returnValue('responsive_image')); + ->willReturn('responsive_image'); $this->entityTypeManager = $this->createMock(EntityTypeManagerInterface::class); $this->entityTypeManager->expects($this->any()) ->method('getDefinition') ->with('responsive_image_style') - ->will($this->returnValue($this->entityType)); + ->willReturn($this->entityType); $this->breakpointManager = $this->createMock('\Drupal\breakpoint\BreakpointManagerInterface'); @@ -106,13 +106,13 @@ public function testCalculateDependencies() { $this->breakpointManager->expects($this->any()) ->method('getGroupProviders') ->with('test_group') - ->willReturn(['bartik' => 'theme', 'toolbar' => 'module']); + ->willReturn(['olivero' => 'theme', 'toolbar' => 'module']); \Drupal::getContainer()->set('entity_type.repository', $entity_type_repository); $dependencies = $entity->calculateDependencies()->getDependencies(); $this->assertEquals(['toolbar'], $dependencies['module']); - $this->assertEquals(['bartik'], $dependencies['theme']); + $this->assertEquals(['olivero'], $dependencies['theme']); $this->assertEquals(['image.style.fallback', 'image.style.large', 'image.style.medium', 'image.style.small'], $dependencies['config']); } @@ -124,45 +124,45 @@ public function testHasImageStyleMappings() { $entity = new ResponsiveImageStyle([]); $this->assertFalse($entity->hasImageStyleMappings()); $entity->addImageStyleMapping('test_breakpoint', '1x', [ - 'image_mapping_type' => 'image_style', - 'image_mapping' => '', + 'image_mapping_type' => 'image_style', + 'image_mapping' => '', ]); $this->assertFalse($entity->hasImageStyleMappings()); $entity->removeImageStyleMappings(); $entity->addImageStyleMapping('test_breakpoint', '1x', [ - 'image_mapping_type' => 'sizes', - 'image_mapping' => [ - 'sizes' => '(min-width:700px) 700px, 100vw', - 'sizes_image_styles' => [], - ], + 'image_mapping_type' => 'sizes', + 'image_mapping' => [ + 'sizes' => '(min-width:700px) 700px, 100vw', + 'sizes_image_styles' => [], + ], ]); $this->assertFalse($entity->hasImageStyleMappings()); $entity->removeImageStyleMappings(); $entity->addImageStyleMapping('test_breakpoint', '1x', [ - 'image_mapping_type' => 'sizes', - 'image_mapping' => [ - 'sizes' => '', - 'sizes_image_styles' => [ - 'large' => 'large', - ], + 'image_mapping_type' => 'sizes', + 'image_mapping' => [ + 'sizes' => '', + 'sizes_image_styles' => [ + 'large' => 'large', ], + ], ]); $this->assertFalse($entity->hasImageStyleMappings()); $entity->removeImageStyleMappings(); $entity->addImageStyleMapping('test_breakpoint', '1x', [ - 'image_mapping_type' => 'image_style', - 'image_mapping' => 'large', + 'image_mapping_type' => 'image_style', + 'image_mapping' => 'large', ]); $this->assertTrue($entity->hasImageStyleMappings()); $entity->removeImageStyleMappings(); $entity->addImageStyleMapping('test_breakpoint', '1x', [ - 'image_mapping_type' => 'sizes', - 'image_mapping' => [ - 'sizes' => '(min-width:700px) 700px, 100vw', - 'sizes_image_styles' => [ - 'large' => 'large', - ], + 'image_mapping_type' => 'sizes', + 'image_mapping' => [ + 'sizes' => '(min-width:700px) 700px, 100vw', + 'sizes_image_styles' => [ + 'large' => 'large', ], + ], ]); $this->assertTrue($entity->hasImageStyleMappings()); } diff --git a/web/core/modules/rest/src/EventSubscriber/ResourceResponseSubscriber.php b/web/core/modules/rest/src/EventSubscriber/ResourceResponseSubscriber.php index 47ea8800a..9b5d24836 100644 --- a/web/core/modules/rest/src/EventSubscriber/ResourceResponseSubscriber.php +++ b/web/core/modules/rest/src/EventSubscriber/ResourceResponseSubscriber.php @@ -122,7 +122,7 @@ public function getResponseFormat(RouteMatchInterface $route_match, Request $req return $acceptable_formats[0]; } - // Sometimes, there are no acceptable formats, e.g. DELETE routes. + // Sometimes, there are no acceptable formats. return NULL; } @@ -141,8 +141,7 @@ public function getResponseFormat(RouteMatchInterface $route_match, Request $req * @param \Symfony\Component\Serializer\SerializerInterface $serializer * The serializer to use. * @param string|null $format - * The response format, or NULL in case the response does not need a format, - * for example for the response to a DELETE request. + * The response format, or NULL in case the response does not need a format. * * @todo Add test coverage for language negotiation contexts in * https://www.drupal.org/node/2135829. diff --git a/web/core/modules/rest/src/Routing/ResourceRoutes.php b/web/core/modules/rest/src/Routing/ResourceRoutes.php index f8ebbff15..83096eb44 100644 --- a/web/core/modules/rest/src/Routing/ResourceRoutes.php +++ b/web/core/modules/rest/src/Routing/ResourceRoutes.php @@ -116,7 +116,7 @@ protected function getRoutesForResourceConfig(RestResourceConfigInterface $rest_ // - set the allowed request body content types/formats for methods that // allow request bodies to be sent (unless hardcoded by the plugin) // - set the allowed authentication providers - if (in_array($method, ['GET', 'HEAD', 'POST', 'PUT', 'PATCH'], TRUE) && !$route->hasRequirement('_format')) { + if (in_array($method, ['GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'DELETE'], TRUE) && !$route->hasRequirement('_format')) { $route->addRequirements(['_format' => implode('|', $rest_resource_config->getFormats($method))]); } if (in_array($method, ['POST', 'PATCH', 'PUT'], TRUE) && !$route->hasRequirement('_content_type_format')) { diff --git a/web/core/modules/rest/tests/modules/rest_test/rest_test.services.yml b/web/core/modules/rest/tests/modules/rest_test/rest_test.services.yml index 85b418a6c..4ccb316c4 100644 --- a/web/core/modules/rest/tests/modules/rest_test/rest_test.services.yml +++ b/web/core/modules/rest/tests/modules/rest_test/rest_test.services.yml @@ -8,10 +8,10 @@ services: tags: - { name: authentication_provider, provider_id: 'rest_test_auth_global', global: TRUE } rest_test.page_cache_request_policy.deny_test_auth_requests: - class: Drupal\rest_test\PageCache\RequestPolicy\DenyTestAuthRequests - public: false - tags: - - { name: page_cache_request_policy } + class: Drupal\rest_test\PageCache\RequestPolicy\DenyTestAuthRequests + public: false + tags: + - { name: page_cache_request_policy } rest_test.encoder.foobar: class: Drupal\serialization\Encoder\JsonEncoder tags: diff --git a/web/core/modules/rest/tests/src/Functional/EntityResource/EntityResourceTestBase.php b/web/core/modules/rest/tests/src/Functional/EntityResource/EntityResourceTestBase.php index 8b9add719..bea7a29fa 100644 --- a/web/core/modules/rest/tests/src/Functional/EntityResource/EntityResourceTestBase.php +++ b/web/core/modules/rest/tests/src/Functional/EntityResource/EntityResourceTestBase.php @@ -24,6 +24,8 @@ use Psr\Http\Message\ResponseInterface; /** + * Defines a base class for testing all entity resources. + * * Even though there is the generic EntityResource, it's necessary for every * entity type to have its own test, because they each have different fields, * validation constraints, et cetera. It's not because the generic case works, @@ -85,16 +87,18 @@ abstract class EntityResourceTestBase extends ResourceTestBase { protected static $patchProtectedFieldNames; /** - * The fields that need a different (random) value for each new entity created - * by a POST request. + * A list of fields that need a unique value. + * + * This is for each new each entity created by a POST request. * * @var string[] */ protected static $uniqueFieldNames = []; /** - * Optionally specify which field is the 'label' field. Some entities do not - * specify a 'label' entity key. For example: User. + * Optionally specify which field is the 'label' field. + * + * Some entities do not specify a 'label' entity key. For example: User. * * @see ::getInvalidNormalizedEntityToCreate * @@ -519,19 +523,18 @@ public function testGet() { // @see \Drupal\rest\EventSubscriber\ResourceResponseSubscriber::flattenResponse() $cache_items = $this->container->get('database') ->select('cache_dynamic_page_cache', 'c') - ->fields('c', ['cid', 'data']) + ->fields('c', ['data']) ->condition('c.cid', '%[route]=rest.%', 'LIKE') ->execute() - ->fetchAllAssoc('cid'); + ->fetchAll(); if (!$is_cacheable_by_dynamic_page_cache) { $this->assertCount(0, $cache_items); } else { - $this->assertCount(2, $cache_items); - $found_cache_redirect = FALSE; + $this->assertLessThanOrEqual(2, count($cache_items)); $found_cached_200_response = FALSE; $other_cached_responses_are_4xx = TRUE; - foreach ($cache_items as $cid => $cache_item) { + foreach ($cache_items as $cache_item) { $cached_data = unserialize($cache_item->data); if (!isset($cached_data['#cache_redirect'])) { $cached_response = $cached_data['#response']; @@ -544,11 +547,7 @@ public function testGet() { $this->assertNotInstanceOf(ResourceResponseInterface::class, $cached_response); $this->assertInstanceOf(CacheableResponseInterface::class, $cached_response); } - else { - $found_cache_redirect = TRUE; - } } - $this->assertTrue($found_cache_redirect); $this->assertTrue($found_cached_200_response); $this->assertTrue($other_cached_responses_are_4xx); } diff --git a/web/core/modules/rest/tests/src/Functional/Views/StyleSerializerTest.php b/web/core/modules/rest/tests/src/Functional/Views/StyleSerializerTest.php index f83369b21..7360f4d86 100644 --- a/web/core/modules/rest/tests/src/Functional/Views/StyleSerializerTest.php +++ b/web/core/modules/rest/tests/src/Functional/Views/StyleSerializerTest.php @@ -70,6 +70,9 @@ class StyleSerializerTest extends ViewTestBase { */ protected $renderer; + /** + * {@inheritdoc} + */ protected function setUp($import_test_views = TRUE, $modules = ['rest_test_views']): void { parent::setUp($import_test_views, $modules); diff --git a/web/core/modules/rest/tests/src/Unit/CollectRoutesTest.php b/web/core/modules/rest/tests/src/Unit/CollectRoutesTest.php index b5c390d4d..8e60baa9b 100644 --- a/web/core/modules/rest/tests/src/Unit/CollectRoutesTest.php +++ b/web/core/modules/rest/tests/src/Unit/CollectRoutesTest.php @@ -85,7 +85,7 @@ protected function setUp(): void { $container->set('authentication_collector', $authentication_collector); $authentication_collector->expects($this->any()) ->method('getSortedProviders') - ->will($this->returnValue(['basic_auth' => 'data', 'cookie' => 'data'])); + ->willReturn(['basic_auth' => 'data', 'cookie' => 'data']); $container->setParameter('serializer.format_providers', ['json']); @@ -105,7 +105,7 @@ protected function setUp(): void { $display_manager->expects($this->once()) ->method('getDefinition') - ->will($this->returnValue(['id' => 'test', 'provider' => 'test'])); + ->willReturn(['id' => 'test', 'provider' => 'test']); $none = $this->getMockBuilder('\Drupal\views\Plugin\views\access\None') ->disableOriginalConstructor() @@ -113,7 +113,7 @@ protected function setUp(): void { $access_manager->expects($this->once()) ->method('createInstance') - ->will($this->returnValue($none)); + ->willReturn($none); $style_plugin = $this->getMockBuilder('\Drupal\rest\Plugin\views\style\Serializer') ->onlyMethods(['getFormats', 'init']) @@ -122,16 +122,16 @@ protected function setUp(): void { $style_plugin->expects($this->once()) ->method('getFormats') - ->will($this->returnValue(['json'])); + ->willReturn(['json']); $style_plugin->expects($this->once()) ->method('init') ->with($view_executable) - ->will($this->returnValue(TRUE)); + ->willReturn(TRUE); $style_manager->expects($this->once()) ->method('createInstance') - ->will($this->returnValue($style_plugin)); + ->willReturn($style_plugin); $this->routes = new RouteCollection(); $this->routes->add('test_1', new Route('/test/1')); diff --git a/web/core/modules/rest/tests/src/Unit/EntityResourceValidationTraitTest.php b/web/core/modules/rest/tests/src/Unit/EntityResourceValidationTraitTest.php index 17d512e41..99bd36db1 100644 --- a/web/core/modules/rest/tests/src/Unit/EntityResourceValidationTraitTest.php +++ b/web/core/modules/rest/tests/src/Unit/EntityResourceValidationTraitTest.php @@ -56,7 +56,7 @@ public function testFailedValidate() { $violations->expects($this->once()) ->method('filterByFieldAccess') - ->will($this->returnValue([])); + ->willReturn([]); $entity->validate()->willReturn($violations); diff --git a/web/core/modules/rest/tests/src/Unit/EventSubscriber/ResourceResponseSubscriberTest.php b/web/core/modules/rest/tests/src/Unit/EventSubscriber/ResourceResponseSubscriberTest.php index 8ff2eae36..47625ace3 100644 --- a/web/core/modules/rest/tests/src/Unit/EventSubscriber/ResourceResponseSubscriberTest.php +++ b/web/core/modules/rest/tests/src/Unit/EventSubscriber/ResourceResponseSubscriberTest.php @@ -136,7 +136,7 @@ public function testOnResponseWithCacheableResponse($methods, array $supported_r $route_match = new RouteMatch('test', new Route('/rest/test', ['_rest_resource_config' => $this->randomMachineName()], $route_requirements)); // The RequestHandler must return a ResourceResponseInterface object. - $handler_response = new ResourceResponse($method !== 'DELETE' ? ['REST' => 'Drupal'] : NULL); + $handler_response = new ResourceResponse(['REST' => 'Drupal']); $this->assertInstanceOf(ResourceResponseInterface::class, $handler_response); $this->assertInstanceOf(CacheableResponseInterface::class, $handler_response); @@ -186,7 +186,7 @@ public function testOnResponseWithUncacheableResponse($methods, array $supported $route_match = new RouteMatch('test', new Route('/rest/test', ['_rest_resource_config' => $this->randomMachineName()], $route_requirements)); // The RequestHandler must return a ResourceResponseInterface object. - $handler_response = new ModifiedResourceResponse($method !== 'DELETE' ? ['REST' => 'Drupal'] : NULL); + $handler_response = new ModifiedResourceResponse(['REST' => 'Drupal']); $this->assertInstanceOf(ResourceResponseInterface::class, $handler_response); $this->assertNotInstanceOf(CacheableResponseInterface::class, $handler_response); @@ -344,7 +344,7 @@ public function providerTestResponseFormat() { ]; $unsafe_method_bodyless_test_cases = [ - 'unsafe methods without response bodies (DELETE): client requested no format, response should have no format' => [ + 'unsafe methods without request bodies (DELETE): client requested no format, response should have the first acceptable format' => [ ['DELETE'], ['xml', 'json'], ['xml', 'json'], @@ -352,10 +352,10 @@ public function providerTestResponseFormat() { ['Content-Type' => 'application/json'], NULL, 'xml', - NULL, - '', + 'text/xml', + $xml_encoded, ], - 'unsafe methods without response bodies (DELETE): client requested format (XML), response should have no format' => [ + 'unsafe methods without request bodies (DELETE): client requested format (XML), response should have xml format' => [ ['DELETE'], ['xml', 'json'], ['xml', 'json'], @@ -363,10 +363,10 @@ public function providerTestResponseFormat() { ['Content-Type' => 'application/json'], NULL, 'xml', - NULL, - '', + 'text/xml', + $xml_encoded, ], - 'unsafe methods without response bodies (DELETE): client requested format (JSON), response should have no format' => [ + 'unsafe methods without request bodies (DELETE): client requested format (JSON), response should have json format' => [ ['DELETE'], ['xml', 'json'], ['xml', 'json'], @@ -374,8 +374,8 @@ public function providerTestResponseFormat() { ['Content-Type' => 'application/json'], NULL, 'json', - NULL, - '', + 'application/json', + $json_encoded, ], ]; diff --git a/web/core/modules/search/src/SearchPageListBuilder.php b/web/core/modules/search/src/SearchPageListBuilder.php index 1ee866c34..8b844a6b5 100644 --- a/web/core/modules/search/src/SearchPageListBuilder.php +++ b/web/core/modules/search/src/SearchPageListBuilder.php @@ -369,8 +369,7 @@ public function submitForm(array &$form, FormStateInterface $form_state) { } /** - * Form submission handler for the reindex button on the search admin settings - * form. + * Form submission handler for reindex button on search admin settings form. */ public function searchAdminReindexSubmit(array &$form, FormStateInterface $form_state) { // Send the user to the confirmation page. diff --git a/web/core/modules/search/src/SearchQuery.php b/web/core/modules/search/src/SearchQuery.php index 6869da434..ec8587892 100644 --- a/web/core/modules/search/src/SearchQuery.php +++ b/web/core/modules/search/src/SearchQuery.php @@ -110,7 +110,7 @@ class SearchQuery extends SelectExtender { * This is always used for the second step in the query, but is not part of * the preparation step unless $this->simple is FALSE. * - * @var Drupal\Core\Database\Query\ConditionInterface[] + * @var \Drupal\Core\Database\Query\ConditionInterface[] */ protected $conditions; diff --git a/web/core/modules/search/tests/modules/search_extra_type/src/Plugin/Search/SearchExtraTypeSearch.php b/web/core/modules/search/tests/modules/search_extra_type/src/Plugin/Search/SearchExtraTypeSearch.php index 4c6765f62..5726e247f 100644 --- a/web/core/modules/search/tests/modules/search_extra_type/src/Plugin/Search/SearchExtraTypeSearch.php +++ b/web/core/modules/search/tests/modules/search_extra_type/src/Plugin/Search/SearchExtraTypeSearch.php @@ -92,16 +92,16 @@ public function buildConfigurationForm(array $form, FormStateInterface $form_sta // Output form for defining rank factor weights. $form['extra_type_settings'] = [ '#type' => 'fieldset', - '#title' => t('Extra type settings'), + '#title' => $this->t('Extra type settings'), '#tree' => TRUE, ]; $form['extra_type_settings']['boost'] = [ '#type' => 'select', - '#title' => t('Boost method'), + '#title' => $this->t('Boost method'), '#options' => [ - 'bi' => t('Bistro mathematics'), - 'ii' => t('Infinite Improbability'), + 'bi' => $this->t('Bistro mathematics'), + 'ii' => $this->t('Infinite Improbability'), ], '#default_value' => $this->configuration['boost'], ]; diff --git a/web/core/modules/search/tests/modules/search_langcode_test/search_langcode_test.module b/web/core/modules/search/tests/modules/search_langcode_test/search_langcode_test.module index 38330602a..53015fa43 100644 --- a/web/core/modules/search/tests/modules/search_langcode_test/search_langcode_test.module +++ b/web/core/modules/search/tests/modules/search_langcode_test/search_langcode_test.module @@ -2,9 +2,10 @@ /** * @file - * Test module setting up two tests, one for checking if the entity $langcode is - * being passed on and another one sets up the alternate verb forms for the - * stemming test. + * Tests the preprocessing of search text. + * + * Preprocessing is tested when the language code is passed to the preprocess + * hook and also when with alternate verb forms for the stemming test. */ /** diff --git a/web/core/modules/search/tests/src/Functional/SearchAdminThemeTest.php b/web/core/modules/search/tests/src/Functional/SearchAdminThemeTest.php index 5f6c12ea7..0443f48ed 100644 --- a/web/core/modules/search/tests/src/Functional/SearchAdminThemeTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchAdminThemeTest.php @@ -30,7 +30,7 @@ class SearchAdminThemeTest extends BrowserTestBase { * * @var string */ - protected $adminTheme = 'seven'; + protected $adminTheme = 'claro'; /** * {@inheritdoc} diff --git a/web/core/modules/search/tests/src/Functional/SearchAdvancedSearchFormTest.php b/web/core/modules/search/tests/src/Functional/SearchAdvancedSearchFormTest.php index 1189a5e93..e1b330cb5 100644 --- a/web/core/modules/search/tests/src/Functional/SearchAdvancedSearchFormTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchAdvancedSearchFormTest.php @@ -28,6 +28,9 @@ class SearchAdvancedSearchFormTest extends BrowserTestBase { */ protected $node; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/search/tests/src/Functional/SearchBlockTest.php b/web/core/modules/search/tests/src/Functional/SearchBlockTest.php index ba5d6988f..6ac385fe4 100644 --- a/web/core/modules/search/tests/src/Functional/SearchBlockTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchBlockTest.php @@ -20,7 +20,7 @@ class SearchBlockTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'stark'; /** * The administrative user. @@ -53,7 +53,7 @@ public function testSearchFormBlock() { // Test availability of the search block in the admin "Place blocks" list. $this->drupalGet('admin/structure/block'); $this->getSession()->getPage()->findLink('Place block')->click(); - $this->assertSession()->linkByHrefExists('/admin/structure/block/add/search_form_block/classy', 0, + $this->assertSession()->linkByHrefExists('/admin/structure/block/add/search_form_block/stark', 0, 'Did not find the search block in block candidate list.'); $block = $this->drupalPlaceBlock('search_form_block'); @@ -102,7 +102,7 @@ public function testSearchFormBlock() { $this->drupalGet(''); $this->submitForm($terms, 'Search'); $this->assertSession()->statusCodeEquals(200); - $this->assertSession()->pageTextContains('Please enter some keywords'); + $this->assertSession()->statusMessageContains('Please enter some keywords', 'error'); // Confirm that the user is redirected to the search page, when form is // submitted empty. @@ -116,17 +116,17 @@ public function testSearchFormBlock() { // search again with a longer keyword. First test using the block form. $this->drupalGet('node'); $this->submitForm(['keys' => $this->randomMachineName(1)], 'Search'); - $this->assertSession()->pageTextContains('You must include at least one keyword to match in the content'); - $this->assertSession()->pageTextNotContains('Please enter some keywords'); + $this->assertSession()->statusMessageContains('You must include at least one keyword to match in the content', 'warning'); + $this->assertSession()->statusMessageNotContains('Please enter some keywords'); $this->submitForm(['keys' => $this->randomMachineName()], 'Search', 'search-block-form'); - $this->assertSession()->pageTextNotContains('You must include at least one keyword to match in the content'); + $this->assertSession()->statusMessageNotContains('You must include at least one keyword to match in the content'); // Same test again, using the search page form for the second search this // time. $this->drupalGet('node'); $this->submitForm(['keys' => $this->randomMachineName(1)], 'Search'); $this->submitForm(['keys' => $this->randomMachineName()], 'Search', 'search-form'); - $this->assertSession()->pageTextNotContains('You must include at least one keyword to match in the content'); + $this->assertSession()->statusMessageNotContains('You must include at least one keyword to match in the content'); // Edit the block configuration so that it searches users instead of nodes, // and test. diff --git a/web/core/modules/search/tests/src/Functional/SearchCommentCountToggleTest.php b/web/core/modules/search/tests/src/Functional/SearchCommentCountToggleTest.php index b95a74ec5..27c537d60 100644 --- a/web/core/modules/search/tests/src/Functional/SearchCommentCountToggleTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchCommentCountToggleTest.php @@ -46,6 +46,9 @@ class SearchCommentCountToggleTest extends BrowserTestBase { */ protected $searchableNodes; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/search/tests/src/Functional/SearchCommentTest.php b/web/core/modules/search/tests/src/Functional/SearchCommentTest.php index 25142d894..dd61a161a 100644 --- a/web/core/modules/search/tests/src/Functional/SearchCommentTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchCommentTest.php @@ -59,6 +59,9 @@ class SearchCommentTest extends BrowserTestBase { */ protected $node; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/search/tests/src/Functional/SearchConfigSettingsFormTest.php b/web/core/modules/search/tests/src/Functional/SearchConfigSettingsFormTest.php index a5d4a7f71..451a1accc 100644 --- a/web/core/modules/search/tests/src/Functional/SearchConfigSettingsFormTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchConfigSettingsFormTest.php @@ -29,7 +29,7 @@ class SearchConfigSettingsFormTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'stark'; /** * User who can search and administer search. @@ -45,6 +45,9 @@ class SearchConfigSettingsFormTest extends BrowserTestBase { */ protected $searchNode; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -77,7 +80,7 @@ protected function setUp(): void { // Enable the search block. $this->drupalPlaceBlock('search_form_block'); - $this->drupalPlaceBlock('local_tasks_block'); + $this->drupalPlaceBlock('local_tasks_block', ['id' => 'local_tasks']); $this->drupalPlaceBlock('page_title_block'); } @@ -96,14 +99,14 @@ public function testSearchSettingsPage() { $this->assertSession()->pageTextContains('Are you sure you want to re-index the site'); $this->drupalGet('admin/config/search/pages/reindex'); $this->submitForm([], 'Re-index site'); - $this->assertSession()->pageTextContains('All search indexes will be rebuilt'); + $this->assertSession()->statusMessageContains('All search indexes will be rebuilt', 'status'); $this->drupalGet('admin/config/search/pages'); $this->assertSession()->pageTextContains('There is 1 item left to index.'); // Test that the form saves with the default values. $this->drupalGet('admin/config/search/pages'); $this->submitForm([], 'Save configuration'); - $this->assertSession()->pageTextContains('The configuration options have been saved.'); + $this->assertSession()->statusMessageContains('The configuration options have been saved.', 'status'); // Test that the form does not save with an invalid word length. $edit = [ @@ -111,7 +114,8 @@ public function testSearchSettingsPage() { ]; $this->drupalGet('admin/config/search/pages'); $this->submitForm($edit, 'Save configuration'); - $this->assertSession()->pageTextNotContains('The configuration options have been saved.'); + $this->assertSession()->statusMessageNotContains('The configuration options have been saved.'); + $this->assertSession()->statusMessageContains('Minimum word length to index must be a number.', 'error'); // Test logging setting. It should be off by default. $text = $this->randomMachineName(5); @@ -149,7 +153,7 @@ public function testSearchModuleSettingsPage() { $this->submitForm($edit, 'Save search page'); // Ensure that the modifications took effect. - $this->assertSession()->pageTextContains("The Dummy search type search page has been updated."); + $this->assertSession()->statusMessageContains("The Dummy search type search page has been updated.", 'status'); $this->drupalGet('admin/config/search/pages/manage/dummy_search_type'); $this->assertTrue($this->assertSession()->optionExists('edit-extra-type-settings-boost', 'ii')->isSelected()); } @@ -197,7 +201,7 @@ public function testSearchModuleDisabling() { foreach ($plugins as $other) { if ($other != $entity_id) { $path = 'search/' . $entities[$other]->getPath(); - $this->assertSession()->elementNotExists('xpath', '//ul[@class="tabs primary"]/li/a[@data-drupal-link-system-path="' . $path . '"]'); + $this->assertSession()->elementNotExists('xpath', '//div[@id="block-local-tasks"]//li/a[@data-drupal-link-system-path="' . $path . '"]'); } } @@ -238,7 +242,7 @@ public function testSearchModuleDisabling() { foreach ($plugins as $entity_id) { $path = 'search/' . $entities[$entity_id]->getPath(); $label = $entities[$entity_id]->label(); - $this->assertSession()->elementTextContains('xpath', '//ul[@class="tabs primary"]/li/a[@data-drupal-link-system-path="' . $path . '"]', $label); + $this->assertSession()->elementTextContains('xpath', '//div[@id="block-local-tasks"]//li/a[@data-drupal-link-system-path="' . $path . '"]', $label); } } } @@ -248,7 +252,7 @@ public function testSearchModuleDisabling() { */ public function testDefaultSearchPageOrdering() { $this->drupalGet('search'); - $elements = $this->xpath('//*[contains(@class, :class)]//a', [':class' => 'tabs primary']); + $elements = $this->xpath('//div[@id="block-local-tasks"]//a'); $this->assertSame(Url::fromRoute('search.view_node_search')->toString(), $elements[0]->getAttribute('href')); $this->assertSame(Url::fromRoute('search.view_dummy_search_type')->toString(), $elements[1]->getAttribute('href')); $this->assertSame(Url::fromRoute('search.view_user_search')->toString(), $elements[2]->getAttribute('href')); @@ -280,7 +284,7 @@ public function testMultipleSearchPages() { $first['path'] = strtolower($this->randomMachineName(8)); $this->submitForm($first, 'Save'); $this->assertDefaultSearch($first_id, 'The default page matches the only search page.'); - $this->assertSession()->pageTextContains("The {$first['label']} search page has been added."); + $this->assertSession()->statusMessageContains("The {$first['label']} search page has been added.", 'status'); // Attempt to add a search page with an existing path. $edit = []; @@ -291,7 +295,7 @@ public function testMultipleSearchPages() { $edit['id'] = strtolower($this->randomMachineName(8)); $edit['path'] = $first['path']; $this->submitForm($edit, 'Save'); - $this->assertSession()->pageTextContains('The search page path must be unique.'); + $this->assertSession()->statusMessageContains('The search page path must be unique.', 'error'); // Add a second search page. $second = []; @@ -303,7 +307,7 @@ public function testMultipleSearchPages() { // Ensure both search pages have their tabs displayed. $this->drupalGet('search'); - $elements = $this->xpath('//*[contains(@class, :class)]//a', [':class' => 'tabs primary']); + $elements = $this->xpath('//div[@id="block-local-tasks"]//a'); $this->assertSame(Url::fromRoute('search.view_' . $first_id)->toString(), $elements[0]->getAttribute('href')); $this->assertSame(Url::fromRoute('search.view_' . $second_id)->toString(), $elements[1]->getAttribute('href')); @@ -315,7 +319,7 @@ public function testMultipleSearchPages() { $this->drupalGet('admin/config/search/pages'); $this->submitForm($edit, 'Save configuration'); $this->drupalGet('search'); - $elements = $this->xpath('//*[contains(@class, :class)]//a', [':class' => 'tabs primary']); + $elements = $this->xpath('//div[@id="block-local-tasks"]//a'); $this->assertSame(Url::fromRoute('search.view_' . $second_id)->toString(), $elements[0]->getAttribute('href')); $this->assertSame(Url::fromRoute('search.view_' . $first_id)->toString(), $elements[1]->getAttribute('href')); @@ -326,7 +330,7 @@ public function testMultipleSearchPages() { // Change the default search page. $this->clickLink('Set as default'); - $this->assertSession()->pageTextContains("The default search page is now {$second['label']}. Be sure to check the ordering of your search pages."); + $this->assertSession()->statusMessageContains("The default search page is now {$second['label']}. Be sure to check the ordering of your search pages.", 'status'); $this->verifySearchPageOperations($first_id, TRUE, TRUE, TRUE, FALSE); $this->verifySearchPageOperations($second_id, TRUE, FALSE, FALSE, FALSE); @@ -347,7 +351,7 @@ public function testMultipleSearchPages() { $this->clickLink('Delete'); $this->assertSession()->pageTextContains("Are you sure you want to delete the search page {$first['label']}?"); $this->submitForm([], 'Delete'); - $this->assertSession()->pageTextContains("The search page {$first['label']} has been deleted."); + $this->assertSession()->statusMessageContains("The search page {$first['label']} has been deleted.", 'status'); $this->verifySearchPageOperations($first_id, FALSE, FALSE, FALSE, FALSE); } diff --git a/web/core/modules/search/tests/src/Functional/SearchDateIntervalTest.php b/web/core/modules/search/tests/src/Functional/SearchDateIntervalTest.php index 4f52f322b..e7ecdf8e4 100644 --- a/web/core/modules/search/tests/src/Functional/SearchDateIntervalTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchDateIntervalTest.php @@ -27,6 +27,9 @@ class SearchDateIntervalTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/search/tests/src/Functional/SearchEmbedFormTest.php b/web/core/modules/search/tests/src/Functional/SearchEmbedFormTest.php index 22fac2017..ddba079a2 100644 --- a/web/core/modules/search/tests/src/Functional/SearchEmbedFormTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchEmbedFormTest.php @@ -35,6 +35,9 @@ class SearchEmbedFormTest extends BrowserTestBase { */ protected $submitCount = 0; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/search/tests/src/Functional/SearchKeywordsConditionsTest.php b/web/core/modules/search/tests/src/Functional/SearchKeywordsConditionsTest.php index ac6f74522..07ab8fcc7 100644 --- a/web/core/modules/search/tests/src/Functional/SearchKeywordsConditionsTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchKeywordsConditionsTest.php @@ -38,6 +38,9 @@ class SearchKeywordsConditionsTest extends BrowserTestBase { */ protected $searchingUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/search/tests/src/Functional/SearchLanguageTest.php b/web/core/modules/search/tests/src/Functional/SearchLanguageTest.php index 24d5d2cb8..e66a2f5d1 100644 --- a/web/core/modules/search/tests/src/Functional/SearchLanguageTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchLanguageTest.php @@ -31,6 +31,9 @@ class SearchLanguageTest extends BrowserTestBase { */ protected $searchableNodes; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/search/tests/src/Functional/SearchMultilingualEntityTest.php b/web/core/modules/search/tests/src/Functional/SearchMultilingualEntityTest.php index a8dbc5d13..b6a939b0b 100644 --- a/web/core/modules/search/tests/src/Functional/SearchMultilingualEntityTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchMultilingualEntityTest.php @@ -45,6 +45,9 @@ class SearchMultilingualEntityTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/search/tests/src/Functional/SearchNodeDiacriticsTest.php b/web/core/modules/search/tests/src/Functional/SearchNodeDiacriticsTest.php index 09d9db2c7..b3830a6d8 100644 --- a/web/core/modules/search/tests/src/Functional/SearchNodeDiacriticsTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchNodeDiacriticsTest.php @@ -28,6 +28,9 @@ class SearchNodeDiacriticsTest extends BrowserTestBase { */ public $testUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/search/tests/src/Functional/SearchNodePunctuationTest.php b/web/core/modules/search/tests/src/Functional/SearchNodePunctuationTest.php index 52a482744..6320cb193 100644 --- a/web/core/modules/search/tests/src/Functional/SearchNodePunctuationTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchNodePunctuationTest.php @@ -28,6 +28,9 @@ class SearchNodePunctuationTest extends BrowserTestBase { */ public $testUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -73,13 +76,13 @@ public function testPhraseSearchPunctuation() { $this->drupalGet('search/node'); $this->submitForm($edit, 'Search'); $this->assertSession()->responseNotContains('&amp;'); - $this->assertSession()->pageTextContains('You must include at least one keyword'); + $this->assertSession()->statusMessageContains('You must include at least one keyword', 'warning'); $edit = ['keys' => '&']; $this->drupalGet('search/node'); $this->submitForm($edit, 'Search'); $this->assertSession()->responseNotContains('&amp;'); - $this->assertSession()->pageTextContains('You must include at least one keyword'); + $this->assertSession()->statusMessageContains('You must include at least one keyword', 'warning'); } } diff --git a/web/core/modules/search/tests/src/Functional/SearchNodeUpdateAndDeletionTest.php b/web/core/modules/search/tests/src/Functional/SearchNodeUpdateAndDeletionTest.php index 66e90b399..c01a42f34 100644 --- a/web/core/modules/search/tests/src/Functional/SearchNodeUpdateAndDeletionTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchNodeUpdateAndDeletionTest.php @@ -30,6 +30,9 @@ class SearchNodeUpdateAndDeletionTest extends BrowserTestBase { */ public $testUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/search/tests/src/Functional/SearchNumberMatchingTest.php b/web/core/modules/search/tests/src/Functional/SearchNumberMatchingTest.php index f2aab18ea..f6f0acf0b 100644 --- a/web/core/modules/search/tests/src/Functional/SearchNumberMatchingTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchNumberMatchingTest.php @@ -59,6 +59,9 @@ class SearchNumberMatchingTest extends BrowserTestBase { */ protected $nodes; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/search/tests/src/Functional/SearchNumbersTest.php b/web/core/modules/search/tests/src/Functional/SearchNumbersTest.php index d8c335b1e..1e10e21c0 100644 --- a/web/core/modules/search/tests/src/Functional/SearchNumbersTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchNumbersTest.php @@ -65,6 +65,9 @@ class SearchNumbersTest extends BrowserTestBase { */ protected $nodes; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/search/tests/src/Functional/SearchPageOverrideTest.php b/web/core/modules/search/tests/src/Functional/SearchPageOverrideTest.php index 60699409a..d1dc9cc02 100644 --- a/web/core/modules/search/tests/src/Functional/SearchPageOverrideTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchPageOverrideTest.php @@ -31,6 +31,9 @@ class SearchPageOverrideTest extends BrowserTestBase { */ public $searchUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/search/tests/src/Functional/SearchPageTextTest.php b/web/core/modules/search/tests/src/Functional/SearchPageTextTest.php index 4e4a64b14..93c30114a 100644 --- a/web/core/modules/search/tests/src/Functional/SearchPageTextTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchPageTextTest.php @@ -135,16 +135,16 @@ public function testSearchText() { $edit['keys'] = implode(' ', $keys); $this->drupalGet('search/node'); $this->submitForm($edit, 'Search'); - $this->assertSession()->pageTextContains("Your search used too many AND/OR expressions. Only the first {$limit} terms were included in this search."); + $this->assertSession()->statusMessageContains("Your search used too many AND/OR expressions. Only the first {$limit} terms were included in this search.", 'warning'); // Test that a search on Node or User with no keywords entered generates // the "Please enter some keywords" message. $this->drupalGet('search/node'); $this->submitForm([], 'Search'); - $this->assertSession()->pageTextContains('Please enter some keywords'); + $this->assertSession()->statusMessageContains('Please enter some keywords', 'error'); $this->drupalGet('search/user'); $this->submitForm([], 'Search'); - $this->assertSession()->pageTextContains('Please enter some keywords'); + $this->assertSession()->statusMessageContains('Please enter some keywords', 'error'); // Make sure the "Please enter some keywords" message is NOT displayed if // you use "or" words or phrases in Advanced Search. @@ -152,22 +152,22 @@ public function testSearchText() { $this->submitForm([ 'or' => $this->randomMachineName() . ' ' . $this->randomMachineName(), ], 'edit-submit--2'); - $this->assertSession()->pageTextNotContains('Please enter some keywords'); + $this->assertSession()->statusMessageNotContains('Please enter some keywords'); $this->drupalGet('search/node'); $this->submitForm([ 'phrase' => '"' . $this->randomMachineName() . '" "' . $this->randomMachineName() . '"', ], 'edit-submit--2'); - $this->assertSession()->pageTextNotContains('Please enter some keywords'); + $this->assertSession()->statusMessageNotContains('Please enter some keywords'); // Verify that if you search for a too-short keyword, you get the right // message, and that if after that you search for a longer keyword, you // do not still see the message. $this->drupalGet('search/node'); $this->submitForm(['keys' => $this->randomMachineName(1)], 'Search'); - $this->assertSession()->pageTextContains('You must include at least one keyword'); - $this->assertSession()->pageTextNotContains('Please enter some keywords'); + $this->assertSession()->statusMessageContains('You must include at least one keyword', 'warning'); + $this->assertSession()->statusMessageNotContains('Please enter some keywords'); $this->submitForm(['keys' => $this->randomMachineName()], 'Search'); - $this->assertSession()->pageTextNotContains('You must include at least one keyword'); + $this->assertSession()->statusMessageNotContains('You must include at least one keyword'); // Test that if you search for a URL with .. in it, you still end up at // the search page. See issue https://www.drupal.org/node/890058. diff --git a/web/core/modules/search/tests/src/Functional/SearchPreprocessLangcodeTest.php b/web/core/modules/search/tests/src/Functional/SearchPreprocessLangcodeTest.php index 8413f8e65..2f57b6a44 100644 --- a/web/core/modules/search/tests/src/Functional/SearchPreprocessLangcodeTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchPreprocessLangcodeTest.php @@ -28,6 +28,9 @@ class SearchPreprocessLangcodeTest extends BrowserTestBase { */ protected $node; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/search/tests/src/Functional/SearchRankingTest.php b/web/core/modules/search/tests/src/Functional/SearchRankingTest.php index d444d3e2f..30fb78ff1 100644 --- a/web/core/modules/search/tests/src/Functional/SearchRankingTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchRankingTest.php @@ -40,6 +40,9 @@ class SearchRankingTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/search/tests/src/Functional/SearchSetLocaleTest.php b/web/core/modules/search/tests/src/Functional/SearchSetLocaleTest.php index 650fb8d85..95dba20b3 100644 --- a/web/core/modules/search/tests/src/Functional/SearchSetLocaleTest.php +++ b/web/core/modules/search/tests/src/Functional/SearchSetLocaleTest.php @@ -28,6 +28,9 @@ class SearchSetLocaleTest extends BrowserTestBase { */ protected $nodeSearchPlugin; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/search/tests/src/Unit/SearchPageRepositoryTest.php b/web/core/modules/search/tests/src/Unit/SearchPageRepositoryTest.php index d12bd8d3f..686129b5a 100644 --- a/web/core/modules/search/tests/src/Unit/SearchPageRepositoryTest.php +++ b/web/core/modules/search/tests/src/Unit/SearchPageRepositoryTest.php @@ -55,13 +55,13 @@ protected function setUp(): void { $this->storage = $this->createMock('Drupal\Core\Config\Entity\ConfigEntityStorageInterface'); $this->storage->expects($this->any()) ->method('getQuery') - ->will($this->returnValue($this->query)); + ->willReturn($this->query); /** @var \Drupal\Core\Entity\EntityTypeManagerInterface|\PHPUnit\Framework\MockObject\MockObject $entity_type_manager */ $entity_type_manager = $this->createMock(EntityTypeManagerInterface::class); $entity_type_manager->expects($this->any()) ->method('getStorage') - ->will($this->returnValue($this->storage)); + ->willReturn($this->storage); $this->configFactory = $this->createMock('Drupal\Core\Config\ConfigFactoryInterface'); $this->searchPageRepository = new SearchPageRepository($this->configFactory, $entity_type_manager); @@ -74,10 +74,10 @@ public function testGetActiveSearchPages() { $this->query->expects($this->once()) ->method('condition') ->with('status', TRUE) - ->will($this->returnValue($this->query)); + ->willReturn($this->query); $this->query->expects($this->once()) ->method('execute') - ->will($this->returnValue(['test' => 'test', 'other_test' => 'other_test'])); + ->willReturn(['test' => 'test', 'other_test' => 'other_test']); $entities = []; $entities['test'] = $this->createMock('Drupal\search\SearchPageInterface'); @@ -85,7 +85,7 @@ public function testGetActiveSearchPages() { $this->storage->expects($this->once()) ->method('loadMultiple') ->with(['test' => 'test', 'other_test' => 'other_test']) - ->will($this->returnValue($entities)); + ->willReturn($entities); $result = $this->searchPageRepository->getActiveSearchPages(); $this->assertSame($entities, $result); @@ -98,14 +98,14 @@ public function testIsSearchActive() { $this->query->expects($this->once()) ->method('condition') ->with('status', TRUE) - ->will($this->returnValue($this->query)); + ->willReturn($this->query); $this->query->expects($this->once()) ->method('range') ->with(0, 1) - ->will($this->returnValue($this->query)); + ->willReturn($this->query); $this->query->expects($this->once()) ->method('execute') - ->will($this->returnValue(['test' => 'test'])); + ->willReturn(['test' => 'test']); $this->assertTrue($this->searchPageRepository->isSearchActive()); } @@ -117,24 +117,24 @@ public function testGetIndexableSearchPages() { $this->query->expects($this->once()) ->method('condition') ->with('status', TRUE) - ->will($this->returnValue($this->query)); + ->willReturn($this->query); $this->query->expects($this->once()) ->method('execute') - ->will($this->returnValue(['test' => 'test', 'other_test' => 'other_test'])); + ->willReturn(['test' => 'test', 'other_test' => 'other_test']); $entities = []; $entities['test'] = $this->createMock('Drupal\search\SearchPageInterface'); $entities['test']->expects($this->once()) ->method('isIndexable') - ->will($this->returnValue(TRUE)); + ->willReturn(TRUE); $entities['other_test'] = $this->createMock('Drupal\search\SearchPageInterface'); $entities['other_test']->expects($this->once()) ->method('isIndexable') - ->will($this->returnValue(FALSE)); + ->willReturn(FALSE); $this->storage->expects($this->once()) ->method('loadMultiple') ->with(['test' => 'test', 'other_test' => 'other_test']) - ->will($this->returnValue($entities)); + ->willReturn($entities); $result = $this->searchPageRepository->getIndexableSearchPages(); $this->assertCount(1, $result); @@ -151,11 +151,11 @@ public function testClearDefaultSearchPage() { $config->expects($this->once()) ->method('clear') ->with('default_page') - ->will($this->returnValue($config)); + ->willReturn($config); $this->configFactory->expects($this->once()) ->method('getEditable') ->with('search.settings') - ->will($this->returnValue($config)); + ->willReturn($config); $this->searchPageRepository->clearDefaultSearchPage(); } @@ -166,10 +166,10 @@ public function testGetDefaultSearchPageWithActiveDefault() { $this->query->expects($this->once()) ->method('condition') ->with('status', TRUE) - ->will($this->returnValue($this->query)); + ->willReturn($this->query); $this->query->expects($this->once()) ->method('execute') - ->will($this->returnValue(['test' => 'test', 'other_test' => 'other_test'])); + ->willReturn(['test' => 'test', 'other_test' => 'other_test']); $config = $this->getMockBuilder('Drupal\Core\Config\Config') ->disableOriginalConstructor() @@ -177,11 +177,11 @@ public function testGetDefaultSearchPageWithActiveDefault() { $config->expects($this->once()) ->method('get') ->with('default_page') - ->will($this->returnValue('test')); + ->willReturn('test'); $this->configFactory->expects($this->once()) ->method('get') ->with('search.settings') - ->will($this->returnValue($config)); + ->willReturn($config); $this->assertSame('test', $this->searchPageRepository->getDefaultSearchPage()); } @@ -193,10 +193,10 @@ public function testGetDefaultSearchPageWithInactiveDefault() { $this->query->expects($this->once()) ->method('condition') ->with('status', TRUE) - ->will($this->returnValue($this->query)); + ->willReturn($this->query); $this->query->expects($this->once()) ->method('execute') - ->will($this->returnValue(['test' => 'test'])); + ->willReturn(['test' => 'test']); $config = $this->getMockBuilder('Drupal\Core\Config\Config') ->disableOriginalConstructor() @@ -204,11 +204,11 @@ public function testGetDefaultSearchPageWithInactiveDefault() { $config->expects($this->once()) ->method('get') ->with('default_page') - ->will($this->returnValue('other_test')); + ->willReturn('other_test'); $this->configFactory->expects($this->once()) ->method('get') ->with('search.settings') - ->will($this->returnValue($config)); + ->willReturn($config); $this->assertSame('test', $this->searchPageRepository->getDefaultSearchPage()); } @@ -224,25 +224,25 @@ public function testSetDefaultSearchPage() { $config->expects($this->once()) ->method('set') ->with('default_page', $id) - ->will($this->returnValue($config)); + ->willReturn($config); $config->expects($this->once()) ->method('save') - ->will($this->returnValue($config)); + ->willReturn($config); $this->configFactory->expects($this->once()) ->method('getEditable') ->with('search.settings') - ->will($this->returnValue($config)); + ->willReturn($config); $search_page = $this->createMock('Drupal\search\SearchPageInterface'); $search_page->expects($this->once()) ->method('id') - ->will($this->returnValue($id)); + ->willReturn($id); $search_page->expects($this->once()) ->method('enable') - ->will($this->returnValue($search_page)); + ->willReturn($search_page); $search_page->expects($this->once()) ->method('save') - ->will($this->returnValue($search_page)); + ->willReturn($search_page); $this->searchPageRepository->setDefaultSearchPage($search_page); } @@ -253,10 +253,10 @@ public function testSortSearchPages() { $entity_type = $this->createMock('Drupal\Core\Entity\EntityTypeInterface'); $entity_type->expects($this->any()) ->method('getClass') - ->will($this->returnValue('Drupal\Tests\search\Unit\TestSearchPage')); + ->willReturn('Drupal\Tests\search\Unit\TestSearchPage'); $this->storage->expects($this->once()) ->method('getEntityType') - ->will($this->returnValue($entity_type)); + ->willReturn($entity_type); // Declare entities out of their expected order so we can be sure they were // sorted. We cannot mock these because of uasort(), see diff --git a/web/core/modules/search/tests/src/Unit/SearchPluginCollectionTest.php b/web/core/modules/search/tests/src/Unit/SearchPluginCollectionTest.php index 1e6d74adc..0f2369bda 100644 --- a/web/core/modules/search/tests/src/Unit/SearchPluginCollectionTest.php +++ b/web/core/modules/search/tests/src/Unit/SearchPluginCollectionTest.php @@ -47,7 +47,7 @@ public function testGet() { $plugin = $this->createMock('Drupal\search\Plugin\SearchInterface'); $this->pluginManager->expects($this->once()) ->method('createInstance') - ->will($this->returnValue($plugin)); + ->willReturn($plugin); $this->assertSame($plugin, $this->searchPluginCollection->get('banana')); } @@ -59,11 +59,11 @@ public function testGetWithConfigurablePlugin() { $plugin->expects($this->once()) ->method('setSearchPageId') ->with('fruit_stand') - ->will($this->returnValue($plugin)); + ->willReturn($plugin); $this->pluginManager->expects($this->once()) ->method('createInstance') - ->will($this->returnValue($plugin)); + ->willReturn($plugin); $this->assertSame($plugin, $this->searchPluginCollection->get('banana')); } diff --git a/web/core/modules/serialization/serialization.services.yml b/web/core/modules/serialization/serialization.services.yml index 44a4b416a..a5c6f67a7 100644 --- a/web/core/modules/serialization/serialization.services.yml +++ b/web/core/modules/serialization/serialization.services.yml @@ -71,14 +71,14 @@ services: # Priority must be higher than serializer.normalizer.primitive_data. - { name: normalizer, priority: 20 } serializer.normalizer.password_field_item: - class: Drupal\serialization\Normalizer\NullNormalizer - arguments: ['Drupal\Core\Field\Plugin\Field\FieldType\PasswordItem'] - tags: - - { name: normalizer, priority: 20 } + class: Drupal\serialization\Normalizer\NullNormalizer + arguments: ['Drupal\Core\Field\Plugin\Field\FieldType\PasswordItem'] + tags: + - { name: normalizer, priority: 20 } serializer.normalizer.safe_string: - class: Drupal\serialization\Normalizer\MarkupNormalizer - tags: - - { name: normalizer } + class: Drupal\serialization\Normalizer\MarkupNormalizer + tags: + - { name: normalizer } serializer.normalizer.typed_data: class: Drupal\serialization\Normalizer\TypedDataNormalizer tags: diff --git a/web/core/modules/serialization/tests/src/Kernel/EntitySerializationTest.php b/web/core/modules/serialization/tests/src/Kernel/EntitySerializationTest.php index 6e997dd01..fd88ef3e5 100644 --- a/web/core/modules/serialization/tests/src/Kernel/EntitySerializationTest.php +++ b/web/core/modules/serialization/tests/src/Kernel/EntitySerializationTest.php @@ -70,6 +70,9 @@ class EntitySerializationTest extends NormalizerTestBase { */ protected $entityClass = 'Drupal\entity_test\Entity\EntityTest'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -187,8 +190,9 @@ public function testNormalize() { } /** - * Tests user normalization, using the entity_serialization_test module to - * override some default access controls. + * Tests user normalization with some default access controls overridden. + * + * @see entity_serialization_test.module */ public function testUserNormalize() { // Test password isn't available. @@ -324,7 +328,7 @@ public function testDenormalizeInvalidCustomSerializedField() { $this->serializer->denormalize([ 'serialized_long' => [ [ - 'value' => 'boo', + 'value' => 'boo', ], ], 'type' => 'entity_test_serialized_field', diff --git a/web/core/modules/serialization/tests/src/Kernel/NormalizerTestBase.php b/web/core/modules/serialization/tests/src/Kernel/NormalizerTestBase.php index 7e7d55474..8941394ea 100644 --- a/web/core/modules/serialization/tests/src/Kernel/NormalizerTestBase.php +++ b/web/core/modules/serialization/tests/src/Kernel/NormalizerTestBase.php @@ -26,6 +26,9 @@ abstract class NormalizerTestBase extends KernelTestBase { 'user', ]; + /** + * {@inheritdoc} + */ protected function setUp() { parent::setUp(); diff --git a/web/core/modules/serialization/tests/src/Kernel/SerializationTest.php b/web/core/modules/serialization/tests/src/Kernel/SerializationTest.php index 700b48ac2..b46e82d3d 100644 --- a/web/core/modules/serialization/tests/src/Kernel/SerializationTest.php +++ b/web/core/modules/serialization/tests/src/Kernel/SerializationTest.php @@ -26,6 +26,9 @@ class SerializationTest extends KernelTestBase { */ protected $serializer; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); $this->serializer = $this->container->get('serializer'); diff --git a/web/core/modules/serialization/tests/src/Unit/Encoder/XmlEncoderTest.php b/web/core/modules/serialization/tests/src/Unit/Encoder/XmlEncoderTest.php index 6ccac1369..0c8c7df86 100644 --- a/web/core/modules/serialization/tests/src/Unit/Encoder/XmlEncoderTest.php +++ b/web/core/modules/serialization/tests/src/Unit/Encoder/XmlEncoderTest.php @@ -33,6 +33,9 @@ class XmlEncoderTest extends UnitTestCase { */ protected $testArray = ['test' => 'test']; + /** + * {@inheritdoc} + */ protected function setUp(): void { $this->baseEncoder = $this->createMock(BaseXmlEncoder::class); $this->encoder = new XmlEncoder(); @@ -62,7 +65,7 @@ public function testEncode() { $this->baseEncoder->expects($this->once()) ->method('encode') ->with($this->testArray, 'test', []) - ->will($this->returnValue('test')); + ->willReturn('test'); $this->assertEquals('test', $this->encoder->encode($this->testArray, 'test')); } @@ -74,7 +77,7 @@ public function testDecode() { $this->baseEncoder->expects($this->once()) ->method('decode') ->with('test', 'test', []) - ->will($this->returnValue($this->testArray)); + ->willReturn($this->testArray); $this->assertEquals($this->testArray, $this->encoder->decode('test', 'test')); } diff --git a/web/core/modules/serialization/tests/src/Unit/EntityResolver/ChainEntityResolverTest.php b/web/core/modules/serialization/tests/src/Unit/EntityResolver/ChainEntityResolverTest.php index 76800296d..7e85502c7 100644 --- a/web/core/modules/serialization/tests/src/Unit/EntityResolver/ChainEntityResolverTest.php +++ b/web/core/modules/serialization/tests/src/Unit/EntityResolver/ChainEntityResolverTest.php @@ -140,7 +140,7 @@ protected function createEntityResolverMock($return = NULL, $called = TRUE) { $mock->expects($this->once()) ->method('resolve') ->with($this->testNormalizer, $this->testData, $this->testEntityType) - ->will($this->returnValue($return)); + ->willReturn($return); } else { $mock->expects($this->never()) diff --git a/web/core/modules/serialization/tests/src/Unit/EntityResolver/UuidResolverTest.php b/web/core/modules/serialization/tests/src/Unit/EntityResolver/UuidResolverTest.php index 9094e8060..0d6c0a1d3 100644 --- a/web/core/modules/serialization/tests/src/Unit/EntityResolver/UuidResolverTest.php +++ b/web/core/modules/serialization/tests/src/Unit/EntityResolver/UuidResolverTest.php @@ -57,7 +57,7 @@ public function testResolveNoUuid() { $normalizer->expects($this->once()) ->method('getUuid') ->with([]) - ->will($this->returnValue(NULL)); + ->willReturn(NULL); $this->assertNull($this->resolver->resolve($normalizer, [], 'test_type')); } @@ -70,13 +70,13 @@ public function testResolveNoEntity() { $this->entityRepository->expects($this->once()) ->method('loadEntityByUuid') ->with('test_type') - ->will($this->returnValue(NULL)); + ->willReturn(NULL); $normalizer = $this->createMock('Drupal\serialization\EntityResolver\UuidReferenceInterface'); $normalizer->expects($this->once()) ->method('getUuid') ->with([]) - ->will($this->returnValue($uuid)); + ->willReturn($uuid); $this->assertNull($this->resolver->resolve($normalizer, [], 'test_type')); } @@ -90,18 +90,18 @@ public function testResolveWithEntity() { $entity = $this->createMock('Drupal\Core\Entity\EntityInterface'); $entity->expects($this->once()) ->method('id') - ->will($this->returnValue(1)); + ->willReturn(1); $this->entityRepository->expects($this->once()) ->method('loadEntityByUuid') ->with('test_type', $uuid) - ->will($this->returnValue($entity)); + ->willReturn($entity); $normalizer = $this->createMock('Drupal\serialization\EntityResolver\UuidReferenceInterface'); $normalizer->expects($this->once()) ->method('getUuid') ->with([]) - ->will($this->returnValue($uuid)); + ->willReturn($uuid); $this->assertSame(1, $this->resolver->resolve($normalizer, [], 'test_type')); } diff --git a/web/core/modules/serialization/tests/src/Unit/Normalizer/ConfigEntityNormalizerTest.php b/web/core/modules/serialization/tests/src/Unit/Normalizer/ConfigEntityNormalizerTest.php index c3ff3fc16..69d58a22a 100644 --- a/web/core/modules/serialization/tests/src/Unit/Normalizer/ConfigEntityNormalizerTest.php +++ b/web/core/modules/serialization/tests/src/Unit/Normalizer/ConfigEntityNormalizerTest.php @@ -42,7 +42,7 @@ public function testNormalize() { $config_entity = $this->createMock('Drupal\Core\Config\Entity\ConfigEntityInterface'); $config_entity->expects($this->once()) ->method('toArray') - ->will($this->returnValue($test_export_properties)); + ->willReturn($test_export_properties); $this->assertSame(['test' => 'test'], $normalizer->normalize($config_entity)); } diff --git a/web/core/modules/serialization/tests/src/Unit/Normalizer/ContentEntityNormalizerTest.php b/web/core/modules/serialization/tests/src/Unit/Normalizer/ContentEntityNormalizerTest.php index 888499c4f..9daf73066 100644 --- a/web/core/modules/serialization/tests/src/Unit/Normalizer/ContentEntityNormalizerTest.php +++ b/web/core/modules/serialization/tests/src/Unit/Normalizer/ContentEntityNormalizerTest.php @@ -67,7 +67,7 @@ public function testNormalize() { $this->serializer->expects($this->any()) ->method('normalize') ->with($this->containsOnlyInstancesOf('Drupal\Core\Field\FieldItemListInterface'), 'test_format', ['account' => NULL]) - ->will($this->returnValue('test')); + ->willReturn('test'); $definitions = [ 'field_accessible_external' => $this->createMockFieldListItem(TRUE, FALSE), @@ -101,7 +101,7 @@ public function testNormalizeWithAccountContext() { $this->serializer->expects($this->any()) ->method('normalize') ->with($this->containsOnlyInstancesOf('Drupal\Core\Field\FieldItemListInterface'), 'test_format', $context) - ->will($this->returnValue('test')); + ->willReturn('test'); // The mock account should get passed directly into the access() method on // field items from $context['account']. @@ -137,7 +137,7 @@ public function createMockForContentEntity($definitions) { ->shouldBeCalled(); $content_entity_mock->expects($this->any()) ->method('getTypedData') - ->will($this->returnValue($typed_data->reveal())); + ->willReturn($typed_data->reveal()); return $content_entity_mock; } @@ -159,7 +159,7 @@ protected function createMockFieldListItem($access, $internal, AccountInterface $mock = $this->createMock('Drupal\Core\Field\FieldItemListInterface'); $mock->expects($this->once()) ->method('getDataDefinition') - ->will($this->returnValue($data_definition->reveal())); + ->willReturn($data_definition->reveal()); $data_definition->isInternal() ->willReturn($internal) ->shouldBeCalled(); @@ -167,7 +167,7 @@ protected function createMockFieldListItem($access, $internal, AccountInterface $mock->expects($this->once()) ->method('access') ->with('view', $user_context) - ->will($this->returnValue($access)); + ->willReturn($access); } return $mock; } diff --git a/web/core/modules/serialization/tests/src/Unit/Normalizer/DateTimeIso8601NormalizerTest.php b/web/core/modules/serialization/tests/src/Unit/Normalizer/DateTimeIso8601NormalizerTest.php index 322223ec8..98ca2ac7d 100644 --- a/web/core/modules/serialization/tests/src/Unit/Normalizer/DateTimeIso8601NormalizerTest.php +++ b/web/core/modules/serialization/tests/src/Unit/Normalizer/DateTimeIso8601NormalizerTest.php @@ -256,6 +256,8 @@ public function testDenormalizeNoTargetInstanceOrFieldDefinitionException() { } /** + * Provides a test class for testing DrupalDateTime. + * * Note: Prophecy does not support magic methods. By subclassing and specifying * an explicit method, Prophecy works. * @see https://github.com/phpspec/prophecy/issues/338 diff --git a/web/core/modules/serialization/tests/src/Unit/Normalizer/DateTimeNormalizerTest.php b/web/core/modules/serialization/tests/src/Unit/Normalizer/DateTimeNormalizerTest.php index fe503e01a..0d270d5e8 100644 --- a/web/core/modules/serialization/tests/src/Unit/Normalizer/DateTimeNormalizerTest.php +++ b/web/core/modules/serialization/tests/src/Unit/Normalizer/DateTimeNormalizerTest.php @@ -178,6 +178,8 @@ public function testDenormalizeException() { /** + * Provides a test class for testing DrupalDateTime. + * * Note: Prophecy does not support magic methods. By subclassing and specifying * an explicit method, Prophecy works. * @see https://github.com/phpspec/prophecy/issues/338 diff --git a/web/core/modules/serialization/tests/src/Unit/Normalizer/EntityNormalizerTest.php b/web/core/modules/serialization/tests/src/Unit/Normalizer/EntityNormalizerTest.php index 06d280a9b..453f52757 100644 --- a/web/core/modules/serialization/tests/src/Unit/Normalizer/EntityNormalizerTest.php +++ b/web/core/modules/serialization/tests/src/Unit/Normalizer/EntityNormalizerTest.php @@ -87,7 +87,7 @@ public function testNormalize() { ->getMockForAbstractClass(); $content_entity->expects($this->once()) ->method('getFields') - ->will($this->returnValue($definitions)); + ->willReturn($definitions); $serializer = $this->getMockBuilder('Symfony\Component\Serializer\Serializer') ->disableOriginalConstructor() @@ -137,11 +137,11 @@ public function testDenormalizeWithValidBundle() { $entity_type->expects($this->once()) ->method('hasKey') ->with('bundle') - ->will($this->returnValue(TRUE)); + ->willReturn(TRUE); $entity_type->expects($this->once()) ->method('getKey') ->with('bundle') - ->will($this->returnValue('test_type')); + ->willReturn('test_type'); $entity_type->expects($this->once()) ->method('entityClassImplements') ->with(FieldableEntityInterface::class) @@ -149,17 +149,17 @@ public function testDenormalizeWithValidBundle() { $entity_type->expects($this->once()) ->method('getBundleEntityType') - ->will($this->returnValue('test_bundle')); + ->willReturn('test_bundle'); $entity_type_storage_definition = $this->createMock('Drupal\Core\Field\FieldStorageDefinitionInterface'); $entity_type_storage_definition->expects($this->once()) ->method('getMainPropertyName') - ->will($this->returnValue('name')); + ->willReturn('name'); $entity_type_definition = $this->createMock('Drupal\Core\Field\FieldDefinitionInterface'); $entity_type_definition->expects($this->once()) ->method('getFieldStorageDefinition') - ->will($this->returnValue($entity_type_storage_definition)); + ->willReturn($entity_type_storage_definition); $base_definitions = [ 'test_type' => $entity_type_definition, @@ -168,21 +168,21 @@ public function testDenormalizeWithValidBundle() { $this->entityTypeManager->expects($this->once()) ->method('getDefinition') ->with('test') - ->will($this->returnValue($entity_type)); + ->willReturn($entity_type); $this->entityFieldManager->expects($this->once()) ->method('getBaseFieldDefinitions') ->with('test') - ->will($this->returnValue($base_definitions)); + ->willReturn($base_definitions); $entity_query_mock = $this->createMock('Drupal\Core\Entity\Query\QueryInterface'); $entity_query_mock->expects($this->once()) ->method('execute') - ->will($this->returnValue(['test_bundle' => 'test_bundle'])); + ->willReturn(['test_bundle' => 'test_bundle']); $entity_type_storage = $this->createMock('Drupal\Core\Entity\EntityStorageInterface'); $entity_type_storage->expects($this->once()) ->method('getQuery') - ->will($this->returnValue($entity_query_mock)); + ->willReturn($entity_query_mock); $key_1 = $this->createMock(FieldItemListInterface::class); $key_2 = $this->createMock(FieldItemListInterface::class); @@ -204,7 +204,7 @@ public function testDenormalizeWithValidBundle() { $storage->expects($this->once()) ->method('create') ->with($expected_test_data) - ->will($this->returnValue($entity)); + ->willReturn($entity); $this->entityTypeManager->expects($this->exactly(2)) ->method('getStorage') @@ -253,11 +253,11 @@ public function testDenormalizeWithInvalidBundle() { $entity_type->expects($this->once()) ->method('hasKey') ->with('bundle') - ->will($this->returnValue(TRUE)); + ->willReturn(TRUE); $entity_type->expects($this->once()) ->method('getKey') ->with('bundle') - ->will($this->returnValue('test_type')); + ->willReturn('test_type'); $entity_type->expects($this->once()) ->method('entityClassImplements') ->with(FieldableEntityInterface::class) @@ -265,17 +265,17 @@ public function testDenormalizeWithInvalidBundle() { $entity_type->expects($this->once()) ->method('getBundleEntityType') - ->will($this->returnValue('test_bundle')); + ->willReturn('test_bundle'); $entity_type_storage_definition = $this->createMock('Drupal\Core\Field\FieldStorageDefinitionInterface'); $entity_type_storage_definition->expects($this->once()) ->method('getMainPropertyName') - ->will($this->returnValue('name')); + ->willReturn('name'); $entity_type_definition = $this->createMock('Drupal\Core\Field\FieldDefinitionInterface'); $entity_type_definition->expects($this->once()) ->method('getFieldStorageDefinition') - ->will($this->returnValue($entity_type_storage_definition)); + ->willReturn($entity_type_storage_definition); $base_definitions = [ 'test_type' => $entity_type_definition, @@ -284,26 +284,26 @@ public function testDenormalizeWithInvalidBundle() { $this->entityTypeManager->expects($this->once()) ->method('getDefinition') ->with('test') - ->will($this->returnValue($entity_type)); + ->willReturn($entity_type); $this->entityFieldManager->expects($this->once()) ->method('getBaseFieldDefinitions') ->with('test') - ->will($this->returnValue($base_definitions)); + ->willReturn($base_definitions); $entity_query_mock = $this->createMock('Drupal\Core\Entity\Query\QueryInterface'); $entity_query_mock->expects($this->once()) ->method('execute') - ->will($this->returnValue(['test_bundle_other' => 'test_bundle_other'])); + ->willReturn(['test_bundle_other' => 'test_bundle_other']); $entity_type_storage = $this->createMock('Drupal\Core\Entity\EntityStorageInterface'); $entity_type_storage->expects($this->once()) ->method('getQuery') - ->will($this->returnValue($entity_query_mock)); + ->willReturn($entity_query_mock); $this->entityTypeManager->expects($this->once()) ->method('getStorage') ->with('test_bundle') - ->will($this->returnValue($entity_type_storage)); + ->willReturn($entity_type_storage); $this->expectException(UnexpectedValueException::class); $this->entityNormalizer->denormalize($test_data, 'Drupal\Core\Entity\ContentEntityBase', NULL, ['entity_type' => 'test']); @@ -328,14 +328,14 @@ public function testDenormalizeWithNoBundle() { $entity_type->expects($this->once()) ->method('hasKey') ->with('bundle') - ->will($this->returnValue(FALSE)); + ->willReturn(FALSE); $entity_type->expects($this->never()) ->method('getKey'); $this->entityTypeManager->expects($this->once()) ->method('getDefinition') ->with('test') - ->will($this->returnValue($entity_type)); + ->willReturn($entity_type); $key_1 = $this->createMock(FieldItemListInterface::class); $key_2 = $this->createMock(FieldItemListInterface::class); @@ -352,12 +352,12 @@ public function testDenormalizeWithNoBundle() { $storage->expects($this->once()) ->method('create') ->with([]) - ->will($this->returnValue($entity)); + ->willReturn($entity); $this->entityTypeManager->expects($this->once()) ->method('getStorage') ->with('test') - ->will($this->returnValue($storage)); + ->willReturn($storage); $this->entityFieldManager->expects($this->never()) ->method('getBaseFieldDefinitions'); @@ -403,18 +403,18 @@ public function testDenormalizeWithNoFieldableEntityType() { $this->entityTypeManager->expects($this->once()) ->method('getDefinition') ->with('test') - ->will($this->returnValue($entity_type)); + ->willReturn($entity_type); $storage = $this->createMock('Drupal\Core\Entity\EntityStorageInterface'); $storage->expects($this->once()) ->method('create') ->with($test_data) - ->will($this->returnValue($this->createMock('Drupal\Core\Entity\EntityInterface'))); + ->willReturn($this->createMock('Drupal\Core\Entity\EntityInterface')); $this->entityTypeManager->expects($this->once()) ->method('getStorage') ->with('test') - ->will($this->returnValue($storage)); + ->willReturn($storage); $this->entityFieldManager->expects($this->never()) ->method('getBaseFieldDefinitions'); diff --git a/web/core/modules/serialization/tests/src/Unit/Normalizer/ListNormalizerTest.php b/web/core/modules/serialization/tests/src/Unit/Normalizer/ListNormalizerTest.php index 525d9cd40..f57818f80 100644 --- a/web/core/modules/serialization/tests/src/Unit/Normalizer/ListNormalizerTest.php +++ b/web/core/modules/serialization/tests/src/Unit/Normalizer/ListNormalizerTest.php @@ -43,13 +43,16 @@ class ListNormalizerTest extends UnitTestCase { */ protected $typedData; + /** + * {@inheritdoc} + */ protected function setUp(): void { // Mock the TypedDataManager to return a TypedDataInterface mock. $this->typedData = $this->createMock('Drupal\Core\TypedData\TypedDataInterface'); $typed_data_manager = $this->createMock(TypedDataManagerInterface::class); $typed_data_manager->expects($this->any()) ->method('getPropertyInstance') - ->will($this->returnValue($this->typedData)); + ->willReturn($this->typedData); // Set up a mock container as ItemList() will call for the 'typed_data_manager' // service. @@ -59,7 +62,7 @@ protected function setUp(): void { $container->expects($this->any()) ->method('get') ->with($this->equalTo('typed_data_manager')) - ->will($this->returnValue($typed_data_manager)); + ->willReturn($typed_data_manager); \Drupal::setContainer($container); diff --git a/web/core/modules/serialization/tests/src/Unit/Normalizer/TimestampNormalizerTest.php b/web/core/modules/serialization/tests/src/Unit/Normalizer/TimestampNormalizerTest.php index b1851ab9e..750d9d299 100644 --- a/web/core/modules/serialization/tests/src/Unit/Normalizer/TimestampNormalizerTest.php +++ b/web/core/modules/serialization/tests/src/Unit/Normalizer/TimestampNormalizerTest.php @@ -133,6 +133,8 @@ public function testDenormalizeException() { } /** + * Provides a test class for testing DrupalDateTime. + * * Note: Prophecy does not support magic methods. By subclassing and specifying * an explicit method, Prophecy works. * @see https://github.com/phpspec/prophecy/issues/338 diff --git a/web/core/modules/serialization/tests/src/Unit/Normalizer/TypedDataNormalizerTest.php b/web/core/modules/serialization/tests/src/Unit/Normalizer/TypedDataNormalizerTest.php index 0387a7e94..142da8b97 100644 --- a/web/core/modules/serialization/tests/src/Unit/Normalizer/TypedDataNormalizerTest.php +++ b/web/core/modules/serialization/tests/src/Unit/Normalizer/TypedDataNormalizerTest.php @@ -25,6 +25,9 @@ class TypedDataNormalizerTest extends UnitTestCase { */ protected $typedData; + /** + * {@inheritdoc} + */ protected function setUp(): void { $this->normalizer = new TypedDataNormalizer(); $this->typedData = $this->createMock('Drupal\Core\TypedData\TypedDataInterface'); @@ -45,7 +48,7 @@ public function testSupportsNormalization() { public function testNormalize() { $this->typedData->expects($this->once()) ->method('getValue') - ->will($this->returnValue('test')); + ->willReturn('test'); $this->assertEquals('test', $this->normalizer->normalize($this->typedData)); } diff --git a/web/core/modules/settings_tray/js/settings_tray.js b/web/core/modules/settings_tray/js/settings_tray.js index db383efee..0f917ef0a 100644 --- a/web/core/modules/settings_tray/js/settings_tray.js +++ b/web/core/modules/settings_tray/js/settings_tray.js @@ -4,62 +4,49 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal) { var blockConfigureSelector = '[data-settings-tray-edit]'; var toggleEditSelector = '[data-drupal-settingstray="toggle"]'; var itemsToToggleSelector = '[data-off-canvas-main-canvas], #toolbar-bar, [data-drupal-settingstray="editable"] a, [data-drupal-settingstray="editable"] button'; var contextualItemsSelector = '[data-contextual-id] a, [data-contextual-id] button'; var quickEditItemSelector = '[data-quickedit-entity-id]'; - function preventClick(event) { if ($(event.target).closest('.contextual-links').length) { return; } - event.preventDefault(); } - function closeToolbarTrays() { $(Drupal.toolbar.models.toolbarModel.get('activeTab')).trigger('click'); } - function disableQuickEdit() { $('.quickedit-toolbar button.action-cancel').trigger('click'); } - function closeOffCanvas() { $('.ui-dialog-off-canvas .ui-dialog-titlebar-close').trigger('click'); } - function getItemsToToggle() { return $(itemsToToggleSelector).not(contextualItemsSelector); } - function setEditModeState(editMode) { if (!document.querySelector('[data-off-canvas-main-canvas]')) { throw new Error('data-off-canvas-main-canvas is missing from settings-tray-page-wrapper.html.twig'); } - editMode = !!editMode; var $editables; var editButton = document.querySelector(toggleEditSelector); - if (editMode) { if (editButton) { editButton.textContent = Drupal.t('Editing'); } - closeToolbarTrays(); $editables = $(once('settingstray', '[data-drupal-settingstray="editable"]')); - if ($editables.length) { document.querySelector('[data-off-canvas-main-canvas]').addEventListener('click', preventClick, true); $editables.not(contextualItemsSelector).on('click.settingstray', function (e) { if ($(e.target).closest('.contextual').length || !localStorage.getItem('Drupal.contextualToolbar.isViewing')) { return; } - $(e.currentTarget).find(blockConfigureSelector).trigger('click'); disableQuickEdit(); }); @@ -67,43 +54,34 @@ if (!$(e.target).parent().hasClass('contextual') || $(e.target).parent().hasClass('quickedit')) { closeOffCanvas(); } - if ($(e.target).parent().hasClass('contextual') || $(e.target).parent().hasClass('quickedit')) { return; } - $(e.currentTarget).find('li.quickedit a').trigger('click'); }); } } else { $editables = $(once.remove('settingstray', '[data-drupal-settingstray="editable"]')); - if ($editables.length) { document.querySelector('[data-off-canvas-main-canvas]').removeEventListener('click', preventClick, true); $editables.off('.settingstray'); $(quickEditItemSelector).off('.settingstray'); } - if (editButton) { editButton.textContent = Drupal.t('Edit'); } - closeOffCanvas(); disableQuickEdit(); } - getItemsToToggle().toggleClass('js-settings-tray-edit-mode', editMode); $('.edit-mode-inactive').toggleClass('visually-hidden', editMode); } - function isInEditMode() { return $('#toolbar-bar').hasClass('js-settings-tray-edit-mode'); } - function toggleEditMode() { setEditModeState(!isInEditMode()); } - function prepareAjaxLinks() { Drupal.ajax.instances.filter(function (instance) { return instance && $(instance.element).attr('data-dialog-renderer') === 'off_canvas'; @@ -111,19 +89,16 @@ if (!instance.options.data.hasOwnProperty('dialogOptions')) { instance.options.data.dialogOptions = {}; } - instance.options.data.dialogOptions.settingsTrayActiveEditableId = $(instance.element).parents('.settings-tray-editable').attr('id'); instance.progress = { type: 'fullscreen' }; }); } - $(document).on('drupalContextualLinkAdded', function (event, data) { prepareAjaxLinks(); once('settings_tray.edit_mode_init', 'body').forEach(function () { var editMode = localStorage.getItem('Drupal.contextualToolbar.isViewing') === 'false'; - if (editMode) { setEditModeState(true); } @@ -132,7 +107,6 @@ if (!isInEditMode()) { $(toggleEditSelector).trigger('click').trigger('click.settings_tray'); } - disableQuickEdit(); }); }); @@ -152,7 +126,6 @@ if ($element.is('#drupal-off-canvas')) { $('body .settings-tray-active-editable').removeClass('settings-tray-active-editable'); var $activeElement = $("#".concat(settings.settingsTrayActiveEditableId)); - if ($activeElement.length) { $activeElement.addClass('settings-tray-active-editable'); } diff --git a/web/core/modules/settings_tray/tests/modules/settings_tray_test_css/settings_tray_test_css.info.yml b/web/core/modules/settings_tray/tests/modules/settings_tray_test_css/settings_tray_test_css.info.yml index 90155770b..9e8f45e64 100644 --- a/web/core/modules/settings_tray/tests/modules/settings_tray_test_css/settings_tray_test_css.info.yml +++ b/web/core/modules/settings_tray/tests/modules/settings_tray_test_css/settings_tray_test_css.info.yml @@ -4,4 +4,4 @@ description: 'Provides CSS fixes for tests.' package: Testing version: VERSION dependencies: -- drupal:settings_tray + - drupal:settings_tray diff --git a/web/core/modules/settings_tray/tests/src/FunctionalJavascript/SettingsTrayTestBase.php b/web/core/modules/settings_tray/tests/src/FunctionalJavascript/SettingsTrayTestBase.php index 29ed1541d..3204dd083 100644 --- a/web/core/modules/settings_tray/tests/src/FunctionalJavascript/SettingsTrayTestBase.php +++ b/web/core/modules/settings_tray/tests/src/FunctionalJavascript/SettingsTrayTestBase.php @@ -156,10 +156,10 @@ protected function assertOffCanvasBlockFormIsValid() { * {@inheritdoc} */ protected function getTestThemes() { - // Remove 'seven' theme. Settings Tray "Edit Mode" will not work with - // 'seven' because it removes all contextual links. + // Remove 'claro' theme. Settings Tray "Edit Mode" will not work with this + // theme because it removes all contextual links. return array_filter(parent::getTestThemes(), function ($theme) { - return $theme !== 'seven'; + return ($theme !== 'claro'); }); } diff --git a/web/core/modules/shortcut/migrations/d7_shortcut.yml b/web/core/modules/shortcut/migrations/d7_shortcut.yml index f6670e5d1..58e532986 100644 --- a/web/core/modules/shortcut/migrations/d7_shortcut.yml +++ b/web/core/modules/shortcut/migrations/d7_shortcut.yml @@ -9,9 +9,9 @@ source: uri_scheme: 'internal:/' process: shortcut_set: - plugin: migration_lookup - migration: d7_shortcut_set - source: menu_name + plugin: migration_lookup + migration: d7_shortcut_set + source: menu_name title: link_title weight: weight link: diff --git a/web/core/modules/shortcut/shortcut.module b/web/core/modules/shortcut/shortcut.module index 85905c98b..e86bf622f 100644 --- a/web/core/modules/shortcut/shortcut.module +++ b/web/core/modules/shortcut/shortcut.module @@ -123,7 +123,7 @@ function shortcut_set_switch_access($account = NULL) { * (optional) The user account whose shortcuts will be returned. Defaults to * the currently logged-in user. * - * @return + * @return \Drupal\shortcut\ShortcutSetInterface * An object representing the shortcut set that should be displayed to the * current user. If the user does not have an explicit shortcut set defined, * the default set is returned. @@ -163,7 +163,7 @@ function shortcut_current_displayed_set($account = NULL) { * If not provided, the function will return the currently logged-in user's * default shortcut set. * - * @return + * @return \Drupal\shortcut\ShortcutSetInterface|null * An object representing the default shortcut set. */ function shortcut_default_set($account = NULL) { diff --git a/web/core/modules/shortcut/tests/src/Functional/ShortcutLinksTest.php b/web/core/modules/shortcut/tests/src/Functional/ShortcutLinksTest.php index 4dc879b38..70c56de30 100644 --- a/web/core/modules/shortcut/tests/src/Functional/ShortcutLinksTest.php +++ b/web/core/modules/shortcut/tests/src/Functional/ShortcutLinksTest.php @@ -148,8 +148,8 @@ public function testShortcutLinkAdd() { * Tests that the "add to shortcut" and "remove from shortcut" links work. */ public function testShortcutQuickLink() { - \Drupal::service('theme_installer')->install(['seven']); - $this->config('system.theme')->set('admin', 'seven')->save(); + \Drupal::service('theme_installer')->install(['claro']); + $this->config('system.theme')->set('admin', 'claro')->save(); $this->config('node.settings')->set('use_admin_theme', '1')->save(); $this->container->get('router.builder')->rebuild(); @@ -197,7 +197,7 @@ public function testShortcutQuickLink() { $this->clickLink('Add to Default shortcuts'); $this->assertSession()->pageTextContains('Added a shortcut for Create Article.'); - $this->config('system.theme')->set('default', 'seven')->save(); + $this->config('system.theme')->set('default', 'claro')->save(); $this->drupalGet('node/' . $this->node->id()); $title = $this->node->getTitle(); @@ -315,9 +315,9 @@ public function testShortcutLinkDelete() { */ public function testNoShortcutLink() { // Change to a theme that displays shortcuts. - \Drupal::service('theme_installer')->install(['seven']); + \Drupal::service('theme_installer')->install(['claro']); $this->config('system.theme') - ->set('default', 'seven') + ->set('default', 'claro') ->save(); $this->drupalGet('page-that-does-not-exist'); @@ -343,9 +343,9 @@ public function testNoShortcutLink() { */ public function testAccessShortcutsPermission() { // Change to a theme that displays shortcuts. - \Drupal::service('theme_installer')->install(['seven']); + \Drupal::service('theme_installer')->install(['claro']); $this->config('system.theme') - ->set('default', 'seven') + ->set('default', 'claro') ->save(); // Add cron to the default shortcut set. @@ -403,8 +403,7 @@ public function testShortcutLinkOrder() { } /** - * Tests that the 'access shortcuts' permission is required for shortcut set - * administration page access. + * Tests the 'access shortcuts' permission for shortcut set administration. */ private function verifyAccessShortcutsPermissionForEditPages() { // Create a user with customize links and switch sets permissions but @@ -427,8 +426,7 @@ private function verifyAccessShortcutsPermissionForEditPages() { } /** - * Tests that the 'access shortcuts' permission is required to access the - * shortcut block. + * Tests the 'access shortcuts' permission with the shortcut block. */ public function testShortcutBlockAccess() { // Creates a block instance and place in a region through api. diff --git a/web/core/modules/shortcut/tests/src/Functional/ShortcutTestBase.php b/web/core/modules/shortcut/tests/src/Functional/ShortcutTestBase.php index bdec9903d..282ee3a44 100644 --- a/web/core/modules/shortcut/tests/src/Functional/ShortcutTestBase.php +++ b/web/core/modules/shortcut/tests/src/Functional/ShortcutTestBase.php @@ -47,6 +47,9 @@ abstract class ShortcutTestBase extends BrowserTestBase { */ protected $set; + /** + * {@inheritdoc} + */ protected function setUp() { parent::setUp(); diff --git a/web/core/modules/shortcut/tests/src/Kernel/ShortcutSevenIntegrationTest.php b/web/core/modules/shortcut/tests/src/Kernel/ShortcutSevenIntegrationTest.php deleted file mode 100644 index 2e43bf700..000000000 --- a/web/core/modules/shortcut/tests/src/Kernel/ShortcutSevenIntegrationTest.php +++ /dev/null @@ -1,31 +0,0 @@ -install(['seven']); - $this->assertNull($this->config('seven.settings')->get('third_party_settings.shortcut'), 'There are no shortcut settings in seven.settings.'); - - \Drupal::service('module_installer')->install(['shortcut']); - $this->assertTrue($this->config('seven.settings')->get('third_party_settings.shortcut.module_link'), 'The shortcut module_link setting is in seven.settings.'); - - \Drupal::service('module_installer')->uninstall(['shortcut']); - $this->assertNull($this->config('seven.settings')->get('third_party_settings.shortcut'), 'There are no shortcut settings in seven.settings.'); - } - -} diff --git a/web/core/modules/shortcut/tests/src/Unit/Menu/ShortcutLocalTasksTest.php b/web/core/modules/shortcut/tests/src/Unit/Menu/ShortcutLocalTasksTest.php index b400cbee3..1bbe28f2d 100644 --- a/web/core/modules/shortcut/tests/src/Unit/Menu/ShortcutLocalTasksTest.php +++ b/web/core/modules/shortcut/tests/src/Unit/Menu/ShortcutLocalTasksTest.php @@ -12,6 +12,9 @@ */ class ShortcutLocalTasksTest extends LocalTaskIntegrationTestBase { + /** + * {@inheritdoc} + */ protected function setUp(): void { $this->directoryList = [ 'shortcut' => 'core/modules/shortcut', @@ -23,7 +26,7 @@ protected function setUp(): void { $entity_type_manager = $this->createMock(EntityTypeManagerInterface::class); $entity_type_manager->expects($this->any()) ->method('getDefinitions') - ->will($this->returnValue([])); + ->willReturn([]); $this->container->set('entity_type.manager', $entity_type_manager); $this->container->set('string_translation', $this->getStringTranslationStub()); } diff --git a/web/core/modules/sqlite/src/Driver/Database/sqlite/Schema.php b/web/core/modules/sqlite/src/Driver/Database/sqlite/Schema.php index ff893d275..02e28976a 100644 --- a/web/core/modules/sqlite/src/Driver/Database/sqlite/Schema.php +++ b/web/core/modules/sqlite/src/Driver/Database/sqlite/Schema.php @@ -51,7 +51,7 @@ public function fieldExists($table, $column) { * @param $table * A Schema API table definition array. * - * @return + * @return array * An array of SQL statements to create the table. */ public function createTableSql($name, $table) { @@ -475,7 +475,7 @@ protected function alterTable($table, $old_schema, $new_schema, array $mapping = * @param $table * Name of the table. * - * @return + * @return array * An array representing the schema. * * @throws \Exception diff --git a/web/core/modules/sqlite/src/Driver/Database/sqlite/Statement.php b/web/core/modules/sqlite/src/Driver/Database/sqlite/Statement.php index 5de75a5de..8151108ca 100644 --- a/web/core/modules/sqlite/src/Driver/Database/sqlite/Statement.php +++ b/web/core/modules/sqlite/src/Driver/Database/sqlite/Statement.php @@ -106,45 +106,6 @@ public function execute($args = [], $options = []) { } } - // In some weird cases, SQLite will prefix some column names by the name - // of the table. We post-process the data, by renaming the column names - // using the same convention as MySQL and PostgreSQL. - $rename_columns = []; - foreach ($this->columnNames as $k => $column) { - // In some SQLite versions, SELECT DISTINCT(field) will return "(field)" - // instead of "field". - if (preg_match("/^\((.*)\)$/", $column, $matches)) { - $rename_columns[$column] = $matches[1]; - $this->columnNames[$k] = $matches[1]; - $column = $matches[1]; - } - - // Remove "table." prefixes. - if (preg_match("/^.*\.(.*)$/", $column, $matches)) { - $rename_columns[$column] = $matches[1]; - $this->columnNames[$k] = $matches[1]; - } - } - if ($rename_columns) { - // DatabaseStatementPrefetch already extracted the first row, - // put it back into the result set. - if (isset($this->currentRow)) { - $this->data[0] = &$this->currentRow; - } - - // Then rename all the columns across the result set. - foreach ($this->data as $k => $row) { - foreach ($rename_columns as $old_column => $new_column) { - $this->data[$k][$new_column] = $this->data[$k][$old_column]; - unset($this->data[$k][$old_column]); - } - } - - // Finally, extract the first row again. - $this->currentRow = $this->data[0]; - unset($this->data[0]); - } - return $return; } diff --git a/web/core/modules/statistics/src/Plugin/Block/StatisticsPopularBlock.php b/web/core/modules/statistics/src/Plugin/Block/StatisticsPopularBlock.php index 53e39c333..072c72736 100644 --- a/web/core/modules/statistics/src/Plugin/Block/StatisticsPopularBlock.php +++ b/web/core/modules/statistics/src/Plugin/Block/StatisticsPopularBlock.php @@ -116,11 +116,11 @@ public function blockForm($form, FormStateInterface $form_state) { $numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 40]; $numbers = ['0' => $this->t('Disabled')] + array_combine($numbers, $numbers); $form['statistics_block_top_day_num'] = [ - '#type' => 'select', - '#title' => $this->t("Number of day's top views to display"), - '#default_value' => $this->configuration['top_day_num'], - '#options' => $numbers, - '#description' => $this->t('How many content items to display in "day" list.'), + '#type' => 'select', + '#title' => $this->t("Number of day's top views to display"), + '#default_value' => $this->configuration['top_day_num'], + '#options' => $numbers, + '#description' => $this->t('How many content items to display in "day" list.'), ]; $form['statistics_block_top_all_num'] = [ '#type' => 'select', diff --git a/web/core/modules/statistics/statistics.js b/web/core/modules/statistics/statistics.js index 44c1e8e98..edbc27647 100644 --- a/web/core/modules/statistics/statistics.js +++ b/web/core/modules/statistics/statistics.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal, drupalSettings) { $(document).ready(function () { $.ajax({ diff --git a/web/core/modules/statistics/statistics.views.inc b/web/core/modules/statistics/statistics.views.inc index e9ce16442..01e6d1efd 100644 --- a/web/core/modules/statistics/statistics.views.inc +++ b/web/core/modules/statistics/statistics.views.inc @@ -24,7 +24,7 @@ function statistics_views_data() { 'field' => [ 'id' => 'statistics_numeric', 'click sortable' => TRUE, - ], + ], 'filter' => [ 'id' => 'numeric', ], @@ -42,7 +42,7 @@ function statistics_views_data() { 'field' => [ 'id' => 'statistics_numeric', 'click sortable' => TRUE, - ], + ], 'filter' => [ 'id' => 'numeric', ], diff --git a/web/core/modules/statistics/tests/src/Functional/StatisticsAdminTest.php b/web/core/modules/statistics/tests/src/Functional/StatisticsAdminTest.php index d943bcecf..4c68a24e1 100644 --- a/web/core/modules/statistics/tests/src/Functional/StatisticsAdminTest.php +++ b/web/core/modules/statistics/tests/src/Functional/StatisticsAdminTest.php @@ -48,6 +48,9 @@ class StatisticsAdminTest extends BrowserTestBase { */ protected $client; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/statistics/tests/src/Functional/StatisticsLoggingTest.php b/web/core/modules/statistics/tests/src/Functional/StatisticsLoggingTest.php index ebef68373..0c21cd07a 100644 --- a/web/core/modules/statistics/tests/src/Functional/StatisticsLoggingTest.php +++ b/web/core/modules/statistics/tests/src/Functional/StatisticsLoggingTest.php @@ -56,6 +56,9 @@ class StatisticsLoggingTest extends BrowserTestBase { */ protected $node; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/statistics/tests/src/Functional/StatisticsTestBase.php b/web/core/modules/statistics/tests/src/Functional/StatisticsTestBase.php index d55db1845..5f1e10da6 100644 --- a/web/core/modules/statistics/tests/src/Functional/StatisticsTestBase.php +++ b/web/core/modules/statistics/tests/src/Functional/StatisticsTestBase.php @@ -17,12 +17,15 @@ abstract class StatisticsTestBase extends BrowserTestBase { protected static $modules = ['node', 'block', 'ban', 'statistics']; /** - * User with permissions to ban IP's. + * User with permissions to ban IPs. * * @var \Drupal\user\UserInterface */ protected $blockingUser; + /** + * {@inheritdoc} + */ protected function setUp() { parent::setUp(); diff --git a/web/core/modules/statistics/tests/src/Functional/StatisticsTokenReplaceTest.php b/web/core/modules/statistics/tests/src/Functional/StatisticsTokenReplaceTest.php index 879f16cc9..4b81e983f 100644 --- a/web/core/modules/statistics/tests/src/Functional/StatisticsTokenReplaceTest.php +++ b/web/core/modules/statistics/tests/src/Functional/StatisticsTokenReplaceTest.php @@ -5,8 +5,7 @@ use Drupal\Component\Render\FormattableMarkup; /** - * Generates text using placeholders for dummy content to check statistics token - * replacement. + * Tests statistics token replacement. * * @group statistics */ diff --git a/web/core/modules/statistics/tests/src/Functional/Views/IntegrationTest.php b/web/core/modules/statistics/tests/src/Functional/Views/IntegrationTest.php index eb9d87cd8..6bb642b44 100644 --- a/web/core/modules/statistics/tests/src/Functional/Views/IntegrationTest.php +++ b/web/core/modules/statistics/tests/src/Functional/Views/IntegrationTest.php @@ -53,6 +53,9 @@ class IntegrationTest extends ViewTestBase { */ public static $testViews = ['test_statistics_integration']; + /** + * {@inheritdoc} + */ protected function setUp($import_test_views = TRUE, $modules = ['statistics_test_views']): void { parent::setUp($import_test_views, $modules); diff --git a/web/core/modules/statistics/tests/themes/statistics_test_attached/statistics_test_attached.info.yml b/web/core/modules/statistics/tests/themes/statistics_test_attached/statistics_test_attached.info.yml index 415631843..f1a5436b8 100644 --- a/web/core/modules/statistics/tests/themes/statistics_test_attached/statistics_test_attached.info.yml +++ b/web/core/modules/statistics/tests/themes/statistics_test_attached/statistics_test_attached.info.yml @@ -1,5 +1,5 @@ name: 'Statistics test attached theme' type: theme -base theme: stable +base theme: stable9 description: 'Theme for testing attached library' version: VERSION diff --git a/web/core/modules/syslog/syslog.module b/web/core/modules/syslog/syslog.module index 28d57f7b0..b13af5090 100644 --- a/web/core/modules/syslog/syslog.module +++ b/web/core/modules/syslog/syslog.module @@ -49,7 +49,7 @@ function syslog_form_system_logging_settings_alter(&$form, FormStateInterface $f '#default_value' => $config->get('facility'), '#options' => syslog_facility_list(), '#description' => t('Depending on the system configuration, Syslog and other logging tools use this code to identify or filter messages from within the entire system log.') . $help, - ]; + ]; } $form['syslog_format'] = [ '#type' => 'textarea', diff --git a/web/core/modules/syslog/tests/src/Kernel/Migrate/d6/MigrateSyslogConfigsTest.php b/web/core/modules/syslog/tests/src/Kernel/Migrate/d6/MigrateSyslogConfigsTest.php index fcc4895ae..9651fbc33 100644 --- a/web/core/modules/syslog/tests/src/Kernel/Migrate/d6/MigrateSyslogConfigsTest.php +++ b/web/core/modules/syslog/tests/src/Kernel/Migrate/d6/MigrateSyslogConfigsTest.php @@ -24,6 +24,11 @@ class MigrateSyslogConfigsTest extends MigrateDrupal6TestBase { */ protected function setUp(): void { parent::setUp(); + // Enable syslog in the source database so that requirements are met. + $this->sourceDatabase->update('system') + ->condition('name', 'syslog') + ->fields(['status' => '1']) + ->execute(); $this->executeMigration('d6_syslog_settings'); } diff --git a/web/core/modules/system/config/install/system.mail.yml b/web/core/modules/system/config/install/system.mail.yml index a7147a7bd..0ea09c381 100644 --- a/web/core/modules/system/config/install/system.mail.yml +++ b/web/core/modules/system/config/install/system.mail.yml @@ -1,2 +1,2 @@ interface: - default: 'php_mail' + default: 'php_mail' diff --git a/web/core/modules/system/config/schema/system.schema.yml b/web/core/modules/system/config/schema/system.schema.yml index c0f6a87e4..3e61a0036 100644 --- a/web/core/modules/system/config/schema/system.schema.yml +++ b/web/core/modules/system/config/schema/system.schema.yml @@ -350,3 +350,10 @@ condition.plugin.request_path: mapping: pages: type: string + +condition.plugin.current_theme: + type: condition.plugin + mapping: + theme: + type: string + label: Theme diff --git a/web/core/modules/system/css/components/tabledrag.module.css b/web/core/modules/system/css/components/tabledrag.module.css index 8f93e8529..41b9b4398 100644 --- a/web/core/modules/system/css/components/tabledrag.module.css +++ b/web/core/modules/system/css/components/tabledrag.module.css @@ -41,11 +41,21 @@ a.tabledrag-handle .handle { height: 14px; margin: -0.4em 0.5em 0; padding: 0.42em 0.5em; - background: url(../../../../misc/icons/787878/move.svg) no-repeat 6px 7px; + background: #787878; + -webkit-mask: url(../../../../misc/icons/787878/move.svg) no-repeat 6px 7px; + mask: url(../../../../misc/icons/787878/move.svg) no-repeat 6px 7px; } a.tabledrag-handle:hover .handle, a.tabledrag-handle:focus .handle { - background-image: url(../../../../misc/icons/000000/move.svg); + background: #000; +} + +@media (forced-colors: active) { + a.tabledrag-handle .handle, + a.tabledrag-handle:hover .handle, + a.tabledrag-handle:focus .handle { + background: canvastext; + } } .touchevents .draggable td { padding: 0 10px; diff --git a/web/core/modules/system/js/system.date.js b/web/core/modules/system/js/system.date.js index 42138f420..84b8c0b87 100644 --- a/web/core/modules/system/js/system.date.js +++ b/web/core/modules/system/js/system.date.js @@ -4,18 +4,15 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal, drupalSettings) { var dateFormats = drupalSettings.dateFormats; Drupal.behaviors.dateFormat = { attach: function attach(context) { var source = once('dateFormat', '[data-drupal-date-formatter="source"]', context); var target = once('dateFormat', '[data-drupal-date-formatter="preview"]', context); - if (!source.length || !target.length) { return; } - function dateFormatHandler(e) { var baseValue = e.target.value || ''; var dateString = baseValue.replace(/\\?(.?)/gi, function (key, value) { @@ -28,7 +25,6 @@ }); $(target).toggleClass('js-hide', !dateString.length); } - $(source).on('keyup.dateFormat change.dateFormat input.dateFormat', dateFormatHandler).trigger('keyup'); } }; diff --git a/web/core/modules/system/js/system.js b/web/core/modules/system/js/system.js index e92564b80..bd812797c 100644 --- a/web/core/modules/system/js/system.js +++ b/web/core/modules/system/js/system.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal, drupalSettings) { var ids = []; Drupal.behaviors.copyFieldValue = { @@ -12,7 +11,6 @@ Object.keys(drupalSettings.copyFieldValue || {}).forEach(function (element) { ids.push(element); }); - if (ids.length) { $(once('copy-field-values', 'body')).on('value:copy', this.valueTargetCopyHandler); $(once('copy-field-values', "#".concat(ids.join(', #')))).on('blur', this.valueSourceBlurHandler); @@ -26,7 +24,6 @@ }, valueTargetCopyHandler: function valueTargetCopyHandler(e, value) { var target = e.target; - if (target.value === '') { target.value = value; } diff --git a/web/core/modules/system/js/system.modules.js b/web/core/modules/system/js/system.modules.js index f4451e5ab..c4a734751 100644 --- a/web/core/modules/system/js/system.modules.js +++ b/web/core/modules/system/js/system.modules.js @@ -4,46 +4,34 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } - function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - +function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - (function ($, Drupal, debounce) { Drupal.behaviors.tableFilterByText = { attach: function attach(context, settings) { var _once = once('table-filter-text', 'input.table-filter-text'), - _once2 = _slicedToArray(_once, 1), - input = _once2[0]; - + _once2 = _slicedToArray(_once, 1), + input = _once2[0]; if (!input) { return; } - var $table = $(input.getAttribute('data-table')); var $rowsAndDetails; var $rows; var $details; var searching = false; - function hidePackageDetails(index, element) { var $packDetails = $(element); var $visibleRows = $packDetails.find('tbody tr:visible'); $packDetails.toggle($visibleRows.length > 0); } - function filterModuleList(e) { var query = e.target.value; var re = new RegExp("\\b".concat(query), 'i'); - function showModuleRow(index, row) { var sources = row.querySelectorAll('.table-filter-text-source, .module-name, .module-description'); var sourcesConcat = ''; @@ -53,9 +41,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } var textMatch = sourcesConcat.search(re) !== -1; $(row).closest('tr').toggle(textMatch); } - $rowsAndDetails.show(); - if (query.length >= 2) { searching = true; $rows.each(showModuleRow); @@ -70,14 +56,12 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } $details.filter('[data-drupal-system-state="forced-open"]').removeAttr('data-drupal-system-state').attr('open', false); } } - function preventEnterKey(event) { if (event.which === 13) { event.preventDefault(); event.stopPropagation(); } } - if ($table.length) { $rowsAndDetails = $table.find('tr, details'); $rows = $table.find('tbody tr'); diff --git a/web/core/modules/system/migrations/d7_theme_settings.yml b/web/core/modules/system/migrations/d7_theme_settings.yml index ad789fae8..ef08585eb 100644 --- a/web/core/modules/system/migrations/d7_theme_settings.yml +++ b/web/core/modules/system/migrations/d7_theme_settings.yml @@ -10,7 +10,7 @@ source: process: # Build the configuration name from the variable name, i.e. # theme_bartik_settings becomes bartik.settings. - theme_name: + legacy_theme_name: - plugin: explode source: name @@ -19,6 +19,13 @@ process: plugin: extract index: - 1 + theme_name: + plugin: static_map + source: '@legacy_theme_name' + bypass: true + map: + bartik: olivero + seven: claro configuration_name: plugin: concat source: diff --git a/web/core/modules/system/migrations/state/system.migrate_drupal.yml b/web/core/modules/system/migrations/state/system.migrate_drupal.yml index 92e9bd747..1c0f60651 100644 --- a/web/core/modules/system/migrations/state/system.migrate_drupal.yml +++ b/web/core/modules/system/migrations/state/system.migrate_drupal.yml @@ -5,7 +5,7 @@ finished: - menu_link_content - menu_ui system: system -# An upgrade path is not needed for jquery_ui. + # An upgrade path is not needed for jquery_ui. jquery_ui: core 7: menu: diff --git a/web/core/modules/system/migrations/system_maintenance.yml b/web/core/modules/system/migrations/system_maintenance.yml index cf1de5346..7caa7c5e3 100644 --- a/web/core/modules/system/migrations/system_maintenance.yml +++ b/web/core/modules/system/migrations/system_maintenance.yml @@ -12,15 +12,15 @@ source: source_module: system process: message: - - - plugin: callback - callable: array_filter - source: - - maintenance_mode_message - - site_offline_message - - - plugin: callback - callable: current + - + plugin: callback + callable: array_filter + source: + - maintenance_mode_message + - site_offline_message + - + plugin: callback + callable: current destination: plugin: config config_name: system.maintenance diff --git a/web/core/modules/system/src/Controller/TimezoneController.php b/web/core/modules/system/src/Controller/TimezoneController.php index 069113247..98db99246 100644 --- a/web/core/modules/system/src/Controller/TimezoneController.php +++ b/web/core/modules/system/src/Controller/TimezoneController.php @@ -5,33 +5,48 @@ use Symfony\Component\HttpFoundation\JsonResponse; /** - * Provides a callback for finding out a timezone name. + * Provides a callback for finding a time zone identifier. */ class TimezoneController { /** - * Retrieve a JSON object containing a time zone name given a timezone - * abbreviation. + * Returns a time zone identifier given a time zone abbreviation. * * @param string $abbreviation * Time zone abbreviation. * @param int $offset * Offset from GMT in seconds. Defaults to -1 which means that first found - * time zone corresponding to abbr is returned. Otherwise exact offset is - * searched and only if not found then the first time zone with any offset - * is returned. - * @param null|bool $is_daylight_saving_time - * Daylight saving time indicator. If abbr does not exist then the time - * zone is searched solely by offset and isdst. + * time zone corresponding to abbreviation is returned. Otherwise exact + * offset is searched and only if not found then the first time zone with + * any offset is returned. + * @param null|int $is_daylight_saving_time + * Daylight saving time indicator. If abbreviation does not exist then the + * time zone is searched solely by offset and is DST. * * @return \Symfony\Component\HttpFoundation\JsonResponse - * The timezone name in JsonResponse object. + * The time zone identifier or 'false' in JsonResponse object. */ public function getTimezone($abbreviation = '', $offset = -1, $is_daylight_saving_time = NULL) { + $offset = intval($offset); + // Out of bounds check for offset. Offset +/- UTC is typically no + // smaller/larger than -12/+14. + if ($offset < -60000 || $offset > 60000) { + return new JsonResponse(FALSE); + } + + if (isset($is_daylight_saving_time)) { + $original = intval($is_daylight_saving_time); + $is_daylight_saving_time = min(1, max(-1, intval($is_daylight_saving_time))); + // Catch if out of boundary. + if ($original !== $is_daylight_saving_time) { + return new JsonResponse(FALSE); + } + } + // An abbreviation of "0" passed in the callback arguments should be // interpreted as the empty string. $abbreviation = $abbreviation ? $abbreviation : ''; - $timezone = timezone_name_from_abbr($abbreviation, intval($offset), $is_daylight_saving_time); + $timezone = timezone_name_from_abbr($abbreviation, $offset, $is_daylight_saving_time); return new JsonResponse($timezone); } diff --git a/web/core/modules/system/src/FileDownloadController.php b/web/core/modules/system/src/FileDownloadController.php index cb9071bc1..e2f9132e2 100644 --- a/web/core/modules/system/src/FileDownloadController.php +++ b/web/core/modules/system/src/FileDownloadController.php @@ -69,7 +69,7 @@ public static function create(ContainerInterface $container) { public function download(Request $request, $scheme = 'private') { $target = $request->query->get('file'); // Merge remaining path arguments into relative file path. - $uri = $scheme . '://' . $target; + $uri = $this->streamWrapperManager->normalizeUri($scheme . '://' . $target); if ($this->streamWrapperManager->isValidScheme($scheme) && is_file($uri)) { // Let other modules provide headers and controls access to the file. diff --git a/web/core/modules/system/src/Form/CronForm.php b/web/core/modules/system/src/Form/CronForm.php index 177d973e6..4e7827d11 100644 --- a/web/core/modules/system/src/Form/CronForm.php +++ b/web/core/modules/system/src/Form/CronForm.php @@ -65,6 +65,7 @@ class CronForm extends FormBase { * The module handler service. */ public function __construct(ConfigFactoryInterface $config_factory, StateInterface $state, CronInterface $cron, DateFormatterInterface $date_formatter, ModuleHandlerInterface $module_handler) { + $this->configFactory = $config_factory; $this->state = $state; $this->cron = $cron; $this->dateFormatter = $date_formatter; diff --git a/web/core/modules/system/src/Form/ModulesListForm.php b/web/core/modules/system/src/Form/ModulesListForm.php index d0ec6f5b0..8df4971db 100644 --- a/web/core/modules/system/src/Form/ModulesListForm.php +++ b/web/core/modules/system/src/Form/ModulesListForm.php @@ -263,7 +263,7 @@ protected function buildRow(array $modules, Extension $module, $distribution) { Url::fromUri($module->info[ExtensionLifecycle::LIFECYCLE_LINK_IDENTIFIER], [ 'attributes' => [ - 'class' => 'module-link--non-stable', + 'class' => ['module-link--non-stable'], 'aria-label' => $this->t('View information on the @lifecycle status of the module @module', [ '@lifecycle' => ucfirst($lifecycle), '@module' => $module->info['name'], diff --git a/web/core/modules/system/src/Form/ModulesListNonStableConfirmForm.php b/web/core/modules/system/src/Form/ModulesListNonStableConfirmForm.php index 4ccf3b65c..217c81803 100644 --- a/web/core/modules/system/src/Form/ModulesListNonStableConfirmForm.php +++ b/web/core/modules/system/src/Form/ModulesListNonStableConfirmForm.php @@ -184,9 +184,7 @@ protected function buildNonStableInfo(): void { Url::fromUri($data[$machine_name]->info[ExtensionLifecycle::LIFECYCLE_LINK_IDENTIFIER], [ 'attributes' => [ - 'aria-label' => ' ' . $this->t('about the status of the @name module', [ - '@name' => $name, - ]), + 'aria-label' => ' ' . $this->t('about the status of the @name module', ['@name' => $name]), ], ]) )->toString(); diff --git a/web/core/modules/system/src/Form/ModulesUninstallForm.php b/web/core/modules/system/src/Form/ModulesUninstallForm.php index 82c014c23..483959410 100644 --- a/web/core/modules/system/src/Form/ModulesUninstallForm.php +++ b/web/core/modules/system/src/Form/ModulesUninstallForm.php @@ -146,8 +146,22 @@ public function buildForm(array $form, FormStateInterface $form_state) { return $form; } - // Sort all modules by their name. - uasort($uninstallable, [ModuleExtensionList::class, 'sortByName']); + // Deprecated and obsolete modules should appear at the top of the + // uninstallation list. + $unstable_lifecycle = array_flip([ + ExtensionLifecycle::DEPRECATED, + ExtensionLifecycle::OBSOLETE, + ]); + + // Sort all modules by their lifecycle identifier and name. + uasort($uninstallable, function ($a, $b) use ($unstable_lifecycle) { + $lifecycle_a = isset($unstable_lifecycle[$a->info[ExtensionLifecycle::LIFECYCLE_IDENTIFIER]]) ? -1 : 1; + $lifecycle_b = isset($unstable_lifecycle[$b->info[ExtensionLifecycle::LIFECYCLE_IDENTIFIER]]) ? -1 : 1; + if ($lifecycle_a === $lifecycle_b) { + return ModuleExtensionList::sortByName($a, $b); + } + return $lifecycle_a <=> $lifecycle_b; + }); $validation_reasons = $this->moduleInstaller->validateUninstall(array_keys($uninstallable)); $form['uninstall'] = ['#tree' => TRUE]; diff --git a/web/core/modules/system/src/Form/ThemeSettingsForm.php b/web/core/modules/system/src/Form/ThemeSettingsForm.php index a07e9e6a8..c0bd9ae32 100644 --- a/web/core/modules/system/src/Form/ThemeSettingsForm.php +++ b/web/core/modules/system/src/Form/ThemeSettingsForm.php @@ -235,7 +235,6 @@ public function buildForm(array $form, FormStateInterface $form_state, $theme = $form['logo']['settings']['logo_upload'] = [ '#type' => 'file', '#title' => $this->t('Upload logo image'), - '#maxlength' => 40, '#description' => $this->t("If you don't have direct file access to the server, use this field to upload your logo."), '#upload_validators' => [ 'file_validate_is_image' => [], diff --git a/web/core/modules/system/src/PathBasedBreadcrumbBuilder.php b/web/core/modules/system/src/PathBasedBreadcrumbBuilder.php index 609ffd515..517a57171 100644 --- a/web/core/modules/system/src/PathBasedBreadcrumbBuilder.php +++ b/web/core/modules/system/src/PathBasedBreadcrumbBuilder.php @@ -26,7 +26,9 @@ use Symfony\Component\Routing\Matcher\RequestMatcherInterface; /** - * Class to define the menu_link breadcrumb builder. + * Defines a class to build path-based breadcrumbs. + * + * @see \Drupal\Core\Breadcrumb\BreadcrumbBuilderInterface */ class PathBasedBreadcrumbBuilder implements BreadcrumbBuilderInterface { use StringTranslationTrait; @@ -39,7 +41,7 @@ class PathBasedBreadcrumbBuilder implements BreadcrumbBuilderInterface { protected $context; /** - * The menu link access service. + * The access check service. * * @var \Drupal\Core\Access\AccessManagerInterface */ @@ -100,7 +102,7 @@ class PathBasedBreadcrumbBuilder implements BreadcrumbBuilderInterface { * @param \Drupal\Core\Routing\RequestContext $context * The router request context. * @param \Drupal\Core\Access\AccessManagerInterface $access_manager - * The menu link access service. + * The access check service. * @param \Symfony\Component\Routing\Matcher\RequestMatcherInterface $router * The dynamic router service. * @param \Drupal\Core\PathProcessor\InboundPathProcessorInterface $path_processor diff --git a/web/core/modules/system/src/Plugin/Block/SystemMenuBlock.php b/web/core/modules/system/src/Plugin/Block/SystemMenuBlock.php index ed2406034..463b6800b 100644 --- a/web/core/modules/system/src/Plugin/Block/SystemMenuBlock.php +++ b/web/core/modules/system/src/Plugin/Block/SystemMenuBlock.php @@ -85,7 +85,7 @@ public function blockForm($form, FormStateInterface $form_state) { '#title' => $this->t('Menu levels'), // Open if not set to defaults. '#open' => $defaults['level'] !== $config['level'] || $defaults['depth'] !== $config['depth'], - '#process' => [[get_class(), 'processMenuLevelParents']], + '#process' => [[self::class, 'processMenuLevelParents']], ]; $options = range(0, $this->menuTree->maxDepth()); diff --git a/web/core/modules/system/src/Plugin/ImageToolkit/GDToolkit.php b/web/core/modules/system/src/Plugin/ImageToolkit/GDToolkit.php index 9218ae3ce..cc0993f76 100644 --- a/web/core/modules/system/src/Plugin/ImageToolkit/GDToolkit.php +++ b/web/core/modules/system/src/Plugin/ImageToolkit/GDToolkit.php @@ -168,12 +168,12 @@ public function getResource() { public function buildConfigurationForm(array $form, FormStateInterface $form_state) { $form['image_jpeg_quality'] = [ '#type' => 'number', - '#title' => t('JPEG quality'), - '#description' => t('Define the image quality for JPEG manipulations. Ranges from 0 to 100. Higher values mean better image quality but bigger files.'), + '#title' => $this->t('JPEG quality'), + '#description' => $this->t('Define the image quality for JPEG manipulations. Ranges from 0 to 100. Higher values mean better image quality but bigger files.'), '#min' => 0, '#max' => 100, '#default_value' => $this->configFactory->getEditable('system.image.gd')->get('jpeg_quality', FALSE), - '#field_suffix' => t('%'), + '#field_suffix' => $this->t('%'), ]; return $form; } @@ -395,14 +395,14 @@ public function getRequirements() { $info = gd_info(); $requirements['version'] = [ - 'title' => t('GD library'), + 'title' => $this->t('GD library'), 'value' => $info['GD Version'], ]; // Check for filter and rotate support. if (!function_exists('imagefilter') || !function_exists('imagerotate')) { $requirements['version']['severity'] = REQUIREMENT_WARNING; - $requirements['version']['description'] = t('The GD Library for PHP is enabled, but was compiled without support for functions used by the rotate and desaturate effects. It was probably compiled using the official GD libraries from http://www.libgd.org instead of the GD library bundled with PHP. You should recompile PHP --with-gd using the bundled GD library. See the PHP manual.'); + $requirements['version']['description'] = $this->t('The GD Library for PHP is enabled, but was compiled without support for functions used by the rotate and desaturate effects. It was probably compiled using the official GD libraries from http://www.libgd.org instead of the GD library bundled with PHP. You should recompile PHP --with-gd using the bundled GD library. See the PHP manual.'); } return $requirements; diff --git a/web/core/modules/system/src/Plugin/migrate/destination/d7/ThemeSettings.php b/web/core/modules/system/src/Plugin/migrate/destination/d7/ThemeSettings.php index 511cec9ce..ee1567457 100644 --- a/web/core/modules/system/src/Plugin/migrate/destination/d7/ThemeSettings.php +++ b/web/core/modules/system/src/Plugin/migrate/destination/d7/ThemeSettings.php @@ -67,6 +67,7 @@ public function import(Row $row, array $old_destination_id_values = []) { // Remove keys not in theme settings. unset($theme_settings['configuration_name']); unset($theme_settings['theme_name']); + unset($theme_settings['legacy_theme_name']); if (isset($theme_settings)) { theme_settings_convert_to_config($theme_settings, $config); $config->save(); diff --git a/web/core/modules/system/src/SystemManager.php b/web/core/modules/system/src/SystemManager.php index 89b2e7abf..7c88d95c3 100644 --- a/web/core/modules/system/src/SystemManager.php +++ b/web/core/modules/system/src/SystemManager.php @@ -107,6 +107,7 @@ public function listRequirements() { // Check run-time requirements and status information. $requirements = $this->moduleHandler->invokeAll('requirements', ['runtime']); + $this->moduleHandler->alter('requirements', $requirements); uasort($requirements, function ($a, $b) { if (!isset($a['weight'])) { if (!isset($b['weight'])) { @@ -127,7 +128,7 @@ public function listRequirements() { * An array of requirements, in the same format as is returned by * hook_requirements(). * - * @return + * @return int * The highest severity in the array. */ public function getMaxSeverity(&$requirements) { diff --git a/web/core/modules/system/src/Theme/BatchNegotiator.php b/web/core/modules/system/src/Theme/BatchNegotiator.php index ceb6c9607..074e4f897 100644 --- a/web/core/modules/system/src/Theme/BatchNegotiator.php +++ b/web/core/modules/system/src/Theme/BatchNegotiator.php @@ -43,7 +43,7 @@ public function __construct(BatchStorageInterface $batch_storage, RequestStack $ * {@inheritdoc} */ public function applies(RouteMatchInterface $route_match) { - return $route_match->getRouteName() == 'system.batch_page'; + return $route_match->getRouteName() == 'system.batch_page.html'; } /** diff --git a/web/core/modules/system/system.install b/web/core/modules/system/system.install index cc9b994af..274a90597 100644 --- a/web/core/modules/system/system.install +++ b/web/core/modules/system/system.install @@ -311,34 +311,25 @@ function system_requirements($phase) { // during installation or update. $requirements['php']['severity'] = ($phase === 'runtime') ? REQUIREMENT_ERROR : REQUIREMENT_WARNING; } - // @todo Remove this when \Drupal::MINIMUM_PHP is at least 8.1.6 in - // https://www.drupal.org/i/3305726. - elseif ($phase === 'runtime' && version_compare($phpversion, '8.1.0', '>=') && version_compare($phpversion, '8.1.6', '<')) { - $requirements['php']['description'] = t('PHP %version has an OPcache bug that can cause fatal errors with class autoloading. This can be fixed by upgrading to PHP 8.1.6 or later. See PHP\'s version support documentation and the Drupal PHP requirements page for more information.', [ - '%version' => $phpversion, - ':bug_url' => 'https://github.com/php/php-src/issues/8164', - ':php_requirements' => 'https://www.drupal.org/docs/system-requirements/php-requirements', - ]); - $requirements['php']['severity'] = REQUIREMENT_WARNING; - } // For PHP versions that are still supported but no longer recommended, // inform users of what's recommended, allowing them to take action before it // becomes urgent. elseif ($phase === 'runtime' && version_compare($phpversion, \Drupal::RECOMMENDED_PHP) < 0) { $requirements['php']['description'] = t('It is recommended to upgrade to PHP version %recommended or higher for the best ongoing support. See PHP\'s version support documentation and the Drupal PHP requirements page for more information.', ['%recommended' => \Drupal::RECOMMENDED_PHP, ':php_requirements' => 'https://www.drupal.org/docs/system-requirements/php-requirements']); - } - // If we're not on PHP 8.1 yet, warn about an OPcache bug in PHP 8.1.0 through - // 8.1.5, so that users know to avoid to those versions. - // @todo Remove this when \Drupal::MINIMUM_PHP is at least 8.1.6 in - // https://www.drupal.org/i/3305726. - if ($phase === 'runtime' && version_compare($phpversion, '8.1.0', 'lt')) { - // Append the notice about the broken PHP versions to the existing - // description (if there is one), so that the existing translatable string - // is preserved untouched. - $requirements['php']['description'] = t('

                                              @requirement

                                              PHP versions 8.1.0 to 8.1.5 have an OPcache bug that can cause fatal errors with class autoloading. It can be avoided by using PHP 8.1.6 or later.

                                              ', [ - '@requirement' => $requirements['php']['description'] ?? '', - ':bug_url' => 'https://github.com/php/php-src/issues/8164', - ]); + $requirements['php']['severity'] = REQUIREMENT_INFO; + + // PHP 8.1.0 to 8.1.5 has a known OPcache bug that can cause fatal errors, + // so warn about that if Drupal is running on one of those broken versions. + // @todo Remove this when \Drupal::MINIMUM_PHP is at least 8.1.6 in + // https://www.drupal.org/i/3305726. + if (version_compare($phpversion, '8.1.0', 'ge') && version_compare($phpversion, '8.1.6', 'lt')) { + $requirements['php']['description'] = t('PHP %version has an OPcache bug that can cause fatal errors with class autoloading. This can be fixed by upgrading to PHP 8.1.6 or later. See PHP\'s version support documentation and the Drupal PHP requirements page for more information.', [ + '%version' => $phpversion, + ':bug_url' => 'https://github.com/php/php-src/issues/8164', + ':php_requirements' => 'https://www.drupal.org/docs/system-requirements/php-requirements', + ]); + $requirements['php']['severity'] = REQUIREMENT_WARNING; + } } // Test for PHP extensions. @@ -748,10 +739,11 @@ function system_requirements($phase) { // Determine severity based on time since cron last ran. $severity = REQUIREMENT_INFO; - if (REQUEST_TIME - $cron_last > $threshold_error) { + $request_time = \Drupal::time()->getRequestTime(); + if ($request_time - $cron_last > $threshold_error) { $severity = REQUIREMENT_ERROR; } - elseif (REQUEST_TIME - $cron_last > $threshold_warning) { + elseif ($request_time - $cron_last > $threshold_warning) { $severity = REQUIREMENT_WARNING; } @@ -770,7 +762,7 @@ function system_requirements($phase) { '#suffix' => ' ', ], [ - '#markup' => t('For more information, see the online handbook entry for configuring cron jobs.', [':cron-handbook' => 'https://www.drupal.org/cron']), + '#markup' => t('For more information, see the online handbook entry for configuring cron jobs.', [':cron-handbook' => 'https://www.drupal.org/docs/administering-a-drupal-site/cron-automated-tasks/cron-automated-tasks-overview']), '#suffix' => ' ', ], ]; @@ -1066,7 +1058,8 @@ function system_requirements($phase) { // Check for an incompatible version. $required_file = $files[$required_module]; $required_name = $required_file->info['name']; - $version = str_replace(\Drupal::CORE_COMPATIBILITY . '-', '', $required_file->info['version'] ?? ''); + // Remove CORE_COMPATIBILITY- only from the start of the string. + $version = preg_replace('/^(' . \Drupal::CORE_COMPATIBILITY . '\-)/', '', $required_file->info['version'] ?? ''); if (!$requirement->isCompatible($version)) { $requirements["$extension_name-$required_module"] = [ 'title' => t('Unresolved dependency'), @@ -1259,7 +1252,7 @@ function system_requirements($phase) { $requirements['trusted_host_patterns'] = [ 'title' => t('Trusted Host Settings'), 'value' => t('Not enabled'), - 'description' => t('The trusted_host_patterns setting is not configured in settings.php. This can lead to security vulnerabilities. It is highly recommended that you configure this. See Protecting against HTTP HOST Header attacks for more information.', [':url' => 'https://www.drupal.org/docs/8/install/trusted-host-settings']), + 'description' => t('The trusted_host_patterns setting is not configured in settings.php. This can lead to security vulnerabilities. It is highly recommended that you configure this. See Protecting against HTTP HOST Header attacks for more information.', [':url' => 'https://www.drupal.org/docs/installing-drupal/trusted-host-settings']), 'severity' => REQUIREMENT_ERROR, ]; } @@ -1279,7 +1272,7 @@ function system_requirements($phase) { $provider = $connection->getProvider(); if ($provider !== 'core' && !\Drupal::moduleHandler()->moduleExists($provider)) { $autoload = $connection->getConnectionOptions()['autoload'] ?? ''; - if (($pos = strpos($autoload, 'src/Driver/Database/')) !== FALSE) { + if (strpos($autoload, 'src/Driver/Database/') !== FALSE) { $post_update_registry = \Drupal::service('update.post_update_registry'); $pending_updates = $post_update_registry->getPendingUpdateInformation(); if (!in_array('enable_provider_database_driver', array_keys($pending_updates['system']['pending'] ?? []), TRUE)) { @@ -1487,7 +1480,7 @@ function system_schema() { 'unsigned' => TRUE, 'not null' => TRUE, ], - ], + ], 'primary key' => ['value'], ]; diff --git a/web/core/modules/system/system.module b/web/core/modules/system/system.module index deba8f16a..89f68ddb4 100644 --- a/web/core/modules/system/system.module +++ b/web/core/modules/system/system.module @@ -28,6 +28,7 @@ use Drupal\Core\Queue\QueueGarbageCollectionInterface; use Drupal\Core\Routing\RouteMatchInterface; use Drupal\Core\Routing\StackedRouteMatchInterface; use Drupal\Core\Site\Settings; +use Drupal\Core\StreamWrapper\LocalStream; use Drupal\Core\StreamWrapper\StreamWrapperManager; use Drupal\Core\Url; use GuzzleHttp\Exception\TransferException; @@ -88,7 +89,7 @@ function system_help($route_name, RouteMatchInterface $route_match) { $output .= '
                                              ' . t('Configuring for performance') . '
                                              '; $output .= '
                                              ' . t('On the Performance page, the site can be configured to aggregate CSS and JavaScript files, making the total request size smaller. Note that, for small- to medium-sized websites, the Internal Page Cache module should be installed so that pages are efficiently cached and reused for anonymous users. Finally, for websites of all sizes, the Dynamic Page Cache module should also be installed so that the non-personalized parts of pages are efficiently cached (for all users).', [':performance-page' => Url::fromRoute('system.performance_settings')->toString(), ':page-cache' => (\Drupal::moduleHandler()->moduleExists('page_cache')) ? Url::fromRoute('help.page', ['name' => 'page_cache'])->toString() : '#', ':dynamic-page-cache' => (\Drupal::moduleHandler()->moduleExists('dynamic_page_cache')) ? Url::fromRoute('help.page', ['name' => 'dynamic_page_cache'])->toString() : '#']) . '
                                              '; $output .= '
                                              ' . t('Configuring cron') . '
                                              '; - $output .= '
                                              ' . t('In order for the site and its modules to continue to operate well, a set of routine administrative operations must run on a regular basis; these operations are known as cron tasks. On the Cron page, you can configure cron to run periodically as part of server responses by installing the Automated Cron module, or you can turn this off and trigger cron from an outside process on your web server. You can verify the status of cron tasks by visiting the Status report page. For more information, see the online documentation for configuring cron jobs.', [':status' => Url::fromRoute('system.status')->toString(), ':handbook' => 'https://www.drupal.org/cron', ':cron' => Url::fromRoute('system.cron_settings')->toString()]) . '
                                              '; + $output .= '
                                              ' . t('In order for the site and its modules to continue to operate well, a set of routine administrative operations must run on a regular basis; these operations are known as cron tasks. On the Cron page, you can configure cron to run periodically as part of server responses by installing the Automated Cron module, or you can turn this off and trigger cron from an outside process on your web server. You can verify the status of cron tasks by visiting the Status report page. For more information, see the online documentation for configuring cron jobs.', [':status' => Url::fromRoute('system.status')->toString(), ':handbook' => 'https://www.drupal.org/docs/administering-a-drupal-site/cron-automated-tasks/cron-automated-tasks-overview', ':cron' => Url::fromRoute('system.cron_settings')->toString()]) . '
                                              '; $output .= '
                                              ' . t('Configuring the file system') . '
                                              '; $output .= '
                                              ' . t('Your site has several file directories, which are used to store and process uploaded and generated files. The public file directory, which is configured in your settings.php file, is the default place for storing uploaded files. Links to files in this directory contain the direct file URL, so when the files are requested, the web server will send them directly without invoking your site code. This means that the files can be downloaded by anyone with the file URL, so requests are not access-controlled but they are efficient. The private file directory, also configured in your settings.php file and ideally located outside the site web root, is access controlled. Links to files in this directory are not direct, so requests to these files are mediated by your site code. This means that your site can check file access permission for each file before deciding to fulfill the request, so the requests are more secure, but less efficient. You should only use the private storage for files that need access control, not for files like your site logo and background images used on every page. The temporary file directory is used internally by your site code for various operations, and is configured on the File system settings page. You can also see the configured public and private file directories on this page, and choose whether public or private should be the default for uploaded files.', [':file-system' => Url::fromRoute('system.file_system_settings')->toString()]) . '
                                              '; $output .= '
                                              ' . t('Configuring the image toolkit') . '
                                              '; @@ -458,9 +459,6 @@ function template_preprocess_entity_add_list(&$variables) { * object created by authorize.php when the user authorizes the operation. * @param $page_title * Optional string to use as the page title once redirected to authorize.php. - * - * @return - * Nothing, this function just initializes variables in the user's session. */ function system_authorized_init($callback, $file, $arguments = [], $page_title = NULL) { $session = \Drupal::request()->getSession(); @@ -877,7 +875,7 @@ function system_check_directory($form_element, FormStateInterface $form_state) { * Possible values: REGIONS_ALL or REGIONS_VISIBLE. Visible excludes hidden * regions. * - * @return + * @return string[] * An array of regions in the form $region['name'] = 'description'. */ function system_region_list($theme, $show = REGIONS_ALL) { @@ -949,7 +947,7 @@ function system_system_info_alter(&$info, Extension $file, $type) { * @param $theme * The name of a theme. * - * @return + * @return string * A string that is the region name. */ function system_default_region($theme) { @@ -1392,6 +1390,26 @@ function system_page_top() { * Implements hook_file_download(). */ function system_file_download($uri) { + $stream_wrapper_manager = \Drupal::service('stream_wrapper_manager'); + $scheme = $stream_wrapper_manager->getScheme($uri); + if ($stream_wrapper_manager->isValidScheme($scheme)) { + $target = $stream_wrapper_manager->getTarget($uri); + if ($target !== FALSE) { + if (!in_array($scheme, Settings::get('file_sa_core_2023_005_schemes', []))) { + if (DIRECTORY_SEPARATOR !== '/') { + $class = $stream_wrapper_manager->getClass($scheme); + if (is_subclass_of($class, LocalStream::class)) { + $target = str_replace(DIRECTORY_SEPARATOR, '/', $target); + } + } + $parts = explode('/', $target); + if (array_intersect($parts, ['.', '..'])) { + return -1; + } + } + } + } + $core_schemes = ['public', 'private', 'temporary']; $additional_public_schemes = array_diff(Settings::get('file_additional_public_schemes', []), $core_schemes); if ($additional_public_schemes) { diff --git a/web/core/modules/system/system.routing.yml b/web/core/modules/system/system.routing.yml index 00eddce6b..f5335c48c 100644 --- a/web/core/modules/system/system.routing.yml +++ b/web/core/modules/system/system.routing.yml @@ -455,6 +455,9 @@ system.timezone: is_daylight_saving_time: NULL requirements: _access: 'TRUE' + abbreviation: '0|([A-Z]{3,5})' + offset: '\-?\d+' + is_daylight_saving_time: '\-1|0|1' system.admin_config: path: '/admin/config' diff --git a/web/core/modules/system/system.tokens.inc b/web/core/modules/system/system.tokens.inc index 4c0a83e43..8076c4aba 100644 --- a/web/core/modules/system/system.tokens.inc +++ b/web/core/modules/system/system.tokens.inc @@ -54,17 +54,18 @@ function system_token_info() { $date_formatter = \Drupal::service('date.formatter'); // Date related tokens. + $request_time = \Drupal::time()->getRequestTime(); $date['short'] = [ 'name' => t("Short format"), - 'description' => t("A date in 'short' format. (%date)", ['%date' => $date_formatter->format(REQUEST_TIME, 'short')]), + 'description' => t("A date in 'short' format. (%date)", ['%date' => $date_formatter->format($request_time, 'short')]), ]; $date['medium'] = [ 'name' => t("Medium format"), - 'description' => t("A date in 'medium' format. (%date)", ['%date' => $date_formatter->format(REQUEST_TIME, 'medium')]), + 'description' => t("A date in 'medium' format. (%date)", ['%date' => $date_formatter->format($request_time, 'medium')]), ]; $date['long'] = [ 'name' => t("Long format"), - 'description' => t("A date in 'long' format. (%date)", ['%date' => $date_formatter->format(REQUEST_TIME, 'long')]), + 'description' => t("A date in 'long' format. (%date)", ['%date' => $date_formatter->format($request_time, 'long')]), ]; $date['custom'] = [ 'name' => t("Custom format"), @@ -72,11 +73,11 @@ function system_token_info() { ]; $date['since'] = [ 'name' => t("Time-since"), - 'description' => t("A date in 'time-since' format. (%date)", ['%date' => $date_formatter->formatTimeDiffSince(REQUEST_TIME - 360)]), + 'description' => t("A date in 'time-since' format. (%date)", ['%date' => $date_formatter->formatTimeDiffSince($request_time - 360)]), ]; $date['raw'] = [ 'name' => t("Raw timestamp"), - 'description' => t("A date in UNIX timestamp format (%date)", ['%date' => REQUEST_TIME]), + 'description' => t("A date in UNIX timestamp format (%date)", ['%date' => $request_time]), ]; return [ @@ -157,7 +158,7 @@ function system_tokens($type, $tokens, array $data, array $options, BubbleableMe elseif ($type == 'date') { if (empty($data['date'])) { - $date = REQUEST_TIME; + $date = \Drupal::time()->getRequestTime(); // We depend on the current request time, so the tokens are not cacheable // at all. $bubbleable_metadata->setCacheMaxAge(0); diff --git a/web/core/modules/system/templates/block--system-menu-block.html.twig b/web/core/modules/system/templates/block--system-menu-block.html.twig index 6113bc2ed..1e6c3e020 100644 --- a/web/core/modules/system/templates/block--system-menu-block.html.twig +++ b/web/core/modules/system/templates/block--system-menu-block.html.twig @@ -11,6 +11,7 @@ * - label_display: The display settings for the label. * - provider: The module or other provider that provided this block plugin. * - Block plugin specific settings will also be stored here. + * - in_preview: Whether the plugin is being rendered in preview mode. * - content: The content of this block. * - attributes: HTML attributes for the containing element. * - id: A valid HTML ID and guaranteed unique. diff --git a/web/core/modules/system/tests/modules/accept_header_routing_test/src/AcceptHeaderMiddleware.php b/web/core/modules/system/tests/modules/accept_header_routing_test/src/AcceptHeaderMiddleware.php index 0f60fbe72..d62f0a859 100644 --- a/web/core/modules/system/tests/modules/accept_header_routing_test/src/AcceptHeaderMiddleware.php +++ b/web/core/modules/system/tests/modules/accept_header_routing_test/src/AcceptHeaderMiddleware.php @@ -11,6 +11,11 @@ */ class AcceptHeaderMiddleware implements HttpKernelInterface { + /** + * The app kernel. + */ + protected $app; + /** * Constructs a new AcceptHeaderMiddleware instance. * diff --git a/web/core/modules/system/tests/modules/ajax_forms_test/src/Form/AjaxFormsTestAjaxElementsForm.php b/web/core/modules/system/tests/modules/ajax_forms_test/src/Form/AjaxFormsTestAjaxElementsForm.php index 41a9b6d92..2e774f31f 100644 --- a/web/core/modules/system/tests/modules/ajax_forms_test/src/Form/AjaxFormsTestAjaxElementsForm.php +++ b/web/core/modules/system/tests/modules/ajax_forms_test/src/Form/AjaxFormsTestAjaxElementsForm.php @@ -7,8 +7,7 @@ use Drupal\Core\Form\FormStateInterface; /** - * Form builder: Builds a form that has each FAPI elements triggering a simple - * Ajax callback. + * Builds a form where each Form API element triggers a simple Ajax callback. * * @internal */ diff --git a/web/core/modules/system/tests/modules/ajax_test/ajax_test.libraries.yml b/web/core/modules/system/tests/modules/ajax_test/ajax_test.libraries.yml index 9d390854b..155638376 100644 --- a/web/core/modules/system/tests/modules/ajax_test/ajax_test.libraries.yml +++ b/web/core/modules/system/tests/modules/ajax_test/ajax_test.libraries.yml @@ -4,19 +4,19 @@ ajax_insert: dependencies: - core/drupal.ajax order: - drupalSettings: - ajax: test - dependencies: - - ajax_test/order-css-command - - ajax_test/order-footer-js-command - - ajax_test/order-header-js-command + drupalSettings: + ajax: test + dependencies: + - ajax_test/order-css-command + - ajax_test/order-footer-js-command + - ajax_test/order-header-js-command order-css-command: css: - theme: - # Two CSS files (order should remain the same). - a.css: {} - b.css: {} + theme: + # Two CSS files (order should remain the same). + a.css: {} + b.css: {} order-footer-js-command: js: @@ -33,3 +33,19 @@ focus.first: dependencies: - core/drupal - core/once + +command_promise: + version: VERSION + js: + js/command_promise-ajax.js: {} + dependencies: + - core/jquery + - core/drupal + - core/drupal.ajax + - core/es6-promise + +global_events: + js: + js/global_events.js: {} + dependencies: + - core/drupal.ajax diff --git a/web/core/modules/system/tests/modules/ajax_test/ajax_test.routing.yml b/web/core/modules/system/tests/modules/ajax_test/ajax_test.routing.yml index 01bf512ad..a90279ea9 100644 --- a/web/core/modules/system/tests/modules/ajax_test/ajax_test.routing.yml +++ b/web/core/modules/system/tests/modules/ajax_test/ajax_test.routing.yml @@ -93,3 +93,25 @@ ajax_test.focus_first_form: _form: '\Drupal\ajax_test\Form\AjaxTestFocusFirstForm' requirements: _access: 'TRUE' + +ajax_test.promise: + path: '/ajax-test/promise-form' + defaults: + _title: 'Ajax Form Command Promise' + _form: '\Drupal\ajax_test\Form\AjaxTestFormPromise' + requirements: + _access: 'TRUE' + +ajax_test.global_events: + path: '/ajax-test/global-events' + defaults: + _controller: '\Drupal\ajax_test\Controller\AjaxTestController::globalEvents' + requirements: + _access: 'TRUE' + +ajax_test.global_events_clear_log: + path: '/ajax-test/global-events/clear-log' + defaults: + _controller: '\Drupal\ajax_test\Controller\AjaxTestController::globalEventsClearLog' + requirements: + _access: 'TRUE' diff --git a/web/core/modules/system/tests/modules/ajax_test/js/focus-ajax.js b/web/core/modules/system/tests/modules/ajax_test/js/focus-ajax.js index 9cc0da866..64fae3f8d 100644 --- a/web/core/modules/system/tests/modules/ajax_test/js/focus-ajax.js +++ b/web/core/modules/system/tests/modules/ajax_test/js/focus-ajax.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function (Drupal) { Drupal.behaviors.focusFirstTest = { attach: function attach() { diff --git a/web/core/modules/system/tests/modules/ajax_test/js/insert-ajax.js b/web/core/modules/system/tests/modules/ajax_test/js/insert-ajax.js index 2c3db6a61..7e2a2dc32 100644 --- a/web/core/modules/system/tests/modules/ajax_test/js/insert-ajax.js +++ b/web/core/modules/system/tests/modules/ajax_test/js/insert-ajax.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, window, Drupal) { Drupal.behaviors.insertTest = { attach: function attach(context) { diff --git a/web/core/modules/system/tests/modules/ajax_test/src/Controller/AjaxTestController.php b/web/core/modules/system/tests/modules/ajax_test/src/Controller/AjaxTestController.php index d02d26a49..efa9f6a91 100644 --- a/web/core/modules/system/tests/modules/ajax_test/src/Controller/AjaxTestController.php +++ b/web/core/modules/system/tests/modules/ajax_test/src/Controller/AjaxTestController.php @@ -354,4 +354,37 @@ protected function getRenderTypes() { return $render_info; } + /** + * Returns a page from which to test Ajax global events. + * + * @return array + * The render array. + */ + public function globalEvents() { + return [ + '#attached' => [ + 'library' => [ + 'ajax_test/global_events', + ], + ], + '#markup' => implode('', [ + '
                                              ', + 'Drupal Ajax', + '
                                              ', + ]), + ]; + } + + /** + * Returns an AjaxResponse with command to clear the 'test_global_events_log'. + * + * @return \Drupal\Core\Ajax\AjaxResponse + * The JSON response object. + */ + public function globalEventsClearLog() { + $response = new AjaxResponse(); + $response->addCommand(new HtmlCommand('#test_global_events_log', '')); + return $response; + } + } diff --git a/web/core/modules/system/tests/modules/common_test/common_test.libraries.yml b/web/core/modules/system/tests/modules/common_test/common_test.libraries.yml index 9406493b4..eb45eac81 100644 --- a/web/core/modules/system/tests/modules/common_test/common_test.libraries.yml +++ b/web/core/modules/system/tests/modules/common_test/common_test.libraries.yml @@ -1,12 +1,7 @@ -jquery.farbtastic: +loadjs: version: 0.1 js: - assets/vendor/farbtastic/farbtastic.js: {} - css: - component: - assets/vendor/farbtastic/farbtastic.css: {} - dependencies: - - core/jquery + assets/vendor/loadjs/loadjs.min.js: { } # Library to test CSS and JS file assets. files: diff --git a/web/core/modules/system/tests/modules/common_test/common_test.module b/web/core/modules/system/tests/modules/common_test/common_test.module index 3f25250ab..94702a814 100644 --- a/web/core/modules/system/tests/modules/common_test/common_test.module +++ b/web/core/modules/system/tests/modules/common_test/common_test.module @@ -52,7 +52,7 @@ function common_test_drupal_alter_alter(&$data, &$arg2 = NULL, &$arg3 = NULL) { * Same as common_test_drupal_alter_alter(), but here, we verify that themes * can also alter and come last. */ -function bartik_drupal_alter_alter(&$data, &$arg2 = NULL, &$arg3 = NULL) { +function olivero_drupal_alter_alter(&$data, &$arg2 = NULL, &$arg3 = NULL) { // Alter first argument. if (is_array($data)) { $data['foo'] .= ' theme'; @@ -170,15 +170,15 @@ function common_test_library_info_build() { * Implements hook_library_info_alter(). */ function common_test_library_info_alter(&$libraries, $module) { - if ($module == 'core' && isset($libraries['jquery.farbtastic'])) { - // Change the version of Farbtastic to 0.0. - $libraries['jquery.farbtastic']['version'] = '0.0'; - // Make Farbtastic depend on jQuery Form to test library dependencies. - $libraries['jquery.farbtastic']['dependencies'][] = 'core/internal.jquery.form'; + if ($module === 'core' && isset($libraries['loadjs'])) { + // Change the version of loadjs to 0.0. + $libraries['loadjs']['version'] = '0.0'; + // Make loadjs depend on jQuery Form to test library dependencies. + $libraries['loadjs']['dependencies'][] = 'core/internal.jquery.form'; } // Alter the dynamically registered library definition. - if ($module == 'common_test' && isset($libraries['dynamic_library'])) { + if ($module === 'common_test' && isset($libraries['dynamic_library'])) { $libraries['dynamic_library']['dependencies'] = [ 'core/jquery', ]; @@ -217,6 +217,12 @@ function common_test_page_attachments(array &$page) { '#markup' => 'test', ]; } + + if (\Drupal::state()->get('common_test.hook_page_attachments.early_rendering', FALSE)) { + // Do some early rendering. + $element = ['#markup' => '123']; + \Drupal::service('renderer')->render($element); + } } /** diff --git a/web/core/modules/system/tests/modules/common_test/common_test.routing.yml b/web/core/modules/system/tests/modules/common_test/common_test.routing.yml index 8062d063e..f62c58de2 100644 --- a/web/core/modules/system/tests/modules/common_test/common_test.routing.yml +++ b/web/core/modules/system/tests/modules/common_test/common_test.routing.yml @@ -20,3 +20,11 @@ common_test.js_and_css_querystring: _controller: '\Drupal\common_test\Controller\CommonTestController::jsAndCssQuerystring' requirements: _access: 'TRUE' + +common_test.page_attachments: + path: '/common/attachments-test' + defaults: + _title: 'Attachments test' + _controller: '\Drupal\common_test\Controller\CommonTestController::attachments' + requirements: + _access: 'TRUE' diff --git a/web/core/modules/system/tests/modules/common_test/src/Controller/CommonTestController.php b/web/core/modules/system/tests/modules/common_test/src/Controller/CommonTestController.php index 1fbba00a1..57977d2a1 100644 --- a/web/core/modules/system/tests/modules/common_test/src/Controller/CommonTestController.php +++ b/web/core/modules/system/tests/modules/common_test/src/Controller/CommonTestController.php @@ -92,4 +92,19 @@ public function destination() { return new Response($output); } + /** + * Returns a response with early rendering in common_test_page_attachments. + * + * @return \Symfony\Component\HttpFoundation\Response + * A new Response object. + */ + public function attachments() { + \Drupal::state()->set('common_test.hook_page_attachments.early_rendering', TRUE); + $build = [ + '#title' => 'A title', + 'content' => ['#markup' => 'Some content'], + ]; + return \Drupal::service('main_content_renderer.html')->renderResponse($build, \Drupal::requestStack()->getCurrentRequest(), \Drupal::routeMatch()); + } + } diff --git a/web/core/modules/system/tests/modules/condition_test/src/FormController.php b/web/core/modules/system/tests/modules/condition_test/src/FormController.php index 04e3eff9a..076646f48 100644 --- a/web/core/modules/system/tests/modules/condition_test/src/FormController.php +++ b/web/core/modules/system/tests/modules/condition_test/src/FormController.php @@ -5,12 +5,15 @@ use Drupal\Core\Form\FormInterface; use Drupal\Core\Condition\ConditionManager; use Drupal\Core\Form\FormStateInterface; +use Drupal\Core\Form\SubformState; +use Drupal\Core\StringTranslation\StringTranslationTrait; use Drupal\node\Entity\Node; /** * Routing controller class for condition_test testing of condition forms. */ class FormController implements FormInterface { + use StringTranslationTrait; /** * The condition plugin we will be working with. @@ -19,6 +22,13 @@ class FormController implements FormInterface { */ protected $condition; + /** + * The condition plugin current_theme. + * + * @var \Drupal\Core\Condition\ConditionInterface + */ + protected $condition_current_theme; + /** * {@inheritdoc} */ @@ -32,16 +42,25 @@ public function getFormId() { public function __construct() { $manager = new ConditionManager(\Drupal::service('container.namespaces'), \Drupal::cache('discovery'), \Drupal::moduleHandler()); $this->condition = $manager->createInstance('entity_bundle:node'); + $this->condition_current_theme = $manager->createInstance('current_theme'); } /** * {@inheritdoc} */ public function buildForm(array $form, FormStateInterface $form_state) { - $form = $this->condition->buildConfigurationForm($form, $form_state); + $form['#tree'] = TRUE; + $form['entity_bundle'] = []; + $subformState = SubformState::createForSubform($form['entity_bundle'], $form, $form_state); + $form['entity_bundle'] = $this->condition->buildConfigurationForm($form['entity_bundle'], $subformState); + + $form['current_theme'] = []; + $subformState = SubformState::createForSubform($form['current_theme'], $form, $form_state); + $form['current_theme'] = $this->condition_current_theme->buildConfigurationForm($form['current_theme'], $subformState); + $form['actions']['submit'] = [ '#type' => 'submit', - '#value' => t('Submit'), + '#value' => $this->t('Submit'), ]; return $form; } @@ -50,14 +69,19 @@ public function buildForm(array $form, FormStateInterface $form_state) { * Implements \Drupal\Core\Form\FormInterface::validateForm(). */ public function validateForm(array &$form, FormStateInterface $form_state) { - $this->condition->validateConfigurationForm($form, $form_state); + $subformState = SubformState::createForSubform($form['entity_bundle'], $form, $form_state); + $this->condition->validateConfigurationForm($form['entity_bundle'], $subformState); } /** * {@inheritdoc} */ public function submitForm(array &$form, FormStateInterface $form_state) { - $this->condition->submitConfigurationForm($form, $form_state); + $subformState = SubformState::createForSubform($form['entity_bundle'], $form, $form_state); + $this->condition->submitConfigurationForm($form['entity_bundle'], $subformState); + $subformState = SubformState::createForSubform($form['current_theme'], $form, $form_state); + + $this->condition_current_theme->submitConfigurationForm($form['current_theme'], $subformState); $config = $this->condition->getConfig(); foreach ($config['bundles'] as $bundle) { \Drupal::messenger()->addStatus('Bundle: ' . $bundle); @@ -66,7 +90,10 @@ public function submitForm(array &$form, FormStateInterface $form_state) { $article = Node::load(1); $this->condition->setContextValue('node', $article); if ($this->condition->execute()) { - \Drupal::messenger()->addStatus(t('Executed successfully.')); + \Drupal::messenger()->addStatus($this->t('Executed successfully.')); + } + if ($this->condition_current_theme->execute()) { + \Drupal::messenger()->addStatus($this->condition_current_theme->summary()); } } diff --git a/web/core/modules/system/tests/modules/css_disable_transitions_test/js/disable_transitions.theme.js b/web/core/modules/system/tests/modules/css_disable_transitions_test/js/disable_transitions.theme.js index d8040df5b..7aae231d7 100644 --- a/web/core/modules/system/tests/modules/css_disable_transitions_test/js/disable_transitions.theme.js +++ b/web/core/modules/system/tests/modules/css_disable_transitions_test/js/disable_transitions.theme.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - if (window.jQuery) { jQuery.fx.off = true; } \ No newline at end of file diff --git a/web/core/modules/system/tests/modules/database_test/database_test.install b/web/core/modules/system/tests/modules/database_test/database_test.install index 855a51803..a388f3fe6 100644 --- a/web/core/modules/system/tests/modules/database_test/database_test.install +++ b/web/core/modules/system/tests/modules/database_test/database_test.install @@ -170,7 +170,7 @@ function database_test_schema() { ], ], 'primary key' => ['id'], - ]; + ]; $schema['test_two_blobs'] = [ 'description' => 'A simple test table with two BLOB fields.', @@ -190,7 +190,7 @@ function database_test_schema() { ], ], 'primary key' => ['id'], - ]; + ]; $schema['test_task'] = [ 'description' => 'A task list for people in the test table.', diff --git a/web/core/modules/system/tests/modules/dialog_renderer_test/dialog_renderer_test.services.yml b/web/core/modules/system/tests/modules/dialog_renderer_test/dialog_renderer_test.services.yml index 4be467310..332a261c5 100644 --- a/web/core/modules/system/tests/modules/dialog_renderer_test/dialog_renderer_test.services.yml +++ b/web/core/modules/system/tests/modules/dialog_renderer_test/dialog_renderer_test.services.yml @@ -1,6 +1,6 @@ services: -# Provide 2 main content renderer services that use the same class but -# behave differently depending on the 2nd argument. + # Provide 2 main content renderer services that use the same class but behave + # differently depending on the 2nd argument. main_content_renderer.wide_modal: class: Drupal\dialog_renderer_test\Render\MainContent\WideModalRenderer arguments: ['@title_resolver', '@renderer', 'wide'] diff --git a/web/core/modules/system/tests/modules/display_variant_test/src/Plugin/DisplayVariant/TestDisplayVariant.php b/web/core/modules/system/tests/modules/display_variant_test/src/Plugin/DisplayVariant/TestDisplayVariant.php index 4280cd416..cd2b0f458 100644 --- a/web/core/modules/system/tests/modules/display_variant_test/src/Plugin/DisplayVariant/TestDisplayVariant.php +++ b/web/core/modules/system/tests/modules/display_variant_test/src/Plugin/DisplayVariant/TestDisplayVariant.php @@ -67,6 +67,7 @@ public function setContexts(array $contexts) { * {@inheritdoc} */ public function setMainContent(array $main_content) { + assert(!empty($this->getConfiguration()['required_configuration']), 'Ensure that ::setMainContent() is called with the variant configuration'); $this->mainContent = $main_content; return $this; } @@ -75,6 +76,7 @@ public function setMainContent(array $main_content) { * {@inheritdoc} */ public function setTitle($title) { + assert(!empty($this->getConfiguration()['required_configuration']), 'Ensure that ::setTitle() is called with the variant configuration'); $this->title = $title; return $this; } diff --git a/web/core/modules/system/tests/modules/early_rendering_controller_test/src/EarlyRenderingTestController.php b/web/core/modules/system/tests/modules/early_rendering_controller_test/src/EarlyRenderingTestController.php index 00f3ef984..40b9bc823 100644 --- a/web/core/modules/system/tests/modules/early_rendering_controller_test/src/EarlyRenderingTestController.php +++ b/web/core/modules/system/tests/modules/early_rendering_controller_test/src/EarlyRenderingTestController.php @@ -60,10 +60,11 @@ protected function earlyRenderContent() { public function renderArray() { return [ - '#pre_render' => [function () { - $elements = $this->earlyRenderContent(); - return $elements; - }, + '#pre_render' => [ + function () { + $elements = $this->earlyRenderContent(); + return $elements; + }, ], ]; } diff --git a/web/core/modules/system/tests/modules/entity_reference_test_views/entity_reference_test_views.info.yml b/web/core/modules/system/tests/modules/entity_reference_test_views/entity_reference_test_views.info.yml index 9222b57c3..88ae649dd 100644 --- a/web/core/modules/system/tests/modules/entity_reference_test_views/entity_reference_test_views.info.yml +++ b/web/core/modules/system/tests/modules/entity_reference_test_views/entity_reference_test_views.info.yml @@ -4,4 +4,4 @@ description: 'Provides default views for views entity reference tests.' package: Testing version: VERSION dependencies: - - drupal:views + - drupal:views diff --git a/web/core/modules/system/tests/modules/entity_test/entity_test.module b/web/core/modules/system/tests/modules/entity_test/entity_test.module index 68b33b2ff..5644ef696 100644 --- a/web/core/modules/system/tests/modules/entity_test/entity_test.module +++ b/web/core/modules/system/tests/modules/entity_test/entity_test.module @@ -693,14 +693,18 @@ function entity_test_entity_prepare_view($entity_type, array $entities, array $d foreach ($entities as $entity) { /** @var \Drupal\Core\Entity\ContentEntityInterface $entity */ - // Add a dummy field item attribute on field_test_text if it exists. + // Add field item attributes on field_test_text if it exists. + // See \Drupal\Tests\system\Functional\Entity\EntityViewControllerTest::testFieldItemAttributes(). if ($entity->hasField('field_test_text') && $displays[$entity->bundle()]->getComponent('field_test_text')) { foreach ($entity->get('field_test_text') as $item) { - $item->_attributes += ['data-field-item-attr' => 'foobar']; + $item->_attributes += [ + 'data-field-item-attr' => 'foobar', + 'property' => 'schema:text', + ]; } } - // Add a dummy field item attribute on daterange fields if they exist. + // Add an item attribute on daterange fields if they exist. $fields = $entity->getFieldDefinitions(); foreach ($fields as $field) { if ($field->getType() === 'daterange') { @@ -773,6 +777,12 @@ function entity_test_entity_create_access(AccountInterface $account, $context, $ \Drupal::state()->set('entity_test_entity_create_access', TRUE); \Drupal::state()->set('entity_test_entity_create_access_context', $context); + if ($entity_bundle === 'forbidden_access_bundle') { + // We need to cover a case in which a bundle is specifically forbidden + // from creation (as opposed to neutral access). + return AccessResult::forbidden(); + } + // No opinion. return AccessResult::neutral(); } diff --git a/web/core/modules/system/tests/modules/entity_test/src/EntityTestAccessControlHandler.php b/web/core/modules/system/tests/modules/entity_test/src/EntityTestAccessControlHandler.php index 4e7b4dc2a..7aab7849b 100644 --- a/web/core/modules/system/tests/modules/entity_test/src/EntityTestAccessControlHandler.php +++ b/web/core/modules/system/tests/modules/entity_test/src/EntityTestAccessControlHandler.php @@ -55,6 +55,9 @@ protected function checkAccess(EntityInterface $entity, $operation, AccountInter return AccessResult::allowedIfHasPermission($account, 'view test entity translations'); } } + if ($entity instanceof EntityPublishedInterface && !$entity->isPublished()) { + return AccessResult::neutral('Unpublished entity'); + } return AccessResult::allowedIfHasPermission($account, 'view test entity'); } elseif (in_array($operation, ['update', 'delete'])) { diff --git a/web/core/modules/system/tests/modules/entity_test/src/Plugin/Field/FieldType/FieldTestItem.php b/web/core/modules/system/tests/modules/entity_test/src/Plugin/Field/FieldType/FieldTestItem.php index da2dc4624..1549978b4 100644 --- a/web/core/modules/system/tests/modules/entity_test/src/Plugin/Field/FieldType/FieldTestItem.php +++ b/web/core/modules/system/tests/modules/entity_test/src/Plugin/Field/FieldType/FieldTestItem.php @@ -32,8 +32,6 @@ class FieldTestItem extends FieldItemBase { * {@inheritdoc} */ public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) { - // This is called very early by the user entity roles field. Prevent - // early t() calls by using the TranslatableMarkup. $properties['value'] = DataDefinition::create('string') ->setLabel(new TranslatableMarkup('Test value')) ->setRequired(TRUE); diff --git a/web/core/modules/system/tests/modules/entity_test/tests/src/Functional/Rest/EntityTestResourceTestBase.php b/web/core/modules/system/tests/modules/entity_test/tests/src/Functional/Rest/EntityTestResourceTestBase.php index af57bb04d..1c4911082 100644 --- a/web/core/modules/system/tests/modules/entity_test/tests/src/Functional/Rest/EntityTestResourceTestBase.php +++ b/web/core/modules/system/tests/modules/entity_test/tests/src/Functional/Rest/EntityTestResourceTestBase.php @@ -76,15 +76,15 @@ protected function createEntity() { $entity_test = \Drupal::entityTypeManager() ->getStorage(static::$entityTypeId) ->create([ - 'name' => 'Llama', - 'type' => static::$entityTypeId, - // Set a value for the internal field to confirm that it will not be - // returned in normalization. - // @see entity_test_entity_base_field_info(). - 'internal_string_field' => [ - 'value' => 'This value shall not be internal!', - ], - ]); + 'name' => 'Llama', + 'type' => static::$entityTypeId, + // Set a value for the internal field to confirm that it will not be + // returned in normalization. + // @see entity_test_entity_base_field_info(). + 'internal_string_field' => [ + 'value' => 'This value shall not be internal!', + ], + ]); $entity_test->setOwnerId(0); $entity_test->save(); diff --git a/web/core/modules/system/tests/modules/error_service_test/src/Controller/LonelyMonkeyController.php b/web/core/modules/system/tests/modules/error_service_test/src/Controller/LonelyMonkeyController.php index 4946417a4..a6f4f4128 100644 --- a/web/core/modules/system/tests/modules/error_service_test/src/Controller/LonelyMonkeyController.php +++ b/web/core/modules/system/tests/modules/error_service_test/src/Controller/LonelyMonkeyController.php @@ -12,6 +12,11 @@ */ class LonelyMonkeyController extends ControllerBase implements ContainerInjectionInterface { + /** + * The lonely monkey class. + */ + protected $class; + public function __construct(LonelyMonkeyClass $class) { $this->class = $class; } diff --git a/web/core/modules/system/tests/modules/error_service_test/src/LonelyMonkeyClass.php b/web/core/modules/system/tests/modules/error_service_test/src/LonelyMonkeyClass.php index bbe1d6a19..b881f6cde 100644 --- a/web/core/modules/system/tests/modules/error_service_test/src/LonelyMonkeyClass.php +++ b/web/core/modules/system/tests/modules/error_service_test/src/LonelyMonkeyClass.php @@ -9,6 +9,11 @@ */ class LonelyMonkeyClass { + /** + * The database connection. + */ + protected $connection; + public function __construct(Connection $connection) { $this->connection = $connection; } diff --git a/web/core/modules/system/tests/modules/error_service_test/src/MonkeysInTheControlRoom.php b/web/core/modules/system/tests/modules/error_service_test/src/MonkeysInTheControlRoom.php index 304d8ed93..8ce223a46 100644 --- a/web/core/modules/system/tests/modules/error_service_test/src/MonkeysInTheControlRoom.php +++ b/web/core/modules/system/tests/modules/error_service_test/src/MonkeysInTheControlRoom.php @@ -21,6 +21,11 @@ class MonkeysInTheControlRoom implements HttpKernelInterface { */ protected $app; + /** + * The settings. + */ + protected $settings; + /** * MonkeysInTheControlRoom constructor. * diff --git a/web/core/modules/system/tests/modules/form_test/form_test.routing.yml b/web/core/modules/system/tests/modules/form_test/form_test.routing.yml index 1f1379dd4..a39d924d9 100644 --- a/web/core/modules/system/tests/modules/form_test/form_test.routing.yml +++ b/web/core/modules/system/tests/modules/form_test/form_test.routing.yml @@ -164,6 +164,14 @@ form_test.tableselect_js: requirements: _access: 'TRUE' +form_test.tableselect_disabled_rows: + path: '/form_test/tableselect/disabled-rows/{test_action}' + defaults: + _form: '\Drupal\form_test\Form\FormTestTableSelectDisabledRowsForm' + _title: 'Tableselect disabled rows tests' + requirements: + _access: 'TRUE' + form_test.vertical_tabs: path: '/form_test/vertical-tabs' defaults: diff --git a/web/core/modules/system/tests/modules/form_test/src/Form/FormTestGroupVerticalTabsForm.php b/web/core/modules/system/tests/modules/form_test/src/Form/FormTestGroupVerticalTabsForm.php index 7a29d7d7e..3e47c908c 100644 --- a/web/core/modules/system/tests/modules/form_test/src/Form/FormTestGroupVerticalTabsForm.php +++ b/web/core/modules/system/tests/modules/form_test/src/Form/FormTestGroupVerticalTabsForm.php @@ -44,9 +44,22 @@ public function buildForm(array $form, FormStateInterface $form_state) { '#type' => 'textfield', '#title' => 'Second nested element in details element', ]; + $form['submit'] = [ + '#type' => 'submit', + '#value' => 'Save', + ]; return $form; } + /** + * {@inheritdoc} + */ + public function validateForm(array &$form, FormStateInterface $form_state) { + if ($form_state->getValue('element_2') === 'bad') { + $form_state->setErrorByName('element_2', $this->t('there was an error')); + } + } + /** * {@inheritdoc} */ diff --git a/web/core/modules/system/tests/modules/form_test/src/Form/JavascriptStatesForm.php b/web/core/modules/system/tests/modules/form_test/src/Form/JavascriptStatesForm.php index 4d589d349..408dfc103 100644 --- a/web/core/modules/system/tests/modules/form_test/src/Form/JavascriptStatesForm.php +++ b/web/core/modules/system/tests/modules/form_test/src/Form/JavascriptStatesForm.php @@ -31,6 +31,52 @@ public function buildForm(array $form, FormStateInterface $form_state) { '#type' => 'textfield', '#title' => 'Textfield trigger', ]; + $form['radios_opposite1'] = [ + '#type' => 'radios', + '#title' => 'Radios opposite 1', + '#options' => [ + 0 => 'zero', + 1 => 'one', + ], + '#default_value' => 0, + 0 => [ + '#states' => [ + 'checked' => [ + ':input[name="radios_opposite2"]' => ['value' => 1], + ], + ], + ], + 1 => [ + '#states' => [ + 'checked' => [ + ':input[name="radios_opposite2"]' => ['value' => 0], + ], + ], + ], + ]; + $form['radios_opposite2'] = [ + '#type' => 'radios', + '#title' => 'Radios opposite 2', + '#options' => [ + 0 => 'zero', + 1 => 'one', + ], + '#default_value' => 1, + 0 => [ + '#states' => [ + 'checked' => [ + ':input[name="radios_opposite1"]' => ['value' => 1], + ], + ], + ], + 1 => [ + '#states' => [ + 'checked' => [ + ':input[name="radios_opposite1"]' => ['value' => 0], + ], + ], + ], + ]; $form['radios_trigger'] = [ '#type' => 'radios', '#title' => 'Radios trigger', @@ -60,6 +106,10 @@ public function buildForm(array $form, FormStateInterface $form_state) { '#empty_value' => '_none', '#empty_option' => '- None -', ]; + $form['number_trigger'] = [ + '#type' => 'number', + '#title' => 'Number trigger', + ]; // Tested fields. // Checkbox trigger. @@ -130,6 +180,123 @@ public function buildForm(array $form, FormStateInterface $form_state) { ], ], ]; + $form['checkboxes_all_checked_when_checkbox_trigger_checked'] = [ + '#type' => 'checkboxes', + '#title' => 'Checkboxes: all checked when checkbox trigger checked', + '#options' => [ + 'value1' => 'Value 1', + 'value2' => 'Value 2', + 'value3' => 'Value 3', + ], + '#states' => [ + 'checked' => [ + ':input[name="checkbox_trigger"]' => ['checked' => TRUE], + ], + ], + ]; + $form['checkboxes_some_checked_when_checkbox_trigger_checked'] = [ + '#type' => 'checkboxes', + '#title' => 'Checkboxes: some checked when checkbox trigger checked', + '#options' => [ + 'value1' => 'Value 1', + 'value2' => 'Value 2', + 'value3' => 'Value 3', + ], + 'value1' => [ + '#states' => [ + 'checked' => [ + ':input[name="checkbox_trigger"]' => ['checked' => TRUE], + ], + ], + ], + 'value3' => [ + '#states' => [ + 'checked' => [ + ':input[name="checkbox_trigger"]' => ['checked' => TRUE], + ], + ], + ], + ]; + $form['checkboxes_all_disabled_when_checkbox_trigger_checked'] = [ + '#type' => 'checkboxes', + '#title' => 'Checkboxes: all disabled when checkbox trigger checked', + '#options' => [ + 'value1' => 'Value 1', + 'value2' => 'Value 2', + 'value3' => 'Value 3', + ], + '#states' => [ + 'disabled' => [ + ':input[name="checkbox_trigger"]' => ['checked' => TRUE], + ], + ], + ]; + $form['checkboxes_some_disabled_when_checkbox_trigger_checked'] = [ + '#type' => 'checkboxes', + '#title' => 'Checkboxes: some disabled when checkbox trigger checked', + '#options' => [ + 'value1' => 'Value 1', + 'value2' => 'Value 2', + 'value3' => 'Value 3', + ], + 'value1' => [ + '#states' => [ + 'disabled' => [ + ':input[name="checkbox_trigger"]' => ['checked' => TRUE], + ], + ], + ], + 'value3' => [ + '#states' => [ + 'disabled' => [ + ':input[name="checkbox_trigger"]' => ['checked' => TRUE], + ], + ], + ], + ]; + $form['radios_checked_when_checkbox_trigger_checked'] = [ + '#type' => 'radios', + '#title' => 'Radios checked when checkbox trigger checked', + '#options' => [ + 'value1' => 'Value 1', + 'value2' => 'Value 2', + ], + 'value1' => [ + '#states' => [ + 'checked' => [ + ':input[name="checkbox_trigger"]' => ['checked' => TRUE], + ], + ], + ], + ]; + $form['radios_all_disabled_when_checkbox_trigger_checked'] = [ + '#type' => 'radios', + '#title' => 'Radios: all disabled when checkbox trigger checked', + '#options' => [ + 'value1' => 'Value 1', + 'value2' => 'Value 2', + ], + '#states' => [ + 'disabled' => [ + ':input[name="checkbox_trigger"]' => ['checked' => TRUE], + ], + ], + ]; + $form['radios_some_disabled_when_checkbox_trigger_checked'] = [ + '#type' => 'radios', + '#title' => 'Radios: some disabled when checkbox trigger checked', + '#options' => [ + 'value1' => 'Value 1', + 'value2' => 'Value 2', + ], + 'value1' => [ + '#states' => [ + 'disabled' => [ + ':input[name="checkbox_trigger"]' => ['checked' => TRUE], + ], + ], + ], + ]; // Checkboxes trigger. $form['textfield_visible_when_checkboxes_trigger_value2_checked'] = [ @@ -328,6 +495,17 @@ public function buildForm(array $form, FormStateInterface $form_state) { ], ]; + // Number triggers. + $form['item_visible_when_number_trigger_filled_by_spinner'] = [ + '#type' => 'item', + '#title' => 'Item visible when number trigger filled by spinner widget', + '#states' => [ + 'visible' => [ + ':input[name="number_trigger"]' => ['filled' => TRUE], + ], + ], + ]; + $form['select'] = [ '#type' => 'select', '#title' => 'select 1', diff --git a/web/core/modules/system/tests/modules/image_lazy_load_test/src/Controller/ImageLazyLoadController.php b/web/core/modules/system/tests/modules/image_lazy_load_test/src/Controller/ImageLazyLoadController.php index 39a3f2cb6..3877ad1c8 100644 --- a/web/core/modules/system/tests/modules/image_lazy_load_test/src/Controller/ImageLazyLoadController.php +++ b/web/core/modules/system/tests/modules/image_lazy_load_test/src/Controller/ImageLazyLoadController.php @@ -18,7 +18,7 @@ class ImageLazyLoadController extends ControllerBase { public function renderImage() { $images['with-dimensions'] = [ '#theme' => 'image', - '#uri' => '/core/themes/bartik/logo.svg', + '#uri' => '/core/themes/olivero/logo.svg', '#alt' => 'Image lazy load testing image', '#prefix' => '
                                              ', '#suffix' => '
                                              ', @@ -28,7 +28,7 @@ public function renderImage() { $images['without-dimensions'] = [ '#theme' => 'image', - '#uri' => '/core/themes/bartik/logo.svg', + '#uri' => '/core/themes/olivero/logo.svg', '#alt' => 'Image lazy load testing image without dimensions', '#prefix' => '
                                              ', '#suffix' => '
                                              ', @@ -36,7 +36,7 @@ public function renderImage() { $images['override-loading-attribute'] = [ '#theme' => 'image', - '#uri' => '/core/themes/bartik/logo.svg', + '#uri' => '/core/themes/olivero/logo.svg', '#alt' => 'Image lazy load test loading attribute can be overridden', '#prefix' => '
                                              ', '#suffix' => '
                                              ', diff --git a/web/core/modules/system/tests/modules/jquery_keyevent_polyfilll_test/js/jquery.keyevent.polyfill.js b/web/core/modules/system/tests/modules/jquery_keyevent_polyfilll_test/js/jquery.keyevent.polyfill.js index 94b411605..110678569 100644 --- a/web/core/modules/system/tests/modules/jquery_keyevent_polyfilll_test/js/jquery.keyevent.polyfill.js +++ b/web/core/modules/system/tests/modules/jquery_keyevent_polyfilll_test/js/jquery.keyevent.polyfill.js @@ -4,33 +4,26 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($) { jQuery.event.addProp('which', function (event) { var keyEventRegex = /^key/; var mouseEventRegex = /^(?:mouse|pointer|contextmenu|drag|drop)|click/; var button = event.button; - if (event.which == null && keyEventRegex.test(event.type)) { return event.charCode != null ? event.charCode : event.keyCode; } - if (!event.which && button !== undefined && mouseEventRegex.test(event.type)) { if (button && 1) { return 1; } - if (button && 2) { return 3; } - if (button && 4) { return 2; } - return 0; } - return event.which; }); })(jQuery); \ No newline at end of file diff --git a/web/core/modules/system/tests/modules/js_ajax_test/js/js_ajax_test.ajax.js b/web/core/modules/system/tests/modules/js_ajax_test/js/js_ajax_test.ajax.js index 4d71a2f38..edea0ceec 100644 --- a/web/core/modules/system/tests/modules/js_ajax_test/js/js_ajax_test.ajax.js +++ b/web/core/modules/system/tests/modules/js_ajax_test/js/js_ajax_test.ajax.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal) { Drupal.AjaxCommands.prototype.jsAjaxTestCommand = function (ajax, response) { var $domElement = $(response.selector); diff --git a/web/core/modules/system/tests/modules/js_cookie_test/js/js_cookie_shim_test.js b/web/core/modules/system/tests/modules/js_cookie_test/js/js_cookie_shim_test.js index 2a7a3fd19..7203717a3 100644 --- a/web/core/modules/system/tests/modules/js_cookie_test/js/js_cookie_shim_test.js +++ b/web/core/modules/system/tests/modules/js_cookie_test/js/js_cookie_shim_test.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function (_ref, $) { var behaviors = _ref.behaviors; behaviors.jqueryCookie = { diff --git a/web/core/modules/system/tests/modules/js_deprecation_test/js/js_deprecation_test.js b/web/core/modules/system/tests/modules/js_deprecation_test/js/js_deprecation_test.js index 48ccbad18..e6c6299c8 100644 --- a/web/core/modules/system/tests/modules/js_deprecation_test/js/js_deprecation_test.js +++ b/web/core/modules/system/tests/modules/js_deprecation_test/js/js_deprecation_test.js @@ -4,18 +4,15 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function (_ref) { var deprecationError = _ref.deprecationError, - deprecatedProperty = _ref.deprecatedProperty, - behaviors = _ref.behaviors; - + deprecatedProperty = _ref.deprecatedProperty, + behaviors = _ref.behaviors; var deprecatedFunction = function deprecatedFunction() { deprecationError({ message: 'This function is deprecated for testing purposes.' }); }; - var objectWithDeprecatedProperty = deprecatedProperty({ target: { deprecatedProperty: 'Kitten' diff --git a/web/core/modules/system/tests/modules/js_errors_test/js/js_errors_test.js b/web/core/modules/system/tests/modules/js_errors_test/js/js_errors_test.js index a3357d06f..13b8a5ee4 100644 --- a/web/core/modules/system/tests/modules/js_errors_test/js/js_errors_test.js +++ b/web/core/modules/system/tests/modules/js_errors_test/js/js_errors_test.js @@ -4,10 +4,9 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function (_ref) { var throwError = _ref.throwError, - behaviors = _ref.behaviors; + behaviors = _ref.behaviors; behaviors.testErrors = { attach: function attach() { throwError(new Error('A manually thrown error.')); diff --git a/web/core/modules/system/tests/modules/js_interaction_test/js/js_interaction_test.trigger_link.js b/web/core/modules/system/tests/modules/js_interaction_test/js/js_interaction_test.trigger_link.js index c6b1618bb..d0494d916 100644 --- a/web/core/modules/system/tests/modules/js_interaction_test/js/js_interaction_test.trigger_link.js +++ b/web/core/modules/system/tests/modules/js_interaction_test/js/js_interaction_test.trigger_link.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function (_ref) { var behaviors = _ref.behaviors; behaviors.js_interaction_test_trigger_link = { diff --git a/web/core/modules/system/tests/modules/js_interaction_test/src/Controller/JSInteractionTestForm.php b/web/core/modules/system/tests/modules/js_interaction_test/src/Controller/JSInteractionTestForm.php index 1439ec16b..026b341d4 100644 --- a/web/core/modules/system/tests/modules/js_interaction_test/src/Controller/JSInteractionTestForm.php +++ b/web/core/modules/system/tests/modules/js_interaction_test/src/Controller/JSInteractionTestForm.php @@ -12,7 +12,7 @@ class JSInteractionTestForm extends FormBase { /** - * @inheritDoc + * {@inheritdoc} */ public function getFormId() { return __CLASS__; diff --git a/web/core/modules/system/tests/modules/js_message_test/js/js_message_test.js b/web/core/modules/system/tests/modules/js_message_test/js/js_message_test.js index e4f2ce8a0..2fdafa318 100644 --- a/web/core/modules/system/tests/modules/js_message_test/js/js_message_test.js +++ b/web/core/modules/system/tests/modules/js_message_test/js/js_message_test.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, _ref, _ref2) { var behaviors = _ref.behaviors; var testMessages = _ref2.testMessages; @@ -34,7 +33,6 @@ var area = $target.closest('[data-drupal-messages-area]').attr('data-drupal-messages-area') || 'default'; var message = messageObjects[area].zone; var action = $target.attr('data-action'); - if (action === 'add') { messageObjects[area].indexes[type].push(message.add("This is a message of the type, ".concat(type, ". You be the judge of its importance."), { type: type diff --git a/web/core/modules/system/tests/modules/js_testing_log_test/js/js_testing_log.js b/web/core/modules/system/tests/modules/js_testing_log_test/js/js_testing_log.js index 2a5348723..a2734e2a7 100644 --- a/web/core/modules/system/tests/modules/js_testing_log_test/js/js_testing_log.js +++ b/web/core/modules/system/tests/modules/js_testing_log_test/js/js_testing_log.js @@ -4,20 +4,16 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function (Drupal) { if (typeof console !== 'undefined' && console.warn) { var originalWarnFunction = console.warn; - console.warn = function (warning) { var warnings = JSON.parse(sessionStorage.getItem('js_testing_log_test.warnings') || JSON.stringify([])); warnings.push(warning); sessionStorage.setItem('js_testing_log_test.warnings', JSON.stringify(warnings)); originalWarnFunction(warning); }; - var originalThrowFunction = Drupal.throwError; - Drupal.throwError = function (error) { var errors = JSON.parse(sessionStorage.getItem('js_testing_log_test.errors') || JSON.stringify([])); errors.push(error.stack); diff --git a/web/core/modules/system/tests/modules/js_webassert_test/js/js_webassert_test.no_element_after_wait.js b/web/core/modules/system/tests/modules/js_webassert_test/js/js_webassert_test.no_element_after_wait.js index 8237f7a38..ed7924ba3 100644 --- a/web/core/modules/system/tests/modules/js_webassert_test/js/js_webassert_test.no_element_after_wait.js +++ b/web/core/modules/system/tests/modules/js_webassert_test/js/js_webassert_test.no_element_after_wait.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal) { Drupal.behaviors.js_webassert_test_wait_for_ajax_request = { attach: function attach() { diff --git a/web/core/modules/system/tests/modules/js_webassert_test/js/js_webassert_test.wait_for_ajax_request.js b/web/core/modules/system/tests/modules/js_webassert_test/js/js_webassert_test.wait_for_ajax_request.js index 7e65949bc..64cd61db9 100644 --- a/web/core/modules/system/tests/modules/js_webassert_test/js/js_webassert_test.wait_for_ajax_request.js +++ b/web/core/modules/system/tests/modules/js_webassert_test/js/js_webassert_test.wait_for_ajax_request.js @@ -4,12 +4,10 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function (Drupal, drupalSettings) { Drupal.behaviors.js_webassert_test_wait_for_ajax_request = { attach: function attach(context) { var waitAjaxInput = document.querySelector('input[name="test_assert_wait_on_ajax_input"]'); - if (waitAjaxInput) { waitAjaxInput.value = 'js_webassert_test'; } diff --git a/web/core/modules/system/tests/modules/js_webassert_test/js/js_webassert_test.wait_for_element.js b/web/core/modules/system/tests/modules/js_webassert_test/js/js_webassert_test.wait_for_element.js index 4ab7ba4e7..327c7f9bb 100644 --- a/web/core/modules/system/tests/modules/js_webassert_test/js/js_webassert_test.wait_for_element.js +++ b/web/core/modules/system/tests/modules/js_webassert_test/js/js_webassert_test.wait_for_element.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal, drupalSettings) { Drupal.behaviors.js_webassert_test_wait_for_element = { attach: function attach(context) { diff --git a/web/core/modules/system/tests/modules/layout_test/templates/layout-test-1col.html.twig b/web/core/modules/system/tests/modules/layout_test/templates/layout-test-1col.html.twig index 2207e3c71..ab03efabc 100644 --- a/web/core/modules/system/tests/modules/layout_test/templates/layout-test-1col.html.twig +++ b/web/core/modules/system/tests/modules/layout_test/templates/layout-test-1col.html.twig @@ -5,6 +5,9 @@ */ #} + {% if in_preview %} + This is a preview, indeed + {% endif %}
                                              {{ content.top }}
                                              diff --git a/web/core/modules/system/tests/modules/menu_test/menu_test.links.contextual.yml b/web/core/modules/system/tests/modules/menu_test/menu_test.links.contextual.yml index 284959243..2b633b910 100644 --- a/web/core/modules/system/tests/modules/menu_test/menu_test.links.contextual.yml +++ b/web/core/modules/system/tests/modules/menu_test/menu_test.links.contextual.yml @@ -3,6 +3,7 @@ menu_test.contextual_hidden_manage: group: menu_test_menu route_name: menu_test.contextual_hidden_manage class: '\Drupal\menu_test\Plugin\Menu\ContextualLink\TestContextualLink' + weight: 2 menu_test.contextual_hidden_manage_edit: title: 'Edit menu - contextual' @@ -13,8 +14,10 @@ menu_test.contextual_hidden_manage_edit: class: ['use-ajax'] data-dialog-type: 'modal' data-is-something: TRUE + weight: 1 menu_test.hidden_block_configure: title: 'Configure block' group: menu_test_block route_name: menu_test.hidden_block_configure + weight: 0 diff --git a/web/core/modules/system/tests/modules/menu_test/src/Plugin/Derivative/MenuLinkTestWithUnsafeTitle.php b/web/core/modules/system/tests/modules/menu_test/src/Plugin/Derivative/MenuLinkTestWithUnsafeTitle.php index 822224c1a..60d992311 100644 --- a/web/core/modules/system/tests/modules/menu_test/src/Plugin/Derivative/MenuLinkTestWithUnsafeTitle.php +++ b/web/core/modules/system/tests/modules/menu_test/src/Plugin/Derivative/MenuLinkTestWithUnsafeTitle.php @@ -14,9 +14,9 @@ class MenuLinkTestWithUnsafeTitle extends DeriverBase { */ public function getDerivativeDefinitions($base_plugin_definition) { $this->derivatives['unsafe'] = [ - 'title' => '', - 'menu_name' => 'tools', - ] + $base_plugin_definition; + 'title' => '', + 'menu_name' => 'tools', + ] + $base_plugin_definition; return $this->derivatives; } diff --git a/web/core/modules/system/tests/modules/modernizr_deprecation_test/js/access-unsupported-property.js b/web/core/modules/system/tests/modules/modernizr_deprecation_test/js/access-unsupported-property.js index b16393ed4..257b2bf0a 100644 --- a/web/core/modules/system/tests/modules/modernizr_deprecation_test/js/access-unsupported-property.js +++ b/web/core/modules/system/tests/modules/modernizr_deprecation_test/js/access-unsupported-property.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function (Drupal, once, Modernizr) { Drupal.behaviors.unsupportedModernizrProperty = { attach: function attach() { diff --git a/web/core/modules/system/tests/modules/module_install_class_loader_test1/src/EventSubscriber.php b/web/core/modules/system/tests/modules/module_install_class_loader_test1/src/EventSubscriber.php index ce0ef4981..ecb945acf 100644 --- a/web/core/modules/system/tests/modules/module_install_class_loader_test1/src/EventSubscriber.php +++ b/web/core/modules/system/tests/modules/module_install_class_loader_test1/src/EventSubscriber.php @@ -5,8 +5,10 @@ use Symfony\Component\EventDispatcher\EventSubscriberInterface; /** - * An event subscriber that does different things depending on whether classes - * exist. + * Defines an event subscriber that conditionally unsets the event list. + * + * @see Drupal\module_install_class_loader_test2\EventSubscriber + * @see Drupal\Tests\system\Functional\Module\ClassLoaderTest::testMultipleModules() */ class EventSubscriber implements EventSubscriberInterface { diff --git a/web/core/modules/system/tests/modules/module_test/module_test.module b/web/core/modules/system/tests/modules/module_test/module_test.module index d3731e25e..9ae069cb4 100644 --- a/web/core/modules/system/tests/modules/module_test/module_test.module +++ b/web/core/modules/system/tests/modules/module_test/module_test.module @@ -51,7 +51,7 @@ function module_test_system_info_alter(&$info, Extension $file, $type) { $info['version'] = '8.x-1.0'; } } - if ($file->getName() == 'seven' && $type == 'theme') { + if ($file->getName() == 'stark' && $type == 'theme') { $info['regions']['test_region'] = 'Test region'; } } diff --git a/web/core/modules/system/tests/modules/module_test/module_test.permissions.yml b/web/core/modules/system/tests/modules/module_test/module_test.permissions.yml index d5f58692c..c26e65a2d 100644 --- a/web/core/modules/system/tests/modules/module_test/module_test.permissions.yml +++ b/web/core/modules/system/tests/modules/module_test/module_test.permissions.yml @@ -1,2 +1,2 @@ module_test perm: - title: 'example perm for module_test module' + title: 'example perm for module_test module' diff --git a/web/core/modules/system/tests/modules/off_canvas_test/js/resize-helper.js b/web/core/modules/system/tests/modules/off_canvas_test/js/resize-helper.js index ee3677656..b566be702 100644 --- a/web/core/modules/system/tests/modules/off_canvas_test/js/resize-helper.js +++ b/web/core/modules/system/tests/modules/off_canvas_test/js/resize-helper.js @@ -4,11 +4,9 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function (_ref) { var offCanvas = _ref.offCanvas; var originalResetSize = offCanvas.resetSize; - offCanvas.resetSize = function (event) { originalResetSize(event); event.data.$element.attr('data-resize-done', 'true'); diff --git a/web/core/modules/system/tests/modules/olivero_test/config/install/core.entity_form_display.node.article.default.yml b/web/core/modules/system/tests/modules/olivero_test/config/install/core.entity_form_display.node.article.default.yml index a0333f736..15cc3308b 100644 --- a/web/core/modules/system/tests/modules/olivero_test/config/install/core.entity_form_display.node.article.default.yml +++ b/web/core/modules/system/tests/modules/olivero_test/config/install/core.entity_form_display.node.article.default.yml @@ -20,7 +20,7 @@ mode: default content: body: type: text_textarea_with_summary - weight: 1 + weight: 2 region: content settings: rows: 9 @@ -42,7 +42,7 @@ content: third_party_settings: { } field_image: type: image_image - weight: 4 + weight: 1 region: content settings: progress_indicator: throbber diff --git a/web/core/modules/system/tests/modules/olivero_test/js/log-errors.js b/web/core/modules/system/tests/modules/olivero_test/js/log-errors.js index 28057970e..1c1721ba1 100644 --- a/web/core/modules/system/tests/modules/olivero_test/js/log-errors.js +++ b/web/core/modules/system/tests/modules/olivero_test/js/log-errors.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - Drupal.errorLog = []; window.addEventListener('error', function (e) { Drupal.errorLog.push(e); diff --git a/web/core/modules/system/tests/modules/plugin_test/src/Plugin/MockBlockManager.php b/web/core/modules/system/tests/modules/plugin_test/src/Plugin/MockBlockManager.php index 766aa7a8d..d53901f6b 100644 --- a/web/core/modules/system/tests/modules/plugin_test/src/Plugin/MockBlockManager.php +++ b/web/core/modules/system/tests/modules/plugin_test/src/Plugin/MockBlockManager.php @@ -8,12 +8,15 @@ use Drupal\Component\Plugin\Factory\ReflectionFactory; use Drupal\Core\Plugin\Context\ContextDefinition; use Drupal\Core\Plugin\Context\EntityContextDefinition; +use Drupal\Core\StringTranslation\StringTranslationTrait; /** * Defines a plugin manager used by Plugin API derivative unit tests. */ class MockBlockManager extends PluginManagerBase { + use StringTranslationTrait; + public function __construct() { // Create the object that can be used to return definitions for all the @@ -38,7 +41,7 @@ public function __construct() { // A simple plugin: the user login block. $this->discovery->setDefinition('user_login', [ 'id' => 'user_login', - 'label' => t('User login'), + 'label' => $this->t('User login'), 'class' => 'Drupal\plugin_test\Plugin\plugin_test\mock_block\MockUserLoginBlock', ]); @@ -56,7 +59,7 @@ public function __construct() { // A plugin defining itself as a derivative. $this->discovery->setDefinition('menu:foo', [ 'id' => 'menu', - 'label' => t('Base label'), + 'label' => $this->t('Base label'), 'class' => 'Drupal\plugin_test\Plugin\plugin_test\mock_block\MockMenuBlock', ]); @@ -68,7 +71,7 @@ public function __construct() { // derivatives are available to the system. $this->discovery->setDefinition('layout', [ 'id' => 'layout', - 'label' => t('Layout'), + 'label' => $this->t('Layout'), 'class' => 'Drupal\plugin_test\Plugin\plugin_test\mock_block\MockLayoutBlock', 'deriver' => 'Drupal\plugin_test\Plugin\plugin_test\mock_block\MockLayoutBlockDeriver', ]); @@ -77,38 +80,38 @@ public function __construct() { // user object in order to return the user name from the getTitle() method. $this->discovery->setDefinition('user_name', [ 'id' => 'user_name', - 'label' => t('User name'), + 'label' => $this->t('User name'), 'class' => 'Drupal\plugin_test\Plugin\plugin_test\mock_block\MockUserNameBlock', 'context_definitions' => [ - 'user' => $this->createContextDefinition('entity:user', t('User')), + 'user' => $this->createContextDefinition('entity:user', $this->t('User')), ], ]); // An optional context version of the previous block plugin. $this->discovery->setDefinition('user_name_optional', [ 'id' => 'user_name_optional', - 'label' => t('User name optional'), + 'label' => $this->t('User name optional'), 'class' => 'Drupal\plugin_test\Plugin\plugin_test\mock_block\MockUserNameBlock', 'context_definitions' => [ - 'user' => $this->createContextDefinition('entity:user', t('User'), FALSE), + 'user' => $this->createContextDefinition('entity:user', $this->t('User'), FALSE), ], ]); // A block plugin that requires a typed data string context to function. $this->discovery->setDefinition('string_context', [ 'id' => 'string_context', - 'label' => t('String typed data'), + 'label' => $this->t('String typed data'), 'class' => 'Drupal\plugin_test\Plugin\plugin_test\mock_block\TypedDataStringBlock', ]); // A complex context plugin that requires both a user and node for context. $this->discovery->setDefinition('complex_context', [ 'id' => 'complex_context', - 'label' => t('Complex context'), + 'label' => $this->t('Complex context'), 'class' => 'Drupal\plugin_test\Plugin\plugin_test\mock_block\MockComplexContextBlock', 'context_definitions' => [ - 'user' => $this->createContextDefinition('entity:user', t('User')), - 'node' => $this->createContextDefinition('entity:node', t('Node')), + 'user' => $this->createContextDefinition('entity:user', $this->t('User')), + 'node' => $this->createContextDefinition('entity:node', $this->t('Node')), ], ]); diff --git a/web/core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/mock_block/MockLayoutBlockDeriver.php b/web/core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/mock_block/MockLayoutBlockDeriver.php index 8ea1fc383..c575dd0b5 100644 --- a/web/core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/mock_block/MockLayoutBlockDeriver.php +++ b/web/core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/mock_block/MockLayoutBlockDeriver.php @@ -3,6 +3,7 @@ namespace Drupal\plugin_test\Plugin\plugin_test\mock_block; use Drupal\Component\Plugin\Derivative\DeriverInterface; +use Drupal\Core\StringTranslation\StringTranslationTrait; /** * Mock implementation of DeriverInterface for the mock layout block plugin. @@ -11,6 +12,8 @@ */ class MockLayoutBlockDeriver implements DeriverInterface { + use StringTranslationTrait; + /** * {@inheritdoc} */ @@ -42,7 +45,7 @@ public function getDerivativeDefinitions($base_plugin_definition) { // customized one, but in a real implementation, this would be fetched // from some \Drupal::config() object. 'foo' => [ - 'label' => t('Layout Foo'), + 'label' => $this->t('Layout Foo'), ] + $base_plugin_definition, ]; diff --git a/web/core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/mock_block/MockMenuBlockDeriver.php b/web/core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/mock_block/MockMenuBlockDeriver.php index 9195c333a..d8031a7cf 100644 --- a/web/core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/mock_block/MockMenuBlockDeriver.php +++ b/web/core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/mock_block/MockMenuBlockDeriver.php @@ -3,6 +3,7 @@ namespace Drupal\plugin_test\Plugin\plugin_test\mock_block; use Drupal\Component\Plugin\Derivative\DeriverInterface; +use Drupal\Core\StringTranslation\StringTranslationTrait; /** * Mock implementation of DeriverInterface for the mock menu block plugin. @@ -11,6 +12,8 @@ */ class MockMenuBlockDeriver implements DeriverInterface { + use StringTranslationTrait; + /** * {@inheritdoc} */ @@ -37,16 +40,16 @@ public function getDerivativeDefinitions($base_plugin_definition) { // Drupal's configuration to find out which menus actually exist. $derivatives = [ 'main_menu' => [ - 'label' => t('Main menu'), + 'label' => $this->t('Main menu'), ] + $base_plugin_definition, 'navigation' => [ - 'label' => t('Navigation'), + 'label' => $this->t('Navigation'), ] + $base_plugin_definition, 'foo' => [ // Instead of the derivative label, the specific label will be used. - 'label' => t('Derivative label'), + 'label' => $this->t('Derivative label'), // This setting will be merged in. - 'setting' => 'default', + 'setting' => 'default', ] + $base_plugin_definition, ]; diff --git a/web/core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/mock_block/TypedDataStringBlock.php b/web/core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/mock_block/TypedDataStringBlock.php index 5658cbf42..8ddf23093 100644 --- a/web/core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/mock_block/TypedDataStringBlock.php +++ b/web/core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/mock_block/TypedDataStringBlock.php @@ -7,10 +7,10 @@ use Drupal\Core\Plugin\PluginBase; /** - * Implementation of a String TypedData contextual block plugin used by Plugin - * API context test. + * Implements a String TypedData contextual block plugin. * * @see \Drupal\plugin_test\Plugin\MockBlockManager + * @see \Drupal\KernelTests\Core\Plugin\PluginTestBase */ class TypedDataStringBlock extends PluginBase implements ContextAwarePluginInterface { diff --git a/web/core/modules/system/tests/modules/requirements1_test/requirements1_test.install b/web/core/modules/system/tests/modules/requirements1_test/requirements1_test.install index e8121617a..611d2d49b 100644 --- a/web/core/modules/system/tests/modules/requirements1_test/requirements1_test.install +++ b/web/core/modules/system/tests/modules/requirements1_test/requirements1_test.install @@ -20,5 +20,17 @@ function requirements1_test_requirements($phase) { ]; } + $requirements['requirements1_test_alterable'] = [ + 'title' => t('Requirements 1 Test Alterable'), + 'severity' => REQUIREMENT_ERROR, + 'description' => t('A requirement that will be altered.'), + ]; + + $requirements['requirements1_test_deletable'] = [ + 'title' => t('Requirements 1 Test Deletable'), + 'severity' => REQUIREMENT_INFO, + 'description' => t('A requirement that will be deleted.'), + ]; + return $requirements; } diff --git a/web/core/modules/system/tests/modules/session_test/src/Controller/SessionTestController.php b/web/core/modules/system/tests/modules/session_test/src/Controller/SessionTestController.php index 7acc00dfd..41a964230 100644 --- a/web/core/modules/system/tests/modules/session_test/src/Controller/SessionTestController.php +++ b/web/core/modules/system/tests/modules/session_test/src/Controller/SessionTestController.php @@ -89,8 +89,7 @@ public function set($test_value) { } /** - * Turns off session saving and then tries to save a value - * anyway. + * Turns off session saving and then tries to save a value anyway. * * @param string $test_value * A session value. diff --git a/web/core/modules/system/tests/modules/tabledrag_test/js/tabledrag_test.js b/web/core/modules/system/tests/modules/tabledrag_test/js/tabledrag_test.js index 6eb1d1ebc..668c5ee10 100644 --- a/web/core/modules/system/tests/modules/tabledrag_test/js/tabledrag_test.js +++ b/web/core/modules/system/tests/modules/tabledrag_test/js/tabledrag_test.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal) { Drupal.behaviors.tableDragTest = { attach: function attach(context) { diff --git a/web/core/modules/system/tests/modules/theme_test/src/Theme/HighPriorityThemeNegotiator.php b/web/core/modules/system/tests/modules/theme_test/src/Theme/HighPriorityThemeNegotiator.php index 06cca02af..ce2065358 100644 --- a/web/core/modules/system/tests/modules/theme_test/src/Theme/HighPriorityThemeNegotiator.php +++ b/web/core/modules/system/tests/modules/theme_test/src/Theme/HighPriorityThemeNegotiator.php @@ -21,7 +21,7 @@ public function applies(RouteMatchInterface $route_match) { * {@inheritdoc} */ public function determineActiveTheme(RouteMatchInterface $route_match) { - return 'classy'; + return 'starterkit_theme'; } } diff --git a/web/core/modules/system/tests/modules/theme_test/theme_test.module b/web/core/modules/system/tests/modules/theme_test/theme_test.module index 2e88a4abf..1dafdaba0 100644 --- a/web/core/modules/system/tests/modules/theme_test/theme_test.module +++ b/web/core/modules/system/tests/modules/theme_test/theme_test.module @@ -5,6 +5,7 @@ * Test module. */ +use Drupal\Component\Utility\NestedArray; use Drupal\Core\Extension\Extension; /** @@ -172,3 +173,18 @@ function theme_test_theme_suggestions_node(array $variables) { */ function template_preprocess_theme_test_registered_by_module() { } + +/** + * Implements hook_library_info_alter(). + */ +function theme_test_library_info_alter(array &$libraries, string $extension): void { + // Allow test code to simulate library changes in a particular extension by + // setting a state key in the form `theme_test_library_info_alter $extension`, + // whose values is an array containing everything that should be recursively + // merged into the given extension's library definitions. + $info = \Drupal::state()->get(__FUNCTION__ . " $extension"); + + if (is_array($info)) { + $libraries = NestedArray::mergeDeep($libraries, $info); + } +} diff --git a/web/core/modules/system/tests/modules/token_test/token_test.info.yml b/web/core/modules/system/tests/modules/token_test/token_test.info.yml index 67a433eae..b966049c5 100644 --- a/web/core/modules/system/tests/modules/token_test/token_test.info.yml +++ b/web/core/modules/system/tests/modules/token_test/token_test.info.yml @@ -3,5 +3,5 @@ type: module package: Testing version: VERSION dependencies: - - drupal:user - - drupal:node + - drupal:user + - drupal:node diff --git a/web/core/modules/system/tests/modules/twig_theme_test/src/TwigThemeTestController.php b/web/core/modules/system/tests/modules/twig_theme_test/src/TwigThemeTestController.php index 3311b2c3d..1ef74306b 100644 --- a/web/core/modules/system/tests/modules/twig_theme_test/src/TwigThemeTestController.php +++ b/web/core/modules/system/tests/modules/twig_theme_test/src/TwigThemeTestController.php @@ -111,4 +111,11 @@ public function embedTagRender() { return ['#theme' => 'twig_theme_test_embed_tag']; } + /** + * Renders for testing drupal_dump function. + */ + public function dump() { + return ['#theme' => 'twig_theme_test_dump']; + } + } diff --git a/web/core/modules/system/tests/modules/twig_theme_test/templates/twig_theme_test.attach_library.html.twig b/web/core/modules/system/tests/modules/twig_theme_test/templates/twig_theme_test.attach_library.html.twig index 0784ab918..dceaed846 100644 --- a/web/core/modules/system/tests/modules/twig_theme_test/templates/twig_theme_test.attach_library.html.twig +++ b/web/core/modules/system/tests/modules/twig_theme_test/templates/twig_theme_test.attach_library.html.twig @@ -1 +1 @@ -{{ attach_library('core/ckeditor') }} +{{ attach_library('core/ckeditor5') }} diff --git a/web/core/modules/system/tests/modules/twig_theme_test/twig_theme_test.module b/web/core/modules/system/tests/modules/twig_theme_test/twig_theme_test.module index 31a1a4693..e28769678 100644 --- a/web/core/modules/system/tests/modules/twig_theme_test/twig_theme_test.module +++ b/web/core/modules/system/tests/modules/twig_theme_test/twig_theme_test.module @@ -77,6 +77,10 @@ function twig_theme_test_theme($existing, $type, $theme, $path) { 'variables' => [], 'template' => 'twig_theme_test.embed_tag', ]; + $items['twig_theme_test_dump'] = [ + 'variables' => [], + 'template' => 'twig_theme_test.dump', + ]; return $items; } diff --git a/web/core/modules/system/tests/modules/twig_theme_test/twig_theme_test.routing.yml b/web/core/modules/system/tests/modules/twig_theme_test/twig_theme_test.routing.yml index e671d70fb..1ecab44e1 100644 --- a/web/core/modules/system/tests/modules/twig_theme_test/twig_theme_test.routing.yml +++ b/web/core/modules/system/tests/modules/twig_theme_test/twig_theme_test.routing.yml @@ -76,3 +76,10 @@ twig_theme_test_embed_tag: _controller: '\Drupal\twig_theme_test\TwigThemeTestController::embedTagRender' requirements: _access: 'TRUE' + +twig_theme_test_dump: + path: '/twig-theme-test/dump' + defaults: + _controller: '\Drupal\twig_theme_test\TwigThemeTestController::dump' + requirements: + _access: 'TRUE' diff --git a/web/core/modules/system/tests/modules/update_test_description/update_test_description.install b/web/core/modules/system/tests/modules/update_test_description/update_test_description.install index 1ed00ccad..bbfe494e3 100644 --- a/web/core/modules/system/tests/modules/update_test_description/update_test_description.install +++ b/web/core/modules/system/tests/modules/update_test_description/update_test_description.install @@ -11,9 +11,11 @@ function update_test_description_update_8001() { } +// phpcs:disable Drupal.Commenting.DocComment.ShortSingleLine /** * Update test with multiline description, the quick brown fox jumped over the * lazy dog. */ +// phpcs:enable function update_test_description_update_8002() { } diff --git a/web/core/modules/system/tests/src/Functional/Ajax/FrameworkTest.php b/web/core/modules/system/tests/src/Functional/Ajax/FrameworkTest.php index de95fb576..669037f82 100644 --- a/web/core/modules/system/tests/src/Functional/Ajax/FrameworkTest.php +++ b/web/core/modules/system/tests/src/Functional/Ajax/FrameworkTest.php @@ -4,10 +4,9 @@ use Drupal\Component\Serialization\Json; use Drupal\Core\Ajax\AddCssCommand; +use Drupal\Core\Ajax\AddJsCommand; use Drupal\Core\Ajax\AlertCommand; -use Drupal\Core\Ajax\AppendCommand; use Drupal\Core\Ajax\HtmlCommand; -use Drupal\Core\Ajax\PrependCommand; use Drupal\Core\Ajax\SettingsCommand; use Drupal\Core\Asset\AttachedAssets; use Drupal\Core\EventSubscriber\MainContentViewSubscriber; @@ -61,8 +60,8 @@ public function testOrder() { [$js_assets_header, $js_assets_footer] = $asset_resolver->getJsAssets($assets, FALSE); $js_header_render_array = $js_collection_renderer->render($js_assets_header); $js_footer_render_array = $js_collection_renderer->render($js_assets_footer); - $expected_commands[2] = new PrependCommand('head', $js_header_render_array); - $expected_commands[3] = new AppendCommand('body', $js_footer_render_array); + $expected_commands[2] = new AddJsCommand(array_column($js_header_render_array, '#attributes'), 'head'); + $expected_commands[3] = new AddJsCommand(array_column($js_footer_render_array, '#attributes')); $expected_commands[4] = new HtmlCommand('body', 'Hello, world!'); // Verify AJAX command order — this should always be the order: diff --git a/web/core/modules/system/tests/src/Functional/Batch/PageTest.php b/web/core/modules/system/tests/src/Functional/Batch/PageTest.php index 1d1854dc0..5261d15ae 100644 --- a/web/core/modules/system/tests/src/Functional/Batch/PageTest.php +++ b/web/core/modules/system/tests/src/Functional/Batch/PageTest.php @@ -29,10 +29,10 @@ class PageTest extends BrowserTestBase { public function testBatchProgressPageTheme() { // Make sure that the page which starts the batch (an administrative page) // is using a different theme than would normally be used by the batch API. - $this->container->get('theme_installer')->install(['seven', 'bartik']); + $this->container->get('theme_installer')->install(['claro', 'olivero']); $this->config('system.theme') - ->set('default', 'bartik') - ->set('admin', 'seven') + ->set('default', 'olivero') + ->set('admin', 'claro') ->save(); // Log in as an administrator who can see the administrative theme. @@ -45,7 +45,7 @@ public function testBatchProgressPageTheme() { $this->drupalGet('admin/batch-test/test-theme'); // The stack should contain the name of the theme used on the progress // page. - $this->assertEquals(['seven'], batch_test_stack(), 'A progressive batch correctly uses the theme of the page that started the batch.'); + $this->assertEquals(['claro'], batch_test_stack(), 'A progressive batch correctly uses the theme of the page that started the batch.'); } /** diff --git a/web/core/modules/system/tests/src/Functional/Batch/ProcessingTest.php b/web/core/modules/system/tests/src/Functional/Batch/ProcessingTest.php index 430883e7c..c30fd51ee 100644 --- a/web/core/modules/system/tests/src/Functional/Batch/ProcessingTest.php +++ b/web/core/modules/system/tests/src/Functional/Batch/ProcessingTest.php @@ -22,7 +22,7 @@ class ProcessingTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * Tests batches triggered outside of form submission. diff --git a/web/core/modules/system/tests/src/Functional/Cache/CacheTestBase.php b/web/core/modules/system/tests/src/Functional/Cache/CacheTestBase.php index 08c4db5e8..007ae8736 100644 --- a/web/core/modules/system/tests/src/Functional/Cache/CacheTestBase.php +++ b/web/core/modules/system/tests/src/Functional/Cache/CacheTestBase.php @@ -23,7 +23,7 @@ abstract class CacheTestBase extends BrowserTestBase { * @param $bin * The bin the cache item was stored in. * - * @return + * @return bool * TRUE on pass, FALSE on fail. */ protected function checkCacheExists($cid, $var, $bin = NULL) { diff --git a/web/core/modules/system/tests/src/Functional/Cache/ClearTest.php b/web/core/modules/system/tests/src/Functional/Cache/ClearTest.php index aee7ae674..1b0125d2e 100644 --- a/web/core/modules/system/tests/src/Functional/Cache/ClearTest.php +++ b/web/core/modules/system/tests/src/Functional/Cache/ClearTest.php @@ -17,6 +17,9 @@ class ClearTest extends CacheTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { $this->defaultBin = 'render'; $this->defaultValue = $this->randomMachineName(10); diff --git a/web/core/modules/system/tests/src/Functional/Common/AlterTest.php b/web/core/modules/system/tests/src/Functional/Common/AlterTest.php index 14122c8bc..1c9e7de89 100644 --- a/web/core/modules/system/tests/src/Functional/Common/AlterTest.php +++ b/web/core/modules/system/tests/src/Functional/Common/AlterTest.php @@ -27,10 +27,10 @@ class AlterTest extends BrowserTestBase { * Tests if the theme has been altered. */ public function testDrupalAlter() { - // This test depends on Bartik, so make sure that it is always the current + // This test depends on Olivero, so make sure that it is always the current // active theme. - \Drupal::service('theme_installer')->install(['bartik']); - \Drupal::theme()->setActiveTheme(\Drupal::service('theme.initialization')->initTheme('bartik')); + \Drupal::service('theme_installer')->install(['olivero']); + \Drupal::theme()->setActiveTheme(\Drupal::service('theme.initialization')->initTheme('olivero')); $array = ['foo' => 'bar']; $entity = new \stdClass(); diff --git a/web/core/modules/system/tests/src/Functional/Condition/ConditionFormTest.php b/web/core/modules/system/tests/src/Functional/Condition/ConditionFormTest.php index 2d07e9990..4be4c5baf 100644 --- a/web/core/modules/system/tests/src/Functional/Condition/ConditionFormTest.php +++ b/web/core/modules/system/tests/src/Functional/Condition/ConditionFormTest.php @@ -37,13 +37,21 @@ public function testConfigForm() { $article->save(); $this->drupalGet('condition_test'); - $this->assertSession()->fieldExists('bundles[article]'); - $this->assertSession()->fieldExists('bundles[page]'); - $this->submitForm(['bundles[page]' => 'page', 'bundles[article]' => 'article'], 'Submit'); + $this->assertSession()->fieldExists('entity_bundle[bundles][article]'); + $this->assertSession()->fieldExists('entity_bundle[bundles][page]'); + $this->submitForm(['entity_bundle[bundles][page]' => 'page', 'entity_bundle[bundles][article]' => 'article'], 'Submit'); // @see \Drupal\condition_test\FormController::submitForm() $this->assertSession()->pageTextContains('Bundle: page'); $this->assertSession()->pageTextContains('Bundle: article'); $this->assertSession()->pageTextContains('Executed successfully.'); + + $this->assertSession()->pageTextContains('The current theme is stark'); + /** @var \Drupal\Core\Extension\ThemeInstallerInterface $theme_installer */ + $theme_installer = $this->container->get('theme_installer'); + $theme_installer->install(['olivero']); + $this->drupalGet('condition_test'); + $this->submitForm(['current_theme[theme]' => 'olivero', 'current_theme[negate]' => TRUE], 'Submit'); + $this->assertSession()->pageTextContains('The current theme is not olivero'); } } diff --git a/web/core/modules/system/tests/src/Functional/Database/DatabaseTestBase.php b/web/core/modules/system/tests/src/Functional/Database/DatabaseTestBase.php index 9193ee103..b10bb6f62 100644 --- a/web/core/modules/system/tests/src/Functional/Database/DatabaseTestBase.php +++ b/web/core/modules/system/tests/src/Functional/Database/DatabaseTestBase.php @@ -2,7 +2,8 @@ namespace Drupal\Tests\system\Functional\Database; -use Drupal\KernelTests\Core\Database\DatabaseTestBase as DatabaseKernelTestBase; +use Drupal\Core\Database\Database; +use Drupal\KernelTests\Core\Database\DatabaseTestSchemaDataTrait; use Drupal\Tests\BrowserTestBase; /** @@ -10,6 +11,13 @@ */ abstract class DatabaseTestBase extends BrowserTestBase { + use DatabaseTestSchemaDataTrait; + + /** + * The database connection for testing. + */ + protected $connection; + /** * {@inheritdoc} */ @@ -20,8 +28,8 @@ abstract class DatabaseTestBase extends BrowserTestBase { */ protected function setUp() { parent::setUp(); - - DatabaseKernelTestBase::addSampleData(); + $this->connection = Database::getConnection(); + $this->addSampleData(); } } diff --git a/web/core/modules/system/tests/src/Functional/Datetime/DrupalDateTimeTest.php b/web/core/modules/system/tests/src/Functional/Datetime/DrupalDateTimeTest.php index d2120571a..a319b2131 100644 --- a/web/core/modules/system/tests/src/Functional/Datetime/DrupalDateTimeTest.php +++ b/web/core/modules/system/tests/src/Functional/Datetime/DrupalDateTimeTest.php @@ -31,20 +31,6 @@ protected function setUp(): void { } - /** - * Tests that the AJAX Timezone Callback can deal with various formats. - */ - public function testSystemTimezone() { - $options = [ - 'query' => [ - 'date' => 'Tue+Sep+17+2013+21%3A35%3A31+GMT%2B0100+(BST)#', - ], - ]; - // Query the AJAX Timezone Callback with a long-format date. - $response = $this->drupalGet('system/timezone/BST/3600/1', $options); - $this->assertEquals('"Europe\\/London"', $response, 'Timezone AJAX callback successfully identifies and responds to a long-format date.'); - } - /** * Tests that DrupalDateTime can detect the right timezone to use. * diff --git a/web/core/modules/system/tests/src/Functional/Entity/EntityAddUITest.php b/web/core/modules/system/tests/src/Functional/Entity/EntityAddUITest.php index bab3d7760..3e8670981 100644 --- a/web/core/modules/system/tests/src/Functional/Entity/EntityAddUITest.php +++ b/web/core/modules/system/tests/src/Functional/Entity/EntityAddUITest.php @@ -92,9 +92,19 @@ public function testAddPageWithBundleEntities() { 'label' => 'Test3 label', 'description' => 'My test3 description', ])->save(); + + // Create a bundle that the user is forbidden from creating (always). + EntityTestBundle::create([ + 'id' => 'forbidden_access_bundle', + 'label' => 'Forbidden to create bundle', + 'description' => 'A bundle that can never be created', + ])->save(); + $this->drupalGet('/entity_test_with_bundle/add'); + $this->assertSession()->statusCodeEquals(200); $this->assertSession()->linkExists('Test label'); $this->assertSession()->linkExists('Test2 label'); + $this->assertSession()->linkNotExists('Forbidden to create bundle'); $this->assertSession()->linkNotExists('Test3 label'); $this->clickLink('Test label'); $this->assertSession()->statusCodeEquals(200); @@ -114,6 +124,7 @@ public function testAddPageWithBundleEntities() { // does not have bundle specific permissions. The add bundle message is // present as the user has bundle create permissions. $this->drupalGet('/entity_test_with_bundle/add'); + $this->assertSession()->linkNotExists('Forbidden to create bundle'); $this->assertSession()->linkNotExists('Test label'); $this->assertSession()->linkNotExists('Test2 label'); $this->assertSession()->linkNotExists('Test3 label'); diff --git a/web/core/modules/system/tests/src/Functional/Entity/EntityFormTest.php b/web/core/modules/system/tests/src/Functional/Entity/EntityFormTest.php index a140b8e3a..5c1b02c56 100644 --- a/web/core/modules/system/tests/src/Functional/Entity/EntityFormTest.php +++ b/web/core/modules/system/tests/src/Functional/Entity/EntityFormTest.php @@ -28,6 +28,9 @@ class EntityFormTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); $web_user = $this->drupalCreateUser([ diff --git a/web/core/modules/system/tests/src/Functional/Entity/EntityOperationsTest.php b/web/core/modules/system/tests/src/Functional/Entity/EntityOperationsTest.php index a3d5b2152..866570e64 100644 --- a/web/core/modules/system/tests/src/Functional/Entity/EntityOperationsTest.php +++ b/web/core/modules/system/tests/src/Functional/Entity/EntityOperationsTest.php @@ -24,6 +24,9 @@ class EntityOperationsTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/system/tests/src/Functional/Entity/EntityRevisionsTest.php b/web/core/modules/system/tests/src/Functional/Entity/EntityRevisionsTest.php index ed0e74d31..099ae3767 100644 --- a/web/core/modules/system/tests/src/Functional/Entity/EntityRevisionsTest.php +++ b/web/core/modules/system/tests/src/Functional/Entity/EntityRevisionsTest.php @@ -10,8 +10,7 @@ use Drupal\Tests\BrowserTestBase; /** - * Create a entity with revisions and test viewing, saving, reverting, and - * deleting revisions. + * Tests modifying an entity with revisions. * * @group Entity */ @@ -36,6 +35,9 @@ class EntityRevisionsTest extends BrowserTestBase { */ protected $webUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/system/tests/src/Functional/Entity/EntityTranslationFormTest.php b/web/core/modules/system/tests/src/Functional/Entity/EntityTranslationFormTest.php index 1f5cb69bd..b8efbea1c 100644 --- a/web/core/modules/system/tests/src/Functional/Entity/EntityTranslationFormTest.php +++ b/web/core/modules/system/tests/src/Functional/Entity/EntityTranslationFormTest.php @@ -29,6 +29,9 @@ class EntityTranslationFormTest extends BrowserTestBase { protected $langcodes; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); // Enable translations for the test entity type. diff --git a/web/core/modules/system/tests/src/Functional/Entity/EntityViewControllerTest.php b/web/core/modules/system/tests/src/Functional/Entity/EntityViewControllerTest.php index 8ec23e044..6c0f802f6 100644 --- a/web/core/modules/system/tests/src/Functional/Entity/EntityViewControllerTest.php +++ b/web/core/modules/system/tests/src/Functional/Entity/EntityViewControllerTest.php @@ -22,7 +22,7 @@ class EntityViewControllerTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * Array of test entities. @@ -31,6 +31,9 @@ class EntityViewControllerTest extends BrowserTestBase { */ protected $entities = []; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); // Create some dummy entity_test entities. @@ -104,22 +107,6 @@ public function testFieldItemAttributes() { // Browse to the entity and verify that the attribute is rendered in the // field item HTML markup. $this->drupalGet('entity_test/' . $entity->id()); - $this->assertSession()->elementTextEquals('xpath', '//div[@data-field-item-attr="foobar"]/p', $test_value); - - // Enable the RDF module to ensure that two modules can add attributes to - // the same field item. - \Drupal::service('module_installer')->install(['rdf']); - $this->resetAll(); - - // Set an RDF mapping for the field_test_text field. This RDF mapping will - // be turned into RDFa attributes in the field item output. - $mapping = rdf_get_mapping('entity_test', 'entity_test'); - $mapping->setFieldMapping('field_test_text', [ - 'properties' => ['schema:text'], - ])->save(); - // Browse to the entity and verify that the attributes from both modules - // are rendered in the field item HTML markup. - $this->drupalGet('entity_test/' . $entity->id()); $this->assertSession()->elementTextEquals('xpath', '//div[@data-field-item-attr="foobar" and @property="schema:text"]/p', $test_value); } diff --git a/web/core/modules/system/tests/src/Functional/Entity/Traits/EntityDefinitionTestTrait.php b/web/core/modules/system/tests/src/Functional/Entity/Traits/EntityDefinitionTestTrait.php index 206bf394b..fb8912f07 100644 --- a/web/core/modules/system/tests/src/Functional/Entity/Traits/EntityDefinitionTestTrait.php +++ b/web/core/modules/system/tests/src/Functional/Entity/Traits/EntityDefinitionTestTrait.php @@ -200,8 +200,7 @@ protected function updateEntityTypeToNotTranslatable($perform_update = FALSE) { } /** - * Updates the 'entity_test_update' entity type to revisionable and - * translatable. + * Updates the test entity type to be revisionable and translatable. * * @param bool $perform_update * (optional) Whether the change should be performed by the entity diff --git a/web/core/modules/system/tests/src/Functional/File/ConfigTest.php b/web/core/modules/system/tests/src/Functional/File/ConfigTest.php index 3fb94889f..b63f89d53 100644 --- a/web/core/modules/system/tests/src/Functional/File/ConfigTest.php +++ b/web/core/modules/system/tests/src/Functional/File/ConfigTest.php @@ -16,6 +16,9 @@ class ConfigTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); $this->drupalLogin($this->drupalCreateUser([ diff --git a/web/core/modules/system/tests/src/Functional/FileTransfer/FileTransferTest.php b/web/core/modules/system/tests/src/Functional/FileTransfer/FileTransferTest.php index ec2c52259..998963854 100644 --- a/web/core/modules/system/tests/src/Functional/FileTransfer/FileTransferTest.php +++ b/web/core/modules/system/tests/src/Functional/FileTransfer/FileTransferTest.php @@ -7,8 +7,7 @@ use Drupal\Tests\BrowserTestBase; /** - * Tests that the jail is respected and that protocols using recursive file move - * operations work. + * Tests recursive file copy operations with the file transfer jail. * * @group FileTransfer */ @@ -28,6 +27,9 @@ class FileTransferTest extends BrowserTestBase { */ protected $testConnection; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); $this->testConnection = TestFileTransfer::factory($this->root, ['hostname' => $this->hostname, 'username' => $this->username, 'password' => $this->password, 'port' => $this->port]); diff --git a/web/core/modules/system/tests/src/Functional/FileTransfer/TestFileTransfer.php b/web/core/modules/system/tests/src/Functional/FileTransfer/TestFileTransfer.php index 1860812ba..2794ea98b 100644 --- a/web/core/modules/system/tests/src/Functional/FileTransfer/TestFileTransfer.php +++ b/web/core/modules/system/tests/src/Functional/FileTransfer/TestFileTransfer.php @@ -45,8 +45,9 @@ public static function factory($jail, $settings) { } public function connect() { - $this->connection = new MockTestConnection(); - $this->connection->connectionString = 'test://' . urlencode($this->username) . ':' . urlencode($this->password) . "@$this->host:$this->port/"; + $connection = new MockTestConnection(); + $connection->connectionString = 'test://' . urlencode($this->username) . ':' . urlencode($this->password) . "@$this->host:$this->port/"; + $this->connection = $connection; } public function copyFileJailed($source, $destination) { diff --git a/web/core/modules/system/tests/src/Functional/Form/ArbitraryRebuildTest.php b/web/core/modules/system/tests/src/Functional/Form/ArbitraryRebuildTest.php index 9d060f84f..cd3fa57e3 100644 --- a/web/core/modules/system/tests/src/Functional/Form/ArbitraryRebuildTest.php +++ b/web/core/modules/system/tests/src/Functional/Form/ArbitraryRebuildTest.php @@ -25,6 +25,9 @@ class ArbitraryRebuildTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/system/tests/src/Functional/Form/CheckboxTest.php b/web/core/modules/system/tests/src/Functional/Form/CheckboxTest.php index c28112383..735417ffe 100644 --- a/web/core/modules/system/tests/src/Functional/Form/CheckboxTest.php +++ b/web/core/modules/system/tests/src/Functional/Form/CheckboxTest.php @@ -6,8 +6,9 @@ use Drupal\Tests\BrowserTestBase; /** - * Tests form API checkbox handling of various combinations of #default_value - * and #return_value. + * Tests the form API checkbox element. + * + * Various combinations of #default_value and #return_value are used. * * @group Form */ diff --git a/web/core/modules/system/tests/src/Functional/Form/ElementTest.php b/web/core/modules/system/tests/src/Functional/Form/ElementTest.php index f943dfa4c..3513d7deb 100644 --- a/web/core/modules/system/tests/src/Functional/Form/ElementTest.php +++ b/web/core/modules/system/tests/src/Functional/Form/ElementTest.php @@ -21,7 +21,7 @@ class ElementTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * Tests placeholder text for elements that support placeholders. diff --git a/web/core/modules/system/tests/src/Functional/Form/ElementsLabelsTest.php b/web/core/modules/system/tests/src/Functional/Form/ElementsLabelsTest.php index 21771b872..fd462b423 100644 --- a/web/core/modules/system/tests/src/Functional/Form/ElementsLabelsTest.php +++ b/web/core/modules/system/tests/src/Functional/Form/ElementsLabelsTest.php @@ -25,8 +25,13 @@ class ElementsLabelsTest extends BrowserTestBase { protected $defaultTheme = 'stark'; /** - * Tests form elements, labels, title attributes and required marks output - * correctly and have the correct label option class if needed. + * Tests form element rendering. + * + * This method provides test coverage for: + * - Form label rendering with different form elements. + * - Rendering of the "Required" field marker. + * - Prefix and suffix render element placement. + * - Form element title attributes. */ public function testFormLabels() { $this->drupalGet('form_test/form-labels'); diff --git a/web/core/modules/system/tests/src/Functional/Form/ElementsTableSelectTest.php b/web/core/modules/system/tests/src/Functional/Form/ElementsTableSelectTest.php index 6ca381f56..bb6fa38ec 100644 --- a/web/core/modules/system/tests/src/Functional/Form/ElementsTableSelectTest.php +++ b/web/core/modules/system/tests/src/Functional/Form/ElementsTableSelectTest.php @@ -150,8 +150,7 @@ public function testAdvancedSelect() { } /** - * Tests the whether the option checker gives an error on invalid - * tableselect values for checkboxes. + * Tests error handling for invalid tableselect values with checkboxes. */ public function testMultipleTrueOptionchecker() { @@ -174,8 +173,7 @@ public function testMultipleTrueOptionchecker() { } /** - * Tests the whether the option checker gives an error on invalid - * tableselect values for radios. + * Tests error handling for invalid tableselect values with radio buttons. */ public function testMultipleFalseOptionchecker() { diff --git a/web/core/modules/system/tests/src/Functional/Form/ElementsVerticalTabsTest.php b/web/core/modules/system/tests/src/Functional/Form/ElementsVerticalTabsTest.php index 9beabcaf6..a52f57696 100644 --- a/web/core/modules/system/tests/src/Functional/Form/ElementsVerticalTabsTest.php +++ b/web/core/modules/system/tests/src/Functional/Form/ElementsVerticalTabsTest.php @@ -39,6 +39,9 @@ class ElementsVerticalTabsTest extends BrowserTestBase { */ protected $webUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/system/tests/src/Functional/Form/FormTest.php b/web/core/modules/system/tests/src/Functional/Form/FormTest.php index 505bc76db..5599bf9df 100644 --- a/web/core/modules/system/tests/src/Functional/Form/FormTest.php +++ b/web/core/modules/system/tests/src/Functional/Form/FormTest.php @@ -31,8 +31,11 @@ class FormTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -308,7 +311,7 @@ public function testInputWithInvalidToken() { $this->assertSession()->pageTextContains('The form has become outdated.'); $this->assertSession()->fieldValueEquals('integer_step', 5); - // Check a form with a Url field + // Check a form with a URL field $this->drupalGet(Url::fromRoute('form_test.url')); $this->assertSession() ->elementExists('css', 'input[name="form_token"]') @@ -416,27 +419,27 @@ public function testSelect() { // Posting without any values should throw validation errors. $this->submitForm([], 'Submit'); $no_errors = [ - 'select', - 'select_required', - 'select_optional', - 'empty_value', - 'empty_value_one', - 'no_default_optional', - 'no_default_empty_option_optional', - 'no_default_empty_value_optional', - 'multiple', - 'multiple_no_default', + 'select', + 'select_required', + 'select_optional', + 'empty_value', + 'empty_value_one', + 'no_default_optional', + 'no_default_empty_option_optional', + 'no_default_empty_value_optional', + 'multiple', + 'multiple_no_default', ]; foreach ($no_errors as $key) { $this->assertSession()->pageTextNotContains($form[$key]['#title'] . ' field is required.'); } $expected_errors = [ - 'no_default', - 'no_default_empty_option', - 'no_default_empty_value', - 'no_default_empty_value_one', - 'multiple_no_default_required', + 'no_default', + 'no_default_empty_option', + 'no_default_empty_value', + 'no_default_empty_value_one', + 'multiple_no_default_required', ]; foreach ($expected_errors as $key) { $this->assertSession()->pageTextContains($form[$key]['#title'] . ' field is required.'); @@ -714,6 +717,7 @@ public function testColorValidation() { } // Tests invalid values are rejected. + // cspell:ignore fffffg $values = ['#0008', '#1234', '#fffffg', '#abcdef22', '17', '#uaa']; foreach ($values as $input) { $edit = [ diff --git a/web/core/modules/system/tests/src/Functional/Form/LanguageSelectElementTest.php b/web/core/modules/system/tests/src/Functional/Form/LanguageSelectElementTest.php index fa6239924..26fe1df96 100644 --- a/web/core/modules/system/tests/src/Functional/Form/LanguageSelectElementTest.php +++ b/web/core/modules/system/tests/src/Functional/Form/LanguageSelectElementTest.php @@ -8,8 +8,7 @@ use Drupal\Tests\BrowserTestBase; /** - * Tests that the language select form element prints and submits the right - * options. + * Tests the language selection form element. * * @group Form */ @@ -47,10 +46,10 @@ public function testLanguageSelectElementOptions() { $this->drupalGet('form-test/language_select'); // Check that the language fields were rendered on the page. $ids = [ - 'edit-languages-all' => LanguageInterface::STATE_ALL, - 'edit-languages-configurable' => LanguageInterface::STATE_CONFIGURABLE, - 'edit-languages-locked' => LanguageInterface::STATE_LOCKED, - 'edit-languages-config-and-locked' => LanguageInterface::STATE_CONFIGURABLE | LanguageInterface::STATE_LOCKED, + 'edit-languages-all' => LanguageInterface::STATE_ALL, + 'edit-languages-configurable' => LanguageInterface::STATE_CONFIGURABLE, + 'edit-languages-locked' => LanguageInterface::STATE_LOCKED, + 'edit-languages-config-and-locked' => LanguageInterface::STATE_CONFIGURABLE | LanguageInterface::STATE_LOCKED, ]; foreach ($ids as $id => $flags) { $this->assertSession()->fieldExists($id); diff --git a/web/core/modules/system/tests/src/Functional/Form/RebuildTest.php b/web/core/modules/system/tests/src/Functional/Form/RebuildTest.php index 061eb2c3f..e98ec55d0 100644 --- a/web/core/modules/system/tests/src/Functional/Form/RebuildTest.php +++ b/web/core/modules/system/tests/src/Functional/Form/RebuildTest.php @@ -30,6 +30,9 @@ class RebuildTest extends BrowserTestBase { */ protected $webUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/system/tests/src/Functional/Form/StateValuesCleanAdvancedTest.php b/web/core/modules/system/tests/src/Functional/Form/StateValuesCleanAdvancedTest.php index b6aea0ead..90e24029f 100644 --- a/web/core/modules/system/tests/src/Functional/Form/StateValuesCleanAdvancedTest.php +++ b/web/core/modules/system/tests/src/Functional/Form/StateValuesCleanAdvancedTest.php @@ -6,9 +6,7 @@ use Drupal\Tests\TestFileCreationTrait; /** - * Tests proper removal of submitted form values using - * \Drupal\Core\Form\FormState::cleanValues() when having forms with elements - * containing buttons like "managed_file". + * Tests the removal of internal Form API elements from submitted form values. * * @group Form */ diff --git a/web/core/modules/system/tests/src/Functional/Form/StateValuesCleanTest.php b/web/core/modules/system/tests/src/Functional/Form/StateValuesCleanTest.php index 473f98ee5..4a2fc2a6a 100644 --- a/web/core/modules/system/tests/src/Functional/Form/StateValuesCleanTest.php +++ b/web/core/modules/system/tests/src/Functional/Form/StateValuesCleanTest.php @@ -7,8 +7,9 @@ use Drupal\Tests\BrowserTestBase; /** - * Tests proper removal of submitted form values using - * \Drupal\Core\Form\FormState::cleanValues(). + * Tests the proper removal of submitted form values. + * + * @see \Drupal\Core\Form\FormState::cleanValues() * * @group Form */ diff --git a/web/core/modules/system/tests/src/Functional/Form/StorageTest.php b/web/core/modules/system/tests/src/Functional/Form/StorageTest.php index 385ca2039..2d3199f48 100644 --- a/web/core/modules/system/tests/src/Functional/Form/StorageTest.php +++ b/web/core/modules/system/tests/src/Functional/Form/StorageTest.php @@ -7,8 +7,7 @@ use Drupal\Tests\BrowserTestBase; /** - * Tests a multistep form using form storage and makes sure validation and - * caching works right. + * Tests a multistep form using form storage. * * The tested form puts data into the storage during the initial form * construction. These tests verify that there are no duplicate form @@ -147,8 +146,7 @@ public function testCachedFormStorageValidation() { } /** - * Verifies that form build-id is regenerated when loading an immutable form - * from the cache. + * Tests form build ID regeneration when loading a cached immutable form. */ public function testImmutableForm() { // Request the form with 'cache' query parameter to enable form caching. diff --git a/web/core/modules/system/tests/src/Functional/Mail/HtmlToTextTest.php b/web/core/modules/system/tests/src/Functional/Mail/HtmlToTextTest.php index ecb9e2605..892761da6 100644 --- a/web/core/modules/system/tests/src/Functional/Mail/HtmlToTextTest.php +++ b/web/core/modules/system/tests/src/Functional/Mail/HtmlToTextTest.php @@ -25,7 +25,7 @@ class HtmlToTextTest extends BrowserTestBase { * @param $text * The text string to convert. * - * @return + * @return string * An HTML representation of the text string that, when displayed in a * browser, represents the PHP source code equivalent of $text. */ @@ -194,7 +194,7 @@ public function testDrupalHtmlToTextArgs() { /** * Tests that whitespace is collapsed. */ - public function testDrupalHtmltoTextCollapsesWhitespace() { + public function testDrupalHtmlToTextCollapsesWhitespace() { $input = "

                                              Drupal Drupal\n\nDrupal

                                              Drupal  Drupal\n\nDrupal
                                              Drupal Drupal\n\nDrupal

                                              "; // @todo The whitespace should be collapsed. $collapsed = "Drupal Drupal\n\nDrupalDrupal Drupal\n\nDrupalDrupal Drupal\n\nDrupal\n\n"; @@ -207,8 +207,7 @@ public function testDrupalHtmltoTextCollapsesWhitespace() { } /** - * Tests that text separated by block-level tags in HTML get separated by - * (at least) a newline in the plaintext version. + * Tests the conversion of block-level HTML tags to plaintext with newlines. */ public function testDrupalHtmlToTextBlockTagToNewline() { $input = <<<'EOT' @@ -298,15 +297,14 @@ public function testFootnoteReferences() { } /** - * Tests that combinations of paragraph breaks, line breaks, linefeeds, - * and spaces are properly handled. + * Tests the plaintext conversion of different whitespace combinations. */ public function testDrupalHtmlToTextParagraphs() { $tests = []; $tests[] = [ - 'html' => "

                                              line 1
                                              \nline 2
                                              line 3\n
                                              line 4

                                              paragraph

                                              ", + 'html' => "

                                              line 1
                                              \nline 2
                                              line 3\n
                                              line 4

                                              paragraph

                                              ", // @todo Trailing line breaks should be trimmed. - 'text' => "line 1\nline 2\nline 3\nline 4\n\nparagraph\n\n", + 'text' => "line 1\nline 2\nline 3\nline 4\n\nparagraph\n\n", ]; $tests[] = [ 'html' => "

                                              line 1
                                              line 2

                                              line 4
                                              line 5

                                              0

                                              ", @@ -352,7 +350,7 @@ public function testVeryLongLineWrap() { * @see \Drupal\Core\Mail\MailFormatHelper::wrapMail() */ public function testRemoveTrailingWhitespace() { - $text = "Hi there! \nHerp Derp"; + $text = "Hi there! \nEarth"; $mail_lines = explode("\n", MailFormatHelper::wrapMail($text)); $this->assertNotEquals(" ", substr($mail_lines[0], -1), 'Trailing whitespace removed.'); } @@ -366,11 +364,11 @@ public function testRemoveTrailingWhitespace() { * @see \Drupal\Core\Mail\MailFormatHelper::wrapMail() */ public function testUsenetSignature() { - $text = "Hi there!\n-- \nHerp Derp"; + $text = "Hi there!\n-- \nEarth"; $mail_lines = explode("\n", MailFormatHelper::wrapMail($text)); $this->assertEquals("-- ", $mail_lines[1], 'Trailing whitespace not removed for dash-dash-space signatures.'); - $text = "Hi there!\n-- \nHerp Derp"; + $text = "Hi there!\n-- \nEarth"; $mail_lines = explode("\n", MailFormatHelper::wrapMail($text)); $this->assertEquals("--", $mail_lines[1], 'Trailing whitespace removed for incorrect dash-dash-space signatures.'); } diff --git a/web/core/modules/system/tests/src/Functional/Menu/BreadcrumbFrontCacheContextsTest.php b/web/core/modules/system/tests/src/Functional/Menu/BreadcrumbFrontCacheContextsTest.php index c553381e5..51c9835ad 100644 --- a/web/core/modules/system/tests/src/Functional/Menu/BreadcrumbFrontCacheContextsTest.php +++ b/web/core/modules/system/tests/src/Functional/Menu/BreadcrumbFrontCacheContextsTest.php @@ -28,7 +28,7 @@ class BreadcrumbFrontCacheContextsTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * A test node with path alias. diff --git a/web/core/modules/system/tests/src/Functional/Menu/BreadcrumbTest.php b/web/core/modules/system/tests/src/Functional/Menu/BreadcrumbTest.php index 4a7d095a6..bd918db59 100644 --- a/web/core/modules/system/tests/src/Functional/Menu/BreadcrumbTest.php +++ b/web/core/modules/system/tests/src/Functional/Menu/BreadcrumbTest.php @@ -46,6 +46,9 @@ class BreadcrumbTest extends BrowserTestBase { */ protected $profile = 'standard'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/system/tests/src/Functional/Menu/LocalTasksTest.php b/web/core/modules/system/tests/src/Functional/Menu/LocalTasksTest.php index dde5d52cc..c29438b2f 100644 --- a/web/core/modules/system/tests/src/Functional/Menu/LocalTasksTest.php +++ b/web/core/modules/system/tests/src/Functional/Menu/LocalTasksTest.php @@ -23,7 +23,7 @@ class LocalTasksTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * The local tasks block under testing. diff --git a/web/core/modules/system/tests/src/Functional/Menu/MenuRouterTest.php b/web/core/modules/system/tests/src/Functional/Menu/MenuRouterTest.php index 2208cf5b1..446ba5111 100644 --- a/web/core/modules/system/tests/src/Functional/Menu/MenuRouterTest.php +++ b/web/core/modules/system/tests/src/Functional/Menu/MenuRouterTest.php @@ -31,6 +31,9 @@ class MenuRouterTest extends BrowserTestBase { */ protected $adminTheme; + /** + * {@inheritdoc} + */ protected function setUp(): void { // Enable dummy module that implements hook_menu. parent::setUp(); @@ -221,8 +224,10 @@ public function testMaintenanceModeLoginPaths() { } /** - * Tests that an authenticated user hitting 'user/login' gets redirected to - * 'user' and 'user/register' gets redirected to the user edit page. + * Tests authenticated user login redirects. + * + * An authenticated user hitting 'user/login' should be redirected to 'user', + * and 'user/register' should be redirected to the user edit page. */ public function testAuthUserUserLogin() { $web_user = $this->drupalCreateUser([]); @@ -241,8 +246,8 @@ public function testAuthUserUserLogin() { * Tests theme integration. */ public function testThemeIntegration() { - $this->defaultTheme = 'bartik'; - $this->adminTheme = 'seven'; + $this->defaultTheme = 'olivero'; + $this->adminTheme = 'claro'; /** @var \Drupal\Core\Extension\ThemeInstallerInterface $theme_installer */ $theme_installer = $this->container->get('theme_installer'); @@ -264,13 +269,12 @@ public function testThemeIntegration() { } /** - * Tests the theme negotiation when it is set to use an administrative - * theme. + * Tests theme negotiation for an administrative theme. */ protected function doTestThemeCallbackAdministrative() { $this->drupalGet('menu-test/theme-callback/use-admin-theme'); - $this->assertSession()->pageTextContains('Active theme: seven. Actual theme: seven.'); - $this->assertSession()->responseContains('seven/css/base/elements.css'); + $this->assertSession()->pageTextContains('Active theme: claro. Actual theme: claro.'); + $this->assertSession()->responseContains('claro/css/base/elements.css'); } /** @@ -283,15 +287,15 @@ protected function doTestThemeCallbackMaintenanceMode() { // we expect the theme callback system to be bypassed entirely. $this->drupalGet('menu-test/theme-callback/use-admin-theme'); // Check that the maintenance theme's CSS appears on the page. - $this->assertSession()->responseContains('bartik/css/base/elements.css'); + $this->assertSession()->responseContains('olivero/css/base/base.css'); // An administrator, however, should continue to see the requested theme. $admin_user = $this->drupalCreateUser(['access site in maintenance mode']); $this->drupalLogin($admin_user); $this->drupalGet('menu-test/theme-callback/use-admin-theme'); - $this->assertSession()->pageTextContains('Active theme: seven. Actual theme: seven.'); + $this->assertSession()->pageTextContains('Active theme: claro. Actual theme: claro.'); // Check that the administrative theme's CSS appears on the page. - $this->assertSession()->responseContains('seven/css/base/elements.css'); + $this->assertSession()->responseContains('claro/css/base/elements.css'); $this->container->get('state')->set('system.maintenance_mode', FALSE); } @@ -302,9 +306,9 @@ protected function doTestThemeCallbackMaintenanceMode() { protected function doTestThemeCallbackOptionalTheme() { // Request a theme that is not installed. $this->drupalGet('menu-test/theme-callback/use-test-theme'); - $this->assertSession()->pageTextContains('Active theme: bartik. Actual theme: bartik.'); + $this->assertSession()->pageTextContains('Active theme: olivero. Actual theme: olivero.'); // Check that the default theme's CSS appears on the page. - $this->assertSession()->responseContains('bartik/css/base/elements.css'); + $this->assertSession()->responseContains('olivero/css/base/base.css'); // Now install the theme and request it again. /** @var \Drupal\Core\Extension\ThemeInstallerInterface $theme_installer */ @@ -324,9 +328,9 @@ protected function doTestThemeCallbackOptionalTheme() { */ protected function doTestThemeCallbackFakeTheme() { $this->drupalGet('menu-test/theme-callback/use-fake-theme'); - $this->assertSession()->pageTextContains('Active theme: bartik. Actual theme: bartik.'); + $this->assertSession()->pageTextContains('Active theme: olivero. Actual theme: olivero.'); // Check that the default theme's CSS appears on the page. - $this->assertSession()->responseContains('bartik/css/base/elements.css'); + $this->assertSession()->responseContains('olivero/css/base/base.css'); } /** @@ -334,9 +338,9 @@ protected function doTestThemeCallbackFakeTheme() { */ protected function doTestThemeCallbackNoThemeRequested() { $this->drupalGet('menu-test/theme-callback/no-theme-requested'); - $this->assertSession()->pageTextContains('Active theme: bartik. Actual theme: bartik.'); + $this->assertSession()->pageTextContains('Active theme: olivero. Actual theme: olivero.'); // Check that the default theme's CSS appears on the page. - $this->assertSession()->responseContains('bartik/css/base/elements.css'); + $this->assertSession()->responseContains('olivero/css/base/base.css'); } } diff --git a/web/core/modules/system/tests/src/Functional/Module/DependencyTest.php b/web/core/modules/system/tests/src/Functional/Module/DependencyTest.php index ebf0b7dd8..78f659744 100644 --- a/web/core/modules/system/tests/src/Functional/Module/DependencyTest.php +++ b/web/core/modules/system/tests/src/Functional/Module/DependencyTest.php @@ -73,8 +73,7 @@ public function testMissingModules() { } /** - * Tests enabling a module that depends on an incompatible version of a - * module. + * Tests enabling a module with an incompatible dependency version. */ public function testIncompatibleModuleVersionDependency() { // Test that the system_incompatible_module_version_dependencies_test is @@ -112,16 +111,36 @@ public function testNoVersionInfo() { mkdir($path, 0777, TRUE); file_put_contents("$path/system_no_module_version_dependency_test.info.yml", Yaml::encode($info)); + // Include a version in the dependency definition, to test the 'incompatible + // with version' message when no version is given in the required module. $info = [ 'type' => 'module', 'core_version_requirement' => '*', 'name' => 'System no module version test', - 'dependencies' => ['system_no_module_version_dependency_test'], + 'dependencies' => ['system_no_module_version_dependency_test(>1.x)'], ]; $path = $this->siteDirectory . '/modules/system_no_module_version_test'; mkdir($path, 0777, TRUE); file_put_contents("$path/system_no_module_version_test.info.yml", Yaml::encode($info)); + // Ensure that the module list page is displayed without errors. + $this->drupalGet('admin/modules'); + $this->assertSession()->pageTextContains('System no module version test'); + $this->assertSession()->pageTextContains('System no module version dependency test (>1.x) (incompatible with version'); + $this->assertSession()->fieldEnabled('modules[system_no_module_version_dependency_test][enable]'); + $this->assertSession()->fieldDisabled('modules[system_no_module_version_test][enable]'); + + // Remove the version requirement from the the dependency definition + $info = [ + 'type' => 'module', + 'core_version_requirement' => '*', + 'name' => 'System no module version test', + 'dependencies' => ['system_no_module_version_dependency_test'], + ]; + + $path = $this->siteDirectory . '/modules/system_no_module_version_test'; + file_put_contents("$path/system_no_module_version_test.info.yml", Yaml::encode($info)); + $this->drupalGet('admin/modules'); $this->assertSession()->pageTextContains('System no module version dependency test'); $this->assertSession()->pageTextContains('System no module version test'); @@ -171,6 +190,21 @@ public function testCoreCompatibility() { $this->assertModules(['common_test', 'system_core_semver_test'], TRUE); } + /** + * Tests the dependency checks when core version contains '8.x' within it. + */ + public function testCoreVersionContains8X() { + // Enable the helper module that alters the version and dependencies. + \Drupal::service('module_installer')->install(['dependency_version_test']); + + // Check that the above module installed OK. + $this->drupalGet('admin/modules'); + $this->assertModules(['dependency_version_test'], TRUE); + + // Check that test_module dependencies are met and the box is not greyed. + $this->assertSession()->fieldEnabled('modules[test_module][enable]'); + } + /** * Tests enabling a module that depends on a module which fails hook_requirements(). */ diff --git a/web/core/modules/system/tests/src/Functional/Module/ModuleTestBase.php b/web/core/modules/system/tests/src/Functional/Module/ModuleTestBase.php index 9917e6333..4f4d3e769 100644 --- a/web/core/modules/system/tests/src/Functional/Module/ModuleTestBase.php +++ b/web/core/modules/system/tests/src/Functional/Module/ModuleTestBase.php @@ -24,6 +24,9 @@ abstract class ModuleTestBase extends BrowserTestBase { protected $adminUser; + /** + * {@inheritdoc} + */ protected function setUp() { parent::setUp(); diff --git a/web/core/modules/system/tests/src/Functional/Module/UninstallTest.php b/web/core/modules/system/tests/src/Functional/Module/UninstallTest.php index a5ecb9c24..1fb8c5234 100644 --- a/web/core/modules/system/tests/src/Functional/Module/UninstallTest.php +++ b/web/core/modules/system/tests/src/Functional/Module/UninstallTest.php @@ -82,6 +82,20 @@ public function testUninstallPage() { $this->assertSession()->elementExists('xpath', "//a[contains(@aria-label, 'View information on the Obsolete status of the module System obsolete status test')]"); $this->assertSession()->elementExists('xpath', "//a[contains(@href, 'https://example.com/obsolete')]"); + $form = $this->assertSession()->elementExists('xpath', "//form[@id='system-modules-uninstall']"); + $form_html = $form->getOuterHtml(); + + // Select the first stable module on the uninstall list. + $module_stable = $this->assertSession()->elementExists('xpath', "//label[contains(@class, 'module-name') and not(./a[contains(@class, 'module-link--non-stable')])]")->getOuterHtml(); + + // Select the unstable modules (deprecated, and obsolete). + $module_unstable_1 = $this->assertSession()->elementExists('xpath', "//label[./a[contains(@aria-label, 'View information on the Deprecated status of the module Deprecated module')]]")->getOuterHtml(); + $module_unstable_2 = $this->assertSession()->elementExists('xpath', "//label[./a[contains(@aria-label, 'View information on the Obsolete status of the module System obsolete status test')]]")->getOuterHtml(); + + // Check that all unstable modules appear before the first stable module. + $this->assertGreaterThan(strpos($form_html, $module_unstable_1), strpos($form_html, $module_stable)); + $this->assertGreaterThan(strpos($form_html, $module_unstable_2), strpos($form_html, $module_stable)); + foreach (\Drupal::service('extension.list.module')->getAllInstalledInfo() as $module => $info) { $field_name = "uninstall[$module]"; if (!empty($info['required'])) { diff --git a/web/core/modules/system/tests/src/Functional/Pager/PagerTest.php b/web/core/modules/system/tests/src/Functional/Pager/PagerTest.php index d6f09f217..02f6263d5 100644 --- a/web/core/modules/system/tests/src/Functional/Pager/PagerTest.php +++ b/web/core/modules/system/tests/src/Functional/Pager/PagerTest.php @@ -36,6 +36,9 @@ class PagerTest extends BrowserTestBase { protected $profile = 'testing'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -79,8 +82,7 @@ public function testActiveClass() { } /** - * Tests proper functioning of the query parameters and the pager cache - * context. + * Tests pager query parameters and cache context. */ public function testPagerQueryParametersAndCacheContext() { // First page. diff --git a/web/core/modules/system/tests/src/Functional/ParamConverter/UpcastingTest.php b/web/core/modules/system/tests/src/Functional/ParamConverter/UpcastingTest.php index 76e7e39fe..c5b383e8d 100644 --- a/web/core/modules/system/tests/src/Functional/ParamConverter/UpcastingTest.php +++ b/web/core/modules/system/tests/src/Functional/ParamConverter/UpcastingTest.php @@ -6,7 +6,7 @@ use Drupal\language\Entity\ConfigurableLanguage; /** - * Tests upcasting of url arguments to entities. + * Tests upcasting of URL arguments to entities. * * @group ParamConverter */ diff --git a/web/core/modules/system/tests/src/Functional/Render/AjaxPageStateTest.php b/web/core/modules/system/tests/src/Functional/Render/AjaxPageStateTest.php index d13f90f9c..005769d38 100644 --- a/web/core/modules/system/tests/src/Functional/Render/AjaxPageStateTest.php +++ b/web/core/modules/system/tests/src/Functional/Render/AjaxPageStateTest.php @@ -30,6 +30,9 @@ class AjaxPageStateTest extends BrowserTestBase { */ protected $adminUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); // Create an administrator with all permissions. diff --git a/web/core/modules/system/tests/src/Functional/Render/HtmlResponseAttachmentsTest.php b/web/core/modules/system/tests/src/Functional/Render/HtmlResponseAttachmentsTest.php index b95d17ead..885443ec1 100644 --- a/web/core/modules/system/tests/src/Functional/Render/HtmlResponseAttachmentsTest.php +++ b/web/core/modules/system/tests/src/Functional/Render/HtmlResponseAttachmentsTest.php @@ -63,13 +63,14 @@ public function testAttachments() { // Test ['#attached']['html_head_link'] when outputted as HTTP header. $this->drupalGet('/render_attached_test/html_header_link'); $expected_link_headers = [ - '; rel="alternate"', + '&baz=false>; rel="alternate"', '; hreflang="nl"; rel="alternate"', '; hreflang="de"; rel="alternate"', ]; $this->assertEquals($expected_link_headers, $this->getSession()->getResponseHeaders()['Link']); - // Check that duplicate alternate URLs with different hreflangs are allowed. + // Check that duplicate alternate URLs with different hreflang attributes + // are allowed. $this->assertSession()->elementsCount('xpath', '//head/link[@rel="alternate"][@href="/foo/bar"]', 2); } diff --git a/web/core/modules/system/tests/src/Functional/Routing/RouterTest.php b/web/core/modules/system/tests/src/Functional/Routing/RouterTest.php index b11a6bb6b..4fce0be47 100644 --- a/web/core/modules/system/tests/src/Functional/Routing/RouterTest.php +++ b/web/core/modules/system/tests/src/Functional/Routing/RouterTest.php @@ -230,7 +230,7 @@ public function testControllerResolutionPage() { } /** - * Checks the generate method on the url generator using the front router. + * Checks the generate method on the URL generator using the front router. */ public function testUrlGeneratorFront() { $front_url = Url::fromRoute('', [], ['absolute' => TRUE]); @@ -323,17 +323,18 @@ public function testRouterUninstallInstall() { } /** - * Ensure that multiple leading slashes are redirected. + * Ensure that multiple successive slashes are redirected. */ - public function testLeadingSlashes() { + public function testSuccessiveSlashes() { $request = $this->container->get('request_stack')->getCurrentRequest(); - $url = $request->getUriForPath('//router_test/test1'); + + // Test a simple path with successive leading slashes. + $url = $request->getUriForPath('//////router_test/test1'); $this->drupalGet($url); $this->assertSession()->addressEquals($request->getUriForPath('/router_test/test1')); - // It should not matter how many leading slashes are used and query strings - // should be preserved. - $url = $request->getUriForPath('/////////////////////////////////////////////////router_test/test1') . '?qs=test'; + // Test successive slashes in the middle. + $url = $request->getUriForPath('/router_test//////test1') . '?qs=test'; $this->drupalGet($url); $this->assertSession()->addressEquals($request->getUriForPath('/router_test/test1') . '?qs=test'); diff --git a/web/core/modules/system/tests/src/Functional/Session/SessionHttpsTest.php b/web/core/modules/system/tests/src/Functional/Session/SessionHttpsTest.php index 8b123f088..a300f3c44 100644 --- a/web/core/modules/system/tests/src/Functional/Session/SessionHttpsTest.php +++ b/web/core/modules/system/tests/src/Functional/Session/SessionHttpsTest.php @@ -271,7 +271,7 @@ protected function assertSessionIds(string $sid, string $assertion_text): void { * @param $url * A Drupal path such as 'user/login'. * - * @return + * @return string * URL prepared for the https.php mock front controller. */ protected function httpsUrl($url) { @@ -284,7 +284,7 @@ protected function httpsUrl($url) { * @param $url * A Drupal path such as 'user/login'. * - * @return + * @return string * URL prepared for the http.php mock front controller. */ protected function httpUrl($url) { diff --git a/web/core/modules/system/tests/src/Functional/Session/SessionTest.php b/web/core/modules/system/tests/src/Functional/Session/SessionTest.php index 497f02743..e8ecf1d2f 100644 --- a/web/core/modules/system/tests/src/Functional/Session/SessionTest.php +++ b/web/core/modules/system/tests/src/Functional/Session/SessionTest.php @@ -25,8 +25,11 @@ class SessionTest extends BrowserTestBase { protected $defaultTheme = 'stark'; /** - * Tests for \Drupal\Core\Session\WriteSafeSessionHandler::setSessionWritable() - * ::isSessionWritable and \Drupal\Core\Session\SessionManager::regenerate(). + * Tests session writing and regeneration. + * + * @covers \Drupal\Core\Session\WriteSafeSessionHandler::setSessionWritable + * @covers \Drupal\Core\Session\WriteSafeSessionHandler::isSessionWritable + * @covers \Drupal\Core\Session\SessionManager::regenerate */ public function testSessionSaveRegenerate() { $session_handler = $this->container->get('session_handler.write_safe'); diff --git a/web/core/modules/system/tests/src/Functional/System/AccessDeniedTest.php b/web/core/modules/system/tests/src/Functional/System/AccessDeniedTest.php index c06d93aa1..2a2a730e8 100644 --- a/web/core/modules/system/tests/src/Functional/System/AccessDeniedTest.php +++ b/web/core/modules/system/tests/src/Functional/System/AccessDeniedTest.php @@ -29,6 +29,9 @@ class AccessDeniedTest extends BrowserTestBase { protected $adminUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/system/tests/src/Functional/System/AdminTest.php b/web/core/modules/system/tests/src/Functional/System/AdminTest.php index 07cd6fa16..261b4b00a 100644 --- a/web/core/modules/system/tests/src/Functional/System/AdminTest.php +++ b/web/core/modules/system/tests/src/Functional/System/AdminTest.php @@ -38,6 +38,9 @@ class AdminTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { // testAdminPages() requires Locale module. parent::setUp(); diff --git a/web/core/modules/system/tests/src/Functional/System/DateTimeTest.php b/web/core/modules/system/tests/src/Functional/System/DateTimeTest.php index 44aebf2b0..5ba373205 100644 --- a/web/core/modules/system/tests/src/Functional/System/DateTimeTest.php +++ b/web/core/modules/system/tests/src/Functional/System/DateTimeTest.php @@ -7,8 +7,7 @@ use Drupal\Tests\BrowserTestBase; /** - * Configure date and time settings. Test date formatting and time zone - * handling, including daylight saving time. + * Test date formatting and time zone handling, including daylight saving time. * * @group system */ @@ -34,6 +33,9 @@ class DateTimeTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -173,7 +175,7 @@ public function testDateFormatConfiguration() { 'id' => 'xss_short', 'label' => 'XSS format', 'pattern' => '\<\s\c\r\i\p\t\>\a\l\e\r\t\(\'\X\S\S\'\)\;\<\/\s\c\r\i\p\t\>', - ]); + ]); $date_format->save(); $this->drupalGet(Url::fromRoute('entity.date_format.collection')); diff --git a/web/core/modules/system/tests/src/Functional/System/DefaultMobileMetaTagsTest.php b/web/core/modules/system/tests/src/Functional/System/DefaultMobileMetaTagsTest.php index 3bdb19224..5fb7ca245 100644 --- a/web/core/modules/system/tests/src/Functional/System/DefaultMobileMetaTagsTest.php +++ b/web/core/modules/system/tests/src/Functional/System/DefaultMobileMetaTagsTest.php @@ -23,6 +23,9 @@ class DefaultMobileMetaTagsTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); $this->defaultMetaTags = [ diff --git a/web/core/modules/system/tests/src/Functional/System/FrontPageTest.php b/web/core/modules/system/tests/src/Functional/System/FrontPageTest.php index 75714c38e..32de72dd0 100644 --- a/web/core/modules/system/tests/src/Functional/System/FrontPageTest.php +++ b/web/core/modules/system/tests/src/Functional/System/FrontPageTest.php @@ -30,6 +30,9 @@ class FrontPageTest extends BrowserTestBase { */ protected $nodePath; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/system/tests/src/Functional/System/HtaccessTest.php b/web/core/modules/system/tests/src/Functional/System/HtaccessTest.php index e932fa3b3..09046c446 100644 --- a/web/core/modules/system/tests/src/Functional/System/HtaccessTest.php +++ b/web/core/modules/system/tests/src/Functional/System/HtaccessTest.php @@ -91,6 +91,10 @@ protected function getProtectedFiles() { $file_paths["$path/composer.json"] = 403; $file_paths["$path/composer.lock"] = 403; + // Ensure package.json and yarn.lock cannot be accessed. + $file_paths["$path/package.json"] = 403; + $file_paths["$path/yarn.lock"] = 403; + // Ensure web server configuration files cannot be accessed. $file_paths["$path/.htaccess"] = 403; $file_paths["$path/web.config"] = 403; diff --git a/web/core/modules/system/tests/src/Functional/System/IndexPhpTest.php b/web/core/modules/system/tests/src/Functional/System/IndexPhpTest.php index d1e101ba7..bd42c3a43 100644 --- a/web/core/modules/system/tests/src/Functional/System/IndexPhpTest.php +++ b/web/core/modules/system/tests/src/Functional/System/IndexPhpTest.php @@ -16,6 +16,9 @@ class IndexPhpTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); } diff --git a/web/core/modules/system/tests/src/Functional/System/MainContentFallbackTest.php b/web/core/modules/system/tests/src/Functional/System/MainContentFallbackTest.php index 492ae0a2a..acd4da299 100644 --- a/web/core/modules/system/tests/src/Functional/System/MainContentFallbackTest.php +++ b/web/core/modules/system/tests/src/Functional/System/MainContentFallbackTest.php @@ -26,6 +26,9 @@ class MainContentFallbackTest extends BrowserTestBase { protected $adminUser; protected $webUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/system/tests/src/Functional/System/PageNotFoundTest.php b/web/core/modules/system/tests/src/Functional/System/PageNotFoundTest.php index 47afe0917..6e7027f30 100644 --- a/web/core/modules/system/tests/src/Functional/System/PageNotFoundTest.php +++ b/web/core/modules/system/tests/src/Functional/System/PageNotFoundTest.php @@ -29,6 +29,9 @@ class PageNotFoundTest extends BrowserTestBase { protected $adminUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/system/tests/src/Functional/System/PageTitleTest.php b/web/core/modules/system/tests/src/Functional/System/PageTitleTest.php index d2060157e..441110332 100644 --- a/web/core/modules/system/tests/src/Functional/System/PageTitleTest.php +++ b/web/core/modules/system/tests/src/Functional/System/PageTitleTest.php @@ -24,7 +24,7 @@ class PageTitleTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; protected $contentUser; protected $savedTitle; diff --git a/web/core/modules/system/tests/src/Functional/System/PhpRequirementTest.php b/web/core/modules/system/tests/src/Functional/System/PhpRequirementTest.php index 11c5f594e..cd36cb200 100644 --- a/web/core/modules/system/tests/src/Functional/System/PhpRequirementTest.php +++ b/web/core/modules/system/tests/src/Functional/System/PhpRequirementTest.php @@ -72,26 +72,22 @@ public function testStatusPage() { // There should be an informational message if the PHP version is below the // recommended version. if (version_compare($phpversion, \Drupal::RECOMMENDED_PHP) < 0) { - $this->assertSession()->pageTextContains('It is recommended to upgrade to PHP version ' . \Drupal::RECOMMENDED_PHP . ' or higher'); + // If running a PHP version affected by a known OPcache bug, warn about + // that. + // @todo Remove this when \Drupal::MINIMUM_PHP is at least 8.1.6 in + // https://www.drupal.org/i/3305726. + if (version_compare($phpversion, '8.1.0', 'ge') && version_compare($phpversion, '8.1.6', 'lt')) { + $this->assertSession()->pageTextContains("PHP $phpversion has an OPcache bug that can cause fatal errors with class autoloading. This can be fixed by upgrading to PHP 8.1.6 or later."); + $this->assertSession()->linkExists('an OPcache bug that can cause fatal errors with class autoloading'); + } + else { + $this->assertSession()->pageTextContains('It is recommended to upgrade to PHP version ' . \Drupal::RECOMMENDED_PHP . ' or higher'); + } } // Otherwise, the message should not be there. else { $this->assertSession()->pageTextNotContains('It is recommended to upgrade to PHP version ' . \Drupal::RECOMMENDED_PHP . ' or higher'); } - - // If running Drupal on a PHP version with a known OPcache bug, ensure that - // we warn the user about it. - // @todo Remove these blocks when \Drupal::MINIMUM_PHP is at least 8.1.6 in - // https://www.drupal.org/i/3305726. - if (version_compare($phpversion, '8.1.0', 'ge') && version_compare($phpversion, '8.1.6', 'lt')) { - $this->assertSession()->pageTextContains("PHP $phpversion has an OPcache bug that can cause fatal errors with class autoloading. This can be fixed by upgrading to PHP 8.1.6 or later."); - $this->assertSession()->linkExists('an OPcache bug that can cause fatal errors with class autoloading'); - } - // If we're on a PHP version older than 8.1, warn about the broken versions. - if (version_compare($phpversion, '8.1.0', 'lt')) { - $this->assertSession()->pageTextContains('PHP versions 8.1.0 to 8.1.5 have an OPcache bug that can cause fatal errors with class autoloading. It can be avoided by using PHP 8.1.6 or later.'); - $this->assertSession()->linkExists('an OPcache bug that can cause fatal errors with class autoloading'); - } } } diff --git a/web/core/modules/system/tests/src/Functional/System/ShutdownFunctionsTest.php b/web/core/modules/system/tests/src/Functional/System/ShutdownFunctionsTest.php index 2059714e9..6d7798721 100644 --- a/web/core/modules/system/tests/src/Functional/System/ShutdownFunctionsTest.php +++ b/web/core/modules/system/tests/src/Functional/System/ShutdownFunctionsTest.php @@ -23,6 +23,9 @@ class ShutdownFunctionsTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function tearDown(): void { // This test intentionally throws an exception in a PHP shutdown function. // Prevent it from being interpreted as an actual test failure. diff --git a/web/core/modules/system/tests/src/Functional/System/SiteMaintenanceTest.php b/web/core/modules/system/tests/src/Functional/System/SiteMaintenanceTest.php index 6d9a96409..4b73ff7cd 100644 --- a/web/core/modules/system/tests/src/Functional/System/SiteMaintenanceTest.php +++ b/web/core/modules/system/tests/src/Functional/System/SiteMaintenanceTest.php @@ -38,6 +38,9 @@ class SiteMaintenanceTest extends BrowserTestBase { */ protected $user; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -153,11 +156,11 @@ public function testSiteMaintenance() { $this->submitForm([], 'Log in'); $this->assertSession()->pageTextContains($user_message); - // Regression test to check if title displays in Bartik on maintenance page. - \Drupal::service('theme_installer')->install(['bartik']); - $this->config('system.theme')->set('default', 'bartik')->save(); + // Check if title displays in Olivero on maintenance page. + \Drupal::service('theme_installer')->install(['olivero']); + $this->config('system.theme')->set('default', 'olivero')->save(); - // Logout and verify that offline message is displayed in Bartik. + // Logout and verify that offline message is displayed in Olivero. $this->drupalLogout(); $this->drupalGet(''); $this->assertEquals('Site under maintenance', $this->cssSelect('main h1')[0]->getText()); diff --git a/web/core/modules/system/tests/src/Functional/System/SystemAuthorizeTest.php b/web/core/modules/system/tests/src/Functional/System/SystemAuthorizeTest.php index 376ae4248..a43c52017 100644 --- a/web/core/modules/system/tests/src/Functional/System/SystemAuthorizeTest.php +++ b/web/core/modules/system/tests/src/Functional/System/SystemAuthorizeTest.php @@ -23,6 +23,9 @@ class SystemAuthorizeTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/system/tests/src/Functional/System/ThemeTest.php b/web/core/modules/system/tests/src/Functional/System/ThemeTest.php index 081904483..6afe81c42 100644 --- a/web/core/modules/system/tests/src/Functional/System/ThemeTest.php +++ b/web/core/modules/system/tests/src/Functional/System/ThemeTest.php @@ -8,8 +8,7 @@ use Drupal\Tests\TestFileCreationTrait; /** - * Tests the theme interface functionality by enabling and switching themes, and - * using an administration theme. + * Tests the theme administration user interface. * * @group system */ @@ -36,7 +35,7 @@ class ThemeTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * A test node. @@ -45,6 +44,9 @@ class ThemeTest extends BrowserTestBase { */ protected $node; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -67,20 +69,20 @@ protected function setUp(): void { */ public function testThemeSettings() { // Ensure a disabled theme settings form URL returns 404. - $this->drupalGet('admin/appearance/settings/bartik'); + $this->drupalGet('admin/appearance/settings/olivero'); $this->assertSession()->statusCodeEquals(404); // Ensure a non existent theme settings form URL returns 404. $this->drupalGet('admin/appearance/settings/' . $this->randomMachineName()); $this->assertSession()->statusCodeEquals(404); // Ensure a hidden theme settings form URL returns 404. - $this->assertTrue(\Drupal::service('theme_installer')->install(['stable'])); - $this->drupalGet('admin/appearance/settings/stable'); + $this->assertTrue(\Drupal::service('theme_installer')->install(['stable9'])); + $this->drupalGet('admin/appearance/settings/stable9'); $this->assertSession()->statusCodeEquals(404); // Specify a filesystem path to be used for the logo. $file = current($this->drupalGetTestFiles('image')); $file_relative = strtr($file->uri, ['public:/' => PublicStream::basePath()]); - $default_theme_path = 'core/themes/classy'; + $default_theme_path = 'core/themes/starterkit_theme'; /** @var \Drupal\Core\File\FileUrlGeneratorInterface $file_url_generator */ $file_url_generator = \Drupal::service('file_url_generator'); @@ -201,23 +203,23 @@ public function testThemeSettings() { $this->drupalGet(''); $this->assertSession()->elementAttributeContains('xpath', '//header//a[@rel="home"]/img', 'src', $file_url_generator->generateString($uploaded_filename)); - $this->container->get('theme_installer')->install(['bartik']); + $this->container->get('theme_installer')->install(['olivero']); // Ensure only valid themes are listed in the local tasks. $this->drupalPlaceBlock('local_tasks_block', ['region' => 'header']); $this->drupalGet('admin/appearance/settings'); $theme_handler = \Drupal::service('theme_handler'); - $this->assertSession()->linkExists($theme_handler->getName('classy')); - $this->assertSession()->linkExists($theme_handler->getName('bartik')); - $this->assertSession()->linkNotExists($theme_handler->getName('stable')); + $this->assertSession()->linkExists($theme_handler->getName('starterkit_theme')); + $this->assertSession()->linkExists($theme_handler->getName('olivero')); + $this->assertSession()->linkNotExists($theme_handler->getName('stable9')); // If a hidden theme is an admin theme it should be viewable. - \Drupal::configFactory()->getEditable('system.theme')->set('admin', 'stable')->save(); + \Drupal::configFactory()->getEditable('system.theme')->set('admin', 'stable9')->save(); \Drupal::service('router.builder')->rebuildIfNeeded(); - $this->drupalPlaceBlock('local_tasks_block', ['region' => 'header', 'theme' => 'stable']); + $this->drupalPlaceBlock('local_tasks_block', ['region' => 'header', 'theme' => 'stable9']); $this->drupalGet('admin/appearance/settings'); - $this->assertSession()->linkExists($theme_handler->getName('stable')); - $this->drupalGet('admin/appearance/settings/stable'); + $this->assertSession()->linkExists($theme_handler->getName('stable9')); + $this->drupalGet('admin/appearance/settings/stable9'); $this->assertSession()->statusCodeEquals(200); // Ensure default logo and favicons are not triggering custom path @@ -238,14 +240,14 @@ public function testThemeSettings() { * Tests the theme settings logo form. */ public function testThemeSettingsLogo() { - // Visit Bartik's theme settings page to replace the logo. - $this->container->get('theme_installer')->install(['bartik']); - $this->drupalGet('admin/appearance/settings/bartik'); + // Visit Olivero's theme settings page to replace the logo. + $this->container->get('theme_installer')->install(['olivero']); + $this->drupalGet('admin/appearance/settings/olivero'); $edit = [ 'default_logo' => FALSE, 'logo_path' => 'core/misc/druplicon.png', ]; - $this->drupalGet('admin/appearance/settings/bartik'); + $this->drupalGet('admin/appearance/settings/olivero'); $this->submitForm($edit, 'Save configuration'); $this->assertSession()->fieldValueEquals('default_logo', FALSE); $this->assertSession()->fieldValueEquals('logo_path', 'core/misc/druplicon.png'); @@ -262,7 +264,7 @@ public function testThemeSettingsLogo() { * Tests the 'rendered' cache tag is cleared when saving theme settings. */ public function testThemeSettingsRenderCacheClear() { - $this->container->get('theme_installer')->install(['bartik']); + $this->container->get('theme_installer')->install(['olivero']); // Ensure the frontpage is cached for anonymous users. The render cache will // cleared by installing a theme. $this->drupalLogout(); @@ -272,9 +274,9 @@ public function testThemeSettingsRenderCacheClear() { $this->assertSession()->responseHeaderEquals('X-Drupal-Cache', 'HIT'); $this->drupalLogin($this->adminUser); - // Save Bartik's theme settings which should invalidate the 'rendered' cache + // Save Olivero's theme settings which should invalidate the 'rendered' cache // tag in \Drupal\system\EventSubscriber\ConfigCacheTag. - $this->drupalGet('admin/appearance/settings/bartik'); + $this->drupalGet('admin/appearance/settings/olivero'); $this->submitForm([], 'Save configuration'); $this->drupalLogout(); $this->drupalGet(''); @@ -285,11 +287,11 @@ public function testThemeSettingsRenderCacheClear() { * Tests the administration theme functionality. */ public function testAdministrationTheme() { - $this->container->get('theme_installer')->install(['seven']); + $this->container->get('theme_installer')->install(['claro']); // Install an administration theme and show it on the node admin pages. $edit = [ - 'admin_theme' => 'seven', + 'admin_theme' => 'claro', 'use_admin_theme' => TRUE, ]; $this->drupalGet('admin/appearance'); @@ -306,19 +308,19 @@ public function testAdministrationTheme() { // Check that the administration theme is used on an administration page. $this->drupalGet('admin/config'); - $this->assertSession()->responseContains('core/themes/seven'); + $this->assertSession()->responseContains('core/themes/claro'); // Check that the site default theme used on node page. $this->drupalGet('node/' . $this->node->id()); - $this->assertSession()->responseContains('core/themes/classy'); + $this->assertSession()->responseContains('core/themes/starterkit_theme'); // Check that the administration theme is used on the add content page. $this->drupalGet('node/add'); - $this->assertSession()->responseContains('core/themes/seven'); + $this->assertSession()->responseContains('core/themes/claro'); // Check that the administration theme is used on the edit content page. $this->drupalGet('node/' . $this->node->id() . '/edit'); - $this->assertSession()->responseContains('core/themes/seven'); + $this->assertSession()->responseContains('core/themes/claro'); // Disable the admin theme on the node admin pages. $edit = [ @@ -333,7 +335,7 @@ public function testAdministrationTheme() { // Check that the administration theme is used on an administration page. $this->drupalGet('admin/config'); - $this->assertSession()->responseContains('core/themes/seven'); + $this->assertSession()->responseContains('core/themes/claro'); // Ensure that the admin theme is also visible on the 403 page. $normal_user = $this->drupalCreateUser(['view the administration theme']); @@ -341,12 +343,12 @@ public function testAdministrationTheme() { // Check that the administration theme is used on an administration page. $this->drupalGet('admin/config'); $this->assertSession()->statusCodeEquals(403); - $this->assertSession()->responseContains('core/themes/seven'); + $this->assertSession()->responseContains('core/themes/claro'); $this->drupalLogin($this->adminUser); // Check that the site default theme used on the add content page. $this->drupalGet('node/add'); - $this->assertSession()->responseContains('core/themes/classy'); + $this->assertSession()->responseContains('core/themes/starterkit_theme'); // Reset to the default theme settings. $edit = [ @@ -358,11 +360,11 @@ public function testAdministrationTheme() { // Check that the site default theme used on administration page. $this->drupalGet('admin'); - $this->assertSession()->responseContains('core/themes/classy'); + $this->assertSession()->responseContains('core/themes/starterkit_theme'); // Check that the site default theme used on the add content page. $this->drupalGet('node/add'); - $this->assertSession()->responseContains('core/themes/classy'); + $this->assertSession()->responseContains('core/themes/starterkit_theme'); } /** @@ -376,15 +378,15 @@ public function testSwitchDefaultTheme() { $this->config('system.theme')->set('default', 'stark')->save(); $this->drupalPlaceBlock('local_tasks_block'); - // Install Bartik and set it as the default theme. - $theme_installer->install(['bartik']); + // Install Olivero and set it as the default theme. + $theme_installer->install(['olivero']); $this->drupalGet('admin/appearance'); $this->clickLink('Set as default'); - $this->assertEquals('bartik', $this->config('system.theme')->get('default')); + $this->assertEquals('olivero', $this->config('system.theme')->get('default')); // Test the default theme on the secondary links (blocks admin page). $this->drupalGet('admin/structure/block'); - $this->assertSession()->pageTextContains('Bartik(active tab)'); + $this->assertSession()->pageTextContains('Olivero(active tab)'); // Switch back to Stark and test again to test that the menu cache is cleared. $this->drupalGet('admin/appearance'); // Stark is the first 'Set as default' link. @@ -420,26 +422,23 @@ public function testInvalidTheme() { * Tests uninstalling of themes works. */ public function testUninstallingThemes() { - // Install Bartik and set it as the default theme. - \Drupal::service('theme_installer')->install(['bartik']); - // Set up seven as the admin theme. - \Drupal::service('theme_installer')->install(['seven']); + // Install olivero. + \Drupal::service('theme_installer')->install(['olivero']); + // Set up Claro as the admin theme. + \Drupal::service('theme_installer')->install(['claro']); $edit = [ - 'admin_theme' => 'seven', + 'admin_theme' => 'claro', 'use_admin_theme' => TRUE, ]; $this->drupalGet('admin/appearance'); $this->submitForm($edit, 'Save configuration'); - $this->drupalGet('admin/appearance'); - $this->clickLink('Set as default'); - // Check that seven cannot be uninstalled as it is the admin theme. - $this->assertSession()->responseNotContains('Uninstall Seven theme'); - // Check that bartik cannot be uninstalled as it is the default theme. - $this->assertSession()->responseNotContains('Uninstall Bartik theme'); - // Check that the classy theme cannot be uninstalled as it is a base theme - // of seven and bartik. - $this->assertSession()->responseNotContains('Uninstall Classy theme'); + // Set olivero as the default theme. + $this->cssSelect('a[title="Set Olivero as default theme"]')[0]->click(); + // Check that claro cannot be uninstalled as it is the admin theme. + $this->assertSession()->responseNotContains('Uninstall claro theme'); + // Check that olivero cannot be uninstalled as it is the default theme. + $this->assertSession()->responseNotContains('Uninstall Olivero theme'); // Install Stark and set it as the default theme. \Drupal::service('theme_installer')->install(['stark']); @@ -451,31 +450,20 @@ public function testUninstallingThemes() { $this->drupalGet('admin/appearance'); $this->submitForm($edit, 'Save configuration'); - // Check that seven can be uninstalled now. - $this->assertSession()->responseContains('Uninstall Seven theme'); - // Check that the classy theme still cannot be uninstalled as it is a - // base theme of bartik. - $this->assertSession()->responseNotContains('Uninstall Classy theme'); + // Check that claro can be uninstalled now. + $this->assertSession()->responseContains('Uninstall claro theme'); // Change the default theme to stark, stark is second in the list. $this->clickLink('Set as default', 1); - // Check that bartik can be uninstalled now. - $this->assertSession()->responseContains('Uninstall Bartik theme'); - - // Check that the classy theme still can't be uninstalled as neither of its - // base themes have been. - $this->assertSession()->responseNotContains('Uninstall Classy theme'); - - // Uninstall each of the three themes starting with Bartik. - $this->clickLink('Uninstall'); - $this->assertSession()->responseContains('The Bartik theme has been uninstalled'); - // Seven is the second in the list. - $this->clickLink('Uninstall'); - $this->assertSession()->responseContains('The Seven theme has been uninstalled'); + // Check that olivero can be uninstalled now. + $this->assertSession()->responseContains('Uninstall Olivero theme'); - // Check that the classy theme still can't be uninstalled as it is hidden. - $this->assertSession()->responseNotContains('Uninstall Classy theme'); + // Uninstall each of the two themes starting with Olivero. + $this->cssSelect('a[title="Uninstall Olivero theme"]')[0]->click(); + $this->assertSession()->responseContains('The Olivero theme has been uninstalled'); + $this->cssSelect('a[title="Uninstall Claro theme"]')[0]->click(); + $this->assertSession()->responseContains('The Claro theme has been uninstalled'); } /** @@ -483,7 +471,7 @@ public function testUninstallingThemes() { */ public function testInstallAndSetAsDefault() { $themes = [ - 'bartik' => 'Bartik', + 'olivero' => 'Olivero', 'test_core_semver' => 'Theme test with semver core version', ]; foreach ($themes as $theme_machine_name => $theme_name) { diff --git a/web/core/modules/system/tests/src/Functional/Theme/EngineNyanCatTest.php b/web/core/modules/system/tests/src/Functional/Theme/EngineNyanCatTest.php index 0b8269a2c..40b2bc00e 100644 --- a/web/core/modules/system/tests/src/Functional/Theme/EngineNyanCatTest.php +++ b/web/core/modules/system/tests/src/Functional/Theme/EngineNyanCatTest.php @@ -23,6 +23,9 @@ class EngineNyanCatTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); \Drupal::service('theme_installer')->install(['test_theme_nyan_cat_engine']); diff --git a/web/core/modules/system/tests/src/Functional/Theme/EngineTwigTest.php b/web/core/modules/system/tests/src/Functional/Theme/EngineTwigTest.php index c358a92f7..a0c16db8a 100644 --- a/web/core/modules/system/tests/src/Functional/Theme/EngineTwigTest.php +++ b/web/core/modules/system/tests/src/Functional/Theme/EngineTwigTest.php @@ -28,6 +28,9 @@ class EngineTwigTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); \Drupal::service('theme_installer')->install(['test_theme']); @@ -144,7 +147,7 @@ public function testTwigFileUrls() { */ public function testTwigAttachLibrary() { $this->drupalGet('/twig-theme-test/attach-library'); - $this->assertSession()->responseContains('ckeditor.js'); + $this->assertSession()->responseContains('ckeditor5-dll.js'); } /** diff --git a/web/core/modules/system/tests/src/Functional/Theme/EntityFilteringThemeTest.php b/web/core/modules/system/tests/src/Functional/Theme/EntityFilteringThemeTest.php index 820554fa0..155c62e29 100644 --- a/web/core/modules/system/tests/src/Functional/Theme/EntityFilteringThemeTest.php +++ b/web/core/modules/system/tests/src/Functional/Theme/EntityFilteringThemeTest.php @@ -6,14 +6,14 @@ use Drupal\Core\Extension\ExtensionDiscovery; use Drupal\comment\CommentInterface; use Drupal\comment\Plugin\Field\FieldType\CommentItemInterface; +use Drupal\Core\Extension\ExtensionLifecycle; use Drupal\node\NodeInterface; use Drupal\comment\Entity\Comment; use Drupal\taxonomy\Entity\Term; use Drupal\Tests\BrowserTestBase; /** - * Tests themed output for each entity type in all available themes to ensure - * entity labels are filtered for XSS. + * Tests XSS filtering for themed output for each entity type in all themes. * * @group Theme */ @@ -46,7 +46,7 @@ class EntityFilteringThemeTest extends BrowserTestBase { /** * A test user. * - * @var \Drupal\user\User + * @var \Drupal\user\Entity\User */ protected $user; @@ -54,7 +54,7 @@ class EntityFilteringThemeTest extends BrowserTestBase { /** * A test node. * - * @var \Drupal\node\Node + * @var \Drupal\node\Entity\Node */ protected $node; @@ -62,7 +62,7 @@ class EntityFilteringThemeTest extends BrowserTestBase { /** * A test taxonomy term. * - * @var \Drupal\taxonomy\Term + * @var \Drupal\taxonomy\Entity\Term */ protected $term; @@ -70,7 +70,7 @@ class EntityFilteringThemeTest extends BrowserTestBase { /** * A test comment. * - * @var \Drupal\comment\Comment + * @var \Drupal\comment\Entity\Comment */ protected $comment; @@ -81,12 +81,24 @@ class EntityFilteringThemeTest extends BrowserTestBase { */ protected $xssLabel = "string with HTML and "; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); // Install all available non-testing themes. $listing = new ExtensionDiscovery(\Drupal::root()); $this->themes = $listing->scan('theme', FALSE); + /** @var \Drupal\Core\Extension\ThemeHandlerInterface $theme_handler */ + $theme_data = \Drupal::service('theme_handler')->rebuildThemeData(); + foreach (array_keys($this->themes) as $theme) { + // Skip obsolete and deprecated themes. + $info = $theme_data[$theme]->info; + if ($info[ExtensionLifecycle::LIFECYCLE_IDENTIFIER] === ExtensionLifecycle::OBSOLETE || $info[ExtensionLifecycle::LIFECYCLE_IDENTIFIER] === ExtensionLifecycle::DEPRECATED) { + unset($this->themes[$theme]); + } + } \Drupal::service('theme_installer')->install(array_keys($this->themes)); // Create a test user. diff --git a/web/core/modules/system/tests/src/Functional/Theme/FastTest.php b/web/core/modules/system/tests/src/Functional/Theme/FastTest.php index b7b0021b8..621fa4be4 100644 --- a/web/core/modules/system/tests/src/Functional/Theme/FastTest.php +++ b/web/core/modules/system/tests/src/Functional/Theme/FastTest.php @@ -30,6 +30,9 @@ class FastTest extends BrowserTestBase { */ protected $account; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); $this->account = $this->drupalCreateUser(['access user profiles']); diff --git a/web/core/modules/system/tests/src/Functional/Theme/ThemeEarlyInitializationTest.php b/web/core/modules/system/tests/src/Functional/Theme/ThemeEarlyInitializationTest.php index d492ddc22..4dab6c2de 100644 --- a/web/core/modules/system/tests/src/Functional/Theme/ThemeEarlyInitializationTest.php +++ b/web/core/modules/system/tests/src/Functional/Theme/ThemeEarlyInitializationTest.php @@ -5,8 +5,7 @@ use Drupal\Tests\BrowserTestBase; /** - * Tests that the theme system can be correctly initialized early in the page - * request. + * Tests theme system initialization early in the page request. * * @group Theme */ @@ -22,7 +21,7 @@ class ThemeEarlyInitializationTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * Tests that the theme system can generate output in a request listener. @@ -33,7 +32,7 @@ public function testRequestListener() { $this->assertSession()->responseContains('Themed output generated in a KernelEvents::REQUEST listener'); // Verify that the default theme's CSS still appears even though the theme // system was initialized early. - $this->assertSession()->responseContains('classy/css/components/action-links.css'); + $this->assertSession()->responseContains('starterkit_theme/css/components/action-links.css'); } } diff --git a/web/core/modules/system/tests/src/Functional/Theme/ThemeInfoTest.php b/web/core/modules/system/tests/src/Functional/Theme/ThemeInfoTest.php index 4cf969cf3..22d00616e 100644 --- a/web/core/modules/system/tests/src/Functional/Theme/ThemeInfoTest.php +++ b/web/core/modules/system/tests/src/Functional/Theme/ThemeInfoTest.php @@ -95,13 +95,13 @@ public function testChanges() { $active_theme = $this->themeManager->getActiveTheme(); // Make sure we are not testing the wrong theme. $this->assertEquals('test_theme', $active_theme->getName()); - $this->assertEquals(['classy/base', 'classy/messages', 'core/normalize', 'test_theme/global-styling'], $active_theme->getLibraries()); + $this->assertEquals(['starterkit_theme/base', 'starterkit_theme/messages', 'core/normalize', 'test_theme/global-styling'], $active_theme->getLibraries()); // @see theme_test_system_info_alter() $this->state->set('theme_test.modify_info_files', TRUE); $this->resetAll(); $active_theme = $this->themeManager->getActiveTheme(); - $this->assertEquals(['classy/base', 'classy/messages', 'core/normalize', 'test_theme/global-styling', 'core/once'], $active_theme->getLibraries()); + $this->assertEquals(['starterkit_theme/base', 'starterkit_theme/messages', 'core/normalize', 'test_theme/global-styling', 'core/once'], $active_theme->getLibraries()); } } diff --git a/web/core/modules/system/tests/src/Functional/Theme/ThemeLegacyTest.php b/web/core/modules/system/tests/src/Functional/Theme/ThemeLegacyTest.php index f7323059d..18b679b0c 100644 --- a/web/core/modules/system/tests/src/Functional/Theme/ThemeLegacyTest.php +++ b/web/core/modules/system/tests/src/Functional/Theme/ThemeLegacyTest.php @@ -26,6 +26,9 @@ class ThemeLegacyTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); \Drupal::service('theme_installer')->install(['test_legacy_theme']); diff --git a/web/core/modules/system/tests/src/Functional/Theme/ThemeSuggestionsAlterTest.php b/web/core/modules/system/tests/src/Functional/Theme/ThemeSuggestionsAlterTest.php index 4188e2963..db0aeba7f 100644 --- a/web/core/modules/system/tests/src/Functional/Theme/ThemeSuggestionsAlterTest.php +++ b/web/core/modules/system/tests/src/Functional/Theme/ThemeSuggestionsAlterTest.php @@ -24,6 +24,9 @@ class ThemeSuggestionsAlterTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); \Drupal::service('theme_installer')->install(['test_theme']); diff --git a/web/core/modules/system/tests/src/Functional/Theme/ThemeTest.php b/web/core/modules/system/tests/src/Functional/Theme/ThemeTest.php index 3d27b2794..96d154f23 100644 --- a/web/core/modules/system/tests/src/Functional/Theme/ThemeTest.php +++ b/web/core/modules/system/tests/src/Functional/Theme/ThemeTest.php @@ -23,7 +23,7 @@ class ThemeTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * {@inheritdoc} diff --git a/web/core/modules/system/tests/src/Functional/Theme/ThemeTokenTest.php b/web/core/modules/system/tests/src/Functional/Theme/ThemeTokenTest.php index 44308f4f7..fc924a6f7 100644 --- a/web/core/modules/system/tests/src/Functional/Theme/ThemeTokenTest.php +++ b/web/core/modules/system/tests/src/Functional/Theme/ThemeTokenTest.php @@ -46,12 +46,12 @@ public function testThemeToken() { $settings = $this->getDrupalSettings(); $this->assertNull($settings['ajaxPageState']['theme_token']); - // Install 'seven' and configure it as administrative theme. - $this->container->get('theme_installer')->install(['seven']); - $this->config('system.theme')->set('admin', 'seven')->save(); + // Install 'claro' and configure it as administrative theme. + $this->container->get('theme_installer')->install(['claro']); + $this->config('system.theme')->set('admin', 'claro')->save(); - // Revisit the page. This time the page is displayed using the 'seven' theme - // and that is different from the default theme ('classy'). + // Revisit the page. This time the page is displayed using the 'claro' theme + // and that is different from the default theme ('stark'). $this->drupalGet('admin/structure/block'); $settings = $this->getDrupalSettings(); $this->assertNotNull($settings['ajaxPageState']['theme_token']); diff --git a/web/core/modules/system/tests/src/Functional/Theme/ThemeUpdateTest.php b/web/core/modules/system/tests/src/Functional/Theme/ThemeUpdateTest.php index fbcd137b3..38e70b8e3 100644 --- a/web/core/modules/system/tests/src/Functional/Theme/ThemeUpdateTest.php +++ b/web/core/modules/system/tests/src/Functional/Theme/ThemeUpdateTest.php @@ -16,7 +16,7 @@ class ThemeUpdateTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * Ensures preprocess functions run even for suggestion implementations. diff --git a/web/core/modules/system/tests/src/Functional/Theme/TwigExtensionTest.php b/web/core/modules/system/tests/src/Functional/Theme/TwigExtensionTest.php index 7442e53ec..8b5d16a6f 100644 --- a/web/core/modules/system/tests/src/Functional/Theme/TwigExtensionTest.php +++ b/web/core/modules/system/tests/src/Functional/Theme/TwigExtensionTest.php @@ -17,13 +17,16 @@ class TwigExtensionTest extends BrowserTestBase { * * @var array */ - protected static $modules = ['theme_test', 'twig_extension_test']; + protected static $modules = ['theme_test', 'twig_extension_test', 'twig_theme_test']; /** * {@inheritdoc} */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); \Drupal::service('theme_installer')->install(['test_theme']); @@ -92,4 +95,35 @@ public function testsRenderZeroValue() { $this->assertSame(0, $extension->renderVar(0.0), 'TwigExtension::renderVar() renders zero correctly when provided as a double.'); } + /** + * Tests the dump function. + */ + public function testDump() { + // Test Twig Debug disabled. + $this->drupalGet('/twig-theme-test/dump'); + $this->assertSession()->elementsCount('css', '.sf-dump', 0); + + // Test Twig Debug enabled. + $parameters = $this->container->getParameter('twig.config'); + $parameters['debug'] = TRUE; + $this->setContainerParameter('twig.config', $parameters); + $this->resetAll(); + + $this->drupalGet('/twig-theme-test/dump'); + $dumps = $this->getSession()->getPage()->findAll('css', '.sf-dump'); + $this->assertEquals(4, count($dumps)); + + // Test dumping single variable. + $this->assertStringContainsString('💩', $dumps[0]->getText()); + $this->assertStringNotContainsString('🐣', $dumps[0]->getText()); + + // Test dumping context. + $this->assertStringContainsString('"bar" => "🐣"', $dumps[1]->getText()); + + // Test dump as a variadic. + $this->assertStringContainsString('💩', $dumps[2]->getText()); + $this->assertStringContainsString('☄️', $dumps[3]->getText()); + + } + } diff --git a/web/core/modules/system/tests/src/Functional/Theme/TwigRegistryLoaderTest.php b/web/core/modules/system/tests/src/Functional/Theme/TwigRegistryLoaderTest.php index d2eab6684..3399be42a 100644 --- a/web/core/modules/system/tests/src/Functional/Theme/TwigRegistryLoaderTest.php +++ b/web/core/modules/system/tests/src/Functional/Theme/TwigRegistryLoaderTest.php @@ -29,6 +29,9 @@ class TwigRegistryLoaderTest extends BrowserTestBase { */ protected $twig; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); \Drupal::service('theme_installer')->install(['test_theme_twig_registry_loader', 'test_theme_twig_registry_loader_theme', 'test_theme_twig_registry_loader_subtheme']); diff --git a/web/core/modules/system/tests/src/Functional/Update/ClassyUninstallUpdateTest.php b/web/core/modules/system/tests/src/Functional/Update/ClassyUninstallUpdateTest.php index a59229958..5e8e9e89c 100644 --- a/web/core/modules/system/tests/src/Functional/Update/ClassyUninstallUpdateTest.php +++ b/web/core/modules/system/tests/src/Functional/Update/ClassyUninstallUpdateTest.php @@ -8,6 +8,7 @@ * Ensures that update hook uninstalls Classy when it's no longer needed. * * @group Update + * @group legacy * @see system_post_update_uninstall_classy() */ class ClassyUninstallUpdateTest extends UpdatePathTestBase { @@ -76,7 +77,7 @@ public function testUpdateClassyNeeded() { $theme_handler = $this->container->get('theme_handler'); /** @var \Drupal\Core\Extension\ThemeInstallerInterface $theme_installer */ $theme_installer = $this->container->get('theme_installer'); - $theme_installer->install(['test_theme']); + $theme_installer->install(['test_legacy_stylesheets_remove']); $this->assertTrue($theme_handler->themeExists('classy')); $this->runUpdates(); diff --git a/web/core/modules/system/tests/src/Functional/Update/StableUninstallUpdateTest.php b/web/core/modules/system/tests/src/Functional/Update/StableUninstallUpdateTest.php index efe02dec7..bdbab15f0 100644 --- a/web/core/modules/system/tests/src/Functional/Update/StableUninstallUpdateTest.php +++ b/web/core/modules/system/tests/src/Functional/Update/StableUninstallUpdateTest.php @@ -8,6 +8,7 @@ * Ensures that update hook uninstalls Stable when it's no longer needed. * * @group Update + * @group legacy * @see system_post_update_uninstall_stable() */ class StableUninstallUpdateTest extends UpdatePathTestBase { diff --git a/web/core/modules/system/tests/src/Functional/UpdateSystem/BrokenCacheUpdateTest.php b/web/core/modules/system/tests/src/Functional/UpdateSystem/BrokenCacheUpdateTest.php index 2250b1ba9..23c864d44 100644 --- a/web/core/modules/system/tests/src/Functional/UpdateSystem/BrokenCacheUpdateTest.php +++ b/web/core/modules/system/tests/src/Functional/UpdateSystem/BrokenCacheUpdateTest.php @@ -46,7 +46,7 @@ public function testUpdate() { 'checksum' => 0, ]; $insert->fields($fields); - $fields['cid'] = 'element_info_build:seven'; + $fields['cid'] = 'element_info_build:claro'; $fields['tags'] = 'element_info_build'; $insert->values(array_values($fields)); $fields['cid'] = 'element_info_build:stark'; @@ -56,7 +56,7 @@ public function testUpdate() { $this->runUpdates(); // Caches should have been cleared at this point. $count = (int) $connection->select('cache_discovery') - ->condition('cid', ['element_info', 'element_info_build:seven', 'element_info_build:stark'], 'IN') + ->condition('cid', ['element_info', 'element_info_build:claro', 'element_info_build:stark'], 'IN') ->countQuery() ->execute() ->fetchField(); diff --git a/web/core/modules/system/tests/src/Functional/UpdateSystem/DependencyHookInvocationTest.php b/web/core/modules/system/tests/src/Functional/UpdateSystem/DependencyHookInvocationTest.php index 42e772e70..561ff795a 100644 --- a/web/core/modules/system/tests/src/Functional/UpdateSystem/DependencyHookInvocationTest.php +++ b/web/core/modules/system/tests/src/Functional/UpdateSystem/DependencyHookInvocationTest.php @@ -5,8 +5,7 @@ use Drupal\Tests\BrowserTestBase; /** - * Tests that the hook invocation for determining update dependencies works - * correctly. + * Tests the hook invocation for determining update dependencies. * * @group Update */ @@ -28,6 +27,9 @@ class DependencyHookInvocationTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); require_once $this->root . '/core/includes/update.inc'; diff --git a/web/core/modules/system/tests/src/Functional/UpdateSystem/DependencyMissingTest.php b/web/core/modules/system/tests/src/Functional/UpdateSystem/DependencyMissingTest.php index 7d1cb1565..a2eaa8c39 100644 --- a/web/core/modules/system/tests/src/Functional/UpdateSystem/DependencyMissingTest.php +++ b/web/core/modules/system/tests/src/Functional/UpdateSystem/DependencyMissingTest.php @@ -23,6 +23,9 @@ class DependencyMissingTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { // Only install update_test_2.module, even though its updates have a // dependency on update_test_3.module. diff --git a/web/core/modules/system/tests/src/Functional/UpdateSystem/DependencyOrderingTest.php b/web/core/modules/system/tests/src/Functional/UpdateSystem/DependencyOrderingTest.php index 8576e7eae..3e47c9e88 100644 --- a/web/core/modules/system/tests/src/Functional/UpdateSystem/DependencyOrderingTest.php +++ b/web/core/modules/system/tests/src/Functional/UpdateSystem/DependencyOrderingTest.php @@ -28,6 +28,9 @@ class DependencyOrderingTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); require_once $this->root . '/core/includes/update.inc'; diff --git a/web/core/modules/system/tests/src/Functional/UpdateSystem/InvalidUpdateHookTest.php b/web/core/modules/system/tests/src/Functional/UpdateSystem/InvalidUpdateHookTest.php index 2400d4697..0d79aa906 100644 --- a/web/core/modules/system/tests/src/Functional/UpdateSystem/InvalidUpdateHookTest.php +++ b/web/core/modules/system/tests/src/Functional/UpdateSystem/InvalidUpdateHookTest.php @@ -2,12 +2,12 @@ namespace Drupal\Tests\system\Functional\UpdateSystem; +use Drupal\Core\Url; use Drupal\Tests\BrowserTestBase; use Drupal\Tests\RequirementsPageTrait; /** - * Tests that a module implementing hook_update_8000() causes an error to be - * displayed on update. + * Tests that hook_update_8000() is disallowed. * * @group Update */ @@ -45,11 +45,14 @@ class InvalidUpdateHookTest extends BrowserTestBase { */ private $updateUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); require_once $this->root . '/core/includes/update.inc'; - $this->updateUrl = $GLOBALS['base_url'] . '/update.php'; + $this->updateUrl = Url::fromRoute('system.db_update')->setAbsolute()->toString(); $this->updateUser = $this->drupalCreateUser([ 'administer software updates', ]); diff --git a/web/core/modules/system/tests/src/Functional/UpdateSystem/NoPreExistingSchemaUpdateTest.php b/web/core/modules/system/tests/src/Functional/UpdateSystem/NoPreExistingSchemaUpdateTest.php index fd9b155bf..d36fc941d 100644 --- a/web/core/modules/system/tests/src/Functional/UpdateSystem/NoPreExistingSchemaUpdateTest.php +++ b/web/core/modules/system/tests/src/Functional/UpdateSystem/NoPreExistingSchemaUpdateTest.php @@ -20,6 +20,9 @@ class NoPreExistingSchemaUpdateTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); $connection = Database::getConnection(); diff --git a/web/core/modules/system/tests/src/Functional/UpdateSystem/UpdateScriptTest.php b/web/core/modules/system/tests/src/Functional/UpdateSystem/UpdateScriptTest.php index f4439cd12..6bfe6d68d 100644 --- a/web/core/modules/system/tests/src/Functional/UpdateSystem/UpdateScriptTest.php +++ b/web/core/modules/system/tests/src/Functional/UpdateSystem/UpdateScriptTest.php @@ -58,6 +58,9 @@ class UpdateScriptTest extends BrowserTestBase { */ private $updateUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); $this->updateUrl = Url::fromRoute('system.db_update'); @@ -590,9 +593,9 @@ public function testSuccessfulMultilingualUpdateFunctionality() { // Add some custom languages. foreach (['aa', 'bb'] as $language_code) { ConfigurableLanguage::create([ - 'id' => $language_code, - 'label' => $this->randomMachineName(), - ])->save(); + 'id' => $language_code, + 'label' => $this->randomMachineName(), + ])->save(); } $config = \Drupal::service('config.factory')->getEditable('language.negotiation'); diff --git a/web/core/modules/system/tests/src/Functional/UpdateSystem/UpdatesWith7xTest.php b/web/core/modules/system/tests/src/Functional/UpdateSystem/UpdatesWith7xTest.php index d624c2993..2364e99bd 100644 --- a/web/core/modules/system/tests/src/Functional/UpdateSystem/UpdatesWith7xTest.php +++ b/web/core/modules/system/tests/src/Functional/UpdateSystem/UpdatesWith7xTest.php @@ -2,12 +2,12 @@ namespace Drupal\Tests\system\Functional\UpdateSystem; +use Drupal\Core\Url; use Drupal\Tests\BrowserTestBase; use Drupal\Tests\RequirementsPageTrait; /** - * Tests that the minimum schema version is correct even if only 7.x update - * hooks are retained . + * Tests the minimum schema version when only 7.x update hooks are retained. * * @group Update */ @@ -39,10 +39,13 @@ class UpdatesWith7xTest extends BrowserTestBase { */ private $updateUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); require_once $this->root . '/core/includes/update.inc'; - $this->updateUrl = $GLOBALS['base_url'] . '/update.php'; + $this->updateUrl = Url::fromRoute('system.db_update')->setAbsolute()->toString(); $this->updateUser = $this->drupalCreateUser([ 'administer software updates', ]); diff --git a/web/core/modules/system/tests/src/FunctionalJavascript/Form/ElementsTableSelectTest.php b/web/core/modules/system/tests/src/FunctionalJavascript/Form/ElementsTableSelectTest.php index c38627553..2cfb76dbd 100644 --- a/web/core/modules/system/tests/src/FunctionalJavascript/Form/ElementsTableSelectTest.php +++ b/web/core/modules/system/tests/src/FunctionalJavascript/Form/ElementsTableSelectTest.php @@ -60,4 +60,52 @@ public function testAjax() { } } + /** + * Tests table select with disabled rows. + */ + public function testDisabledRows() { + // Asserts that a row number (1 based) is enabled. + $assert_row_enabled = function ($delta) { + $row = $this->assertSession()->elementExists('xpath', "//table/tbody/tr[$delta]"); + $this->assertFalse($row->hasClass('disabled')); + $input = $row->find('css', 'input[value="row' . $delta . '"]'); + $this->assertFalse($input->hasAttribute('disabled')); + }; + // Asserts that a row number (1 based) is disabled. + $assert_row_disabled = function ($delta) { + $row = $this->assertSession()->elementExists('xpath', "//table/tbody/tr[$delta]"); + $this->assertTrue($row->hasClass('disabled')); + $input = $row->find('css', 'input[value="row' . $delta . '"]'); + $this->assertTrue($input->hasAttribute('disabled')); + $this->assertEquals('disabled', $input->getAttribute('disabled')); + }; + + // Test radios (#multiple == FALSE). + $this->drupalGet('form_test/tableselect/disabled-rows/multiple-false'); + + // Check that only 'row2' is disabled. + $assert_row_enabled(1); + $assert_row_disabled(2); + $assert_row_enabled(3); + + // Test checkboxes (#multiple == TRUE). + $this->drupalGet('form_test/tableselect/disabled-rows/multiple-true'); + + // Check that only 'row2' is disabled. + $assert_row_enabled(1); + $assert_row_disabled(2); + $assert_row_enabled(3); + + // Table select with checkboxes allow selection of all options. + $select_all_checkbox = $this->assertSession()->elementExists('xpath', '//table/thead/tr/th/input'); + $select_all_checkbox->check(); + + // Check that the disabled option was not enabled or selected. + $page = $this->getSession()->getPage(); + $page->hasCheckedField('row1'); + $page->hasUncheckedField('row2'); + $assert_row_disabled(2); + $page->hasCheckedField('row3'); + } + } diff --git a/web/core/modules/system/tests/src/FunctionalJavascript/FrameworkTest.php b/web/core/modules/system/tests/src/FunctionalJavascript/FrameworkTest.php index b9b4384b5..cbf5b13c5 100644 --- a/web/core/modules/system/tests/src/FunctionalJavascript/FrameworkTest.php +++ b/web/core/modules/system/tests/src/FunctionalJavascript/FrameworkTest.php @@ -20,7 +20,7 @@ class FrameworkTest extends WebDriverTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'classy'; + protected $defaultTheme = 'starterkit_theme'; /** * Tests that new JavaScript and CSS files are lazy-loaded on an AJAX request. diff --git a/web/core/modules/system/tests/src/FunctionalJavascript/OffCanvasTestBase.php b/web/core/modules/system/tests/src/FunctionalJavascript/OffCanvasTestBase.php index 782df4540..482c8738e 100644 --- a/web/core/modules/system/tests/src/FunctionalJavascript/OffCanvasTestBase.php +++ b/web/core/modules/system/tests/src/FunctionalJavascript/OffCanvasTestBase.php @@ -109,7 +109,7 @@ protected function getOffCanvasDialog() { * Theme names to test. */ protected function getTestThemes() { - return ['bartik', 'classy', 'olivero', 'seven', 'stable', 'stark']; + return ['claro', 'olivero', 'stable9', 'stark']; } /** diff --git a/web/core/modules/system/tests/src/Kernel/Block/SystemMenuBlockTest.php b/web/core/modules/system/tests/src/Kernel/Block/SystemMenuBlockTest.php index 30575f2ab..8872978fe 100644 --- a/web/core/modules/system/tests/src/Kernel/Block/SystemMenuBlockTest.php +++ b/web/core/modules/system/tests/src/Kernel/Block/SystemMenuBlockTest.php @@ -208,7 +208,7 @@ public function testConfigLevelDepth() { 'test.example2' => [], 'test.example5' => [ 'test.example7' => [], - ], + ], 'test.example6' => [], 'test.example8' => [], ]; diff --git a/web/core/modules/system/tests/src/Kernel/Common/FormElementsRenderTest.php b/web/core/modules/system/tests/src/Kernel/Common/FormElementsRenderTest.php index f5f79c1d2..b0780f54f 100644 --- a/web/core/modules/system/tests/src/Kernel/Common/FormElementsRenderTest.php +++ b/web/core/modules/system/tests/src/Kernel/Common/FormElementsRenderTest.php @@ -19,8 +19,9 @@ class FormElementsRenderTest extends KernelTestBase { protected static $modules = ['common_test', 'system']; /** - * Tests rendering form elements without passing through - * \Drupal::formBuilder()->doBuildForm(). + * Tests rendering form elements without using doBuildForm(). + * + * @see \Drupal\Core\Form\FormBuilderInterface::doBuildForm() */ public function testDrupalRenderFormElements() { // Define a series of form elements. diff --git a/web/core/modules/system/tests/src/Kernel/Common/PageRenderTest.php b/web/core/modules/system/tests/src/Kernel/Common/PageRenderTest.php index a7842b480..e7c0dc726 100644 --- a/web/core/modules/system/tests/src/Kernel/Common/PageRenderTest.php +++ b/web/core/modules/system/tests/src/Kernel/Common/PageRenderTest.php @@ -3,6 +3,8 @@ namespace Drupal\Tests\system\Kernel\Common; use Drupal\KernelTests\KernelTestBase; +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\Response; /** * Test page rendering hooks. @@ -77,4 +79,17 @@ public function assertPageRenderHookExceptions(string $module, string $hook): vo \Drupal::state()->set($module . '.' . $hook . '.render_array', FALSE); } + /** + * Tests HtmlRenderer::invokePageAttachmentHooks in a render context. + */ + public function testHtmlRendererAttachmentsRenderContext(): void { + $this->enableModules(['common_test', 'system']); + \Drupal::state()->set('common_test.hook_page_attachments.render_url', TRUE); + $uri = '/common/attachments-test'; + $request = new Request([], [], [], [], [], ['REQUEST_URI' => $uri, 'SCRIPT_NAME' => $uri]); + $response = \Drupal::service('http_kernel')->handle($request); + + $this->assertEquals(Response::HTTP_OK, $response->getStatusCode()); + } + } diff --git a/web/core/modules/system/tests/src/Kernel/Common/UrlTest.php b/web/core/modules/system/tests/src/Kernel/Common/UrlTest.php index 76c5ffc45..085ac3557 100644 --- a/web/core/modules/system/tests/src/Kernel/Common/UrlTest.php +++ b/web/core/modules/system/tests/src/Kernel/Common/UrlTest.php @@ -12,11 +12,10 @@ use Drupal\KernelTests\KernelTestBase; /** - * Confirm that \Drupal\Core\Url, - * \Drupal\Component\Utility\UrlHelper::filterQueryParameters(), - * \Drupal\Component\Utility\UrlHelper::buildQuery(), and - * \Drupal\Core\Utility\LinkGeneratorInterface::generate() - * work correctly with various input. + * Tests the Url object. + * + * @covers \Drupal\Component\Utility\UrlHelper::filterQueryParameters + * @covers \Drupal\Core\Utility\LinkGenerator::generate * * @group Common */ diff --git a/web/core/modules/system/tests/src/Kernel/DecoratedServiceTest.php b/web/core/modules/system/tests/src/Kernel/DecoratedServiceTest.php index 854662df1..f1bc1bd88 100644 --- a/web/core/modules/system/tests/src/Kernel/DecoratedServiceTest.php +++ b/web/core/modules/system/tests/src/Kernel/DecoratedServiceTest.php @@ -2,6 +2,7 @@ namespace Drupal\Tests\system\Kernel; +use Drupal\Component\DependencyInjection\ReverseContainer; use Drupal\decorated_service_test\TestServiceDecorator; use Drupal\KernelTests\KernelTestBase; @@ -22,12 +23,12 @@ class DecoratedServiceTest extends KernelTestBase { public function testDecoratedServiceId() { // Service decorated once. $test_service = $this->container->get('test_service'); - $this->assertEquals('test_service', $test_service->_serviceId); + $this->assertEquals('test_service', $this->container->get(ReverseContainer::class)->getId($test_service)); $this->assertInstanceOf(TestServiceDecorator::class, $test_service); // Service decorated twice. $test_service2 = $this->container->get('test_service2'); - $this->assertEquals('test_service2', $test_service2->_serviceId); + $this->assertEquals('test_service2', $this->container->get(ReverseContainer::class)->getId($test_service2)); $this->assertInstanceOf(TestServiceDecorator::class, $test_service2); } diff --git a/web/core/modules/system/tests/src/Kernel/Entity/ConfigEntityImportTest.php b/web/core/modules/system/tests/src/Kernel/Entity/ConfigEntityImportTest.php index a970c3025..0b3495dec 100644 --- a/web/core/modules/system/tests/src/Kernel/Entity/ConfigEntityImportTest.php +++ b/web/core/modules/system/tests/src/Kernel/Entity/ConfigEntityImportTest.php @@ -39,7 +39,7 @@ class ConfigEntityImportTest extends KernelTestBase { */ public function testConfigUpdateImport() { $this->installConfig(['action', 'block', 'filter', 'image']); - $this->container->get('theme_installer')->install(['bartik']); + $this->container->get('theme_installer')->install(['olivero']); $config_storage = $this->container->get('config.storage'); // Ensure the 'system.site' config. $config_storage->write('system.site', ['uuid' => (new Php())->generate()]); @@ -83,7 +83,7 @@ protected function doBlockUpdate() { $block = $this->placeBlock('system_powered_by_block', [ 'id' => 'apple', 'label' => 'Red Delicious', - 'theme' => 'bartik', + 'theme' => 'olivero', ]); $this->checkSinglePluginConfigSync($block, 'settings', 'label', 'Red Delicious'); diff --git a/web/core/modules/system/tests/src/Kernel/Entity/EntityReferenceSelectionReferenceableTest.php b/web/core/modules/system/tests/src/Kernel/Entity/EntityReferenceSelectionReferenceableTest.php index a0e5bc687..44c79b602 100644 --- a/web/core/modules/system/tests/src/Kernel/Entity/EntityReferenceSelectionReferenceableTest.php +++ b/web/core/modules/system/tests/src/Kernel/Entity/EntityReferenceSelectionReferenceableTest.php @@ -89,8 +89,9 @@ protected function setUp(): void { } /** - * Tests values returned by SelectionInterface::getReferenceableEntities() - * when the target entity type has no 'label' key. + * Tests referenceable entities with no target entity type 'label' key. + * + * @see \Drupal\Core\Entity\EntityReferenceSelection\SelectionInterface::getReferenceableEntities() * * @param mixed $match * The input text to be checked. diff --git a/web/core/modules/system/tests/src/Kernel/Extension/ModuleHandlerTest.php b/web/core/modules/system/tests/src/Kernel/Extension/ModuleHandlerTest.php index ffd891cd1..347d43822 100644 --- a/web/core/modules/system/tests/src/Kernel/Extension/ModuleHandlerTest.php +++ b/web/core/modules/system/tests/src/Kernel/Extension/ModuleHandlerTest.php @@ -332,10 +332,10 @@ public function testModuleStreamWrappers() { public function testThemeMetaData() { // Generate the list of available themes. $themes = \Drupal::service('theme_handler')->rebuildThemeData(); - // Check that the mtime field exists for the bartik theme. - $this->assertNotEmpty($themes['bartik']->info['mtime'], 'The bartik.info.yml file modification time field is present.'); + // Check that the mtime field exists for the olivero theme. + $this->assertNotEmpty($themes['olivero']->info['mtime'], 'The olivero.info.yml file modification time field is present.'); // Use 0 if mtime isn't present, to avoid an array index notice. - $test_mtime = !empty($themes['bartik']->info['mtime']) ? $themes['bartik']->info['mtime'] : 0; + $test_mtime = !empty($themes['olivero']->info['mtime']) ? $themes['olivero']->info['mtime'] : 0; // Ensure the mtime field contains a number that is greater than zero. $this->assertIsNumeric($test_mtime); $this->assertGreaterThan(0, $test_mtime); diff --git a/web/core/modules/system/tests/src/Kernel/Form/FormObjectTest.php b/web/core/modules/system/tests/src/Kernel/Form/FormObjectTest.php index 939590e11..ecf7c5047 100644 --- a/web/core/modules/system/tests/src/Kernel/Form/FormObjectTest.php +++ b/web/core/modules/system/tests/src/Kernel/Form/FormObjectTest.php @@ -19,6 +19,9 @@ class FormObjectTest extends ConfigFormTestBase { */ protected static $modules = ['form_test']; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/system/tests/src/Kernel/Form/ProgrammaticTest.php b/web/core/modules/system/tests/src/Kernel/Form/ProgrammaticTest.php index 4cb67b542..535ed462a 100644 --- a/web/core/modules/system/tests/src/Kernel/Form/ProgrammaticTest.php +++ b/web/core/modules/system/tests/src/Kernel/Form/ProgrammaticTest.php @@ -57,8 +57,7 @@ public function testSubmissionWorkflow() { } /** - * Helper function used to programmatically submit the form defined in - * form_test.module with the given values. + * Programmatically submits the form_test.module form with the given values. * * @param $values * An array of field values to be submitted. diff --git a/web/core/modules/system/tests/src/Kernel/Mail/MailTest.php b/web/core/modules/system/tests/src/Kernel/Mail/MailTest.php index 1eed7c500..76167feaa 100644 --- a/web/core/modules/system/tests/src/Kernel/Mail/MailTest.php +++ b/web/core/modules/system/tests/src/Kernel/Mail/MailTest.php @@ -40,6 +40,12 @@ protected function setUp(): void { parent::setUp(); $this->installEntitySchema('user'); $this->installEntitySchema('file'); + + // Set required site configuration. + $this->config('system.site') + ->set('mail', 'mailtest@example.com') + ->set('name', 'Drupal') + ->save(); } /** @@ -115,12 +121,6 @@ public function testCancelMessage() { public function testFromAndReplyToHeader() { $language = \Drupal::languageManager()->getCurrentLanguage(); - // Set required site configuration. - $this->config('system.site') - ->set('mail', 'mailtest@example.com') - ->set('name', 'Drupal') - ->save(); - // Reset the state variable that holds sent messages. \Drupal::state()->set('system.test_mail_collector', []); // Send an email with a reply-to address specified. @@ -153,6 +153,15 @@ public function testFromAndReplyToHeader() { // Errors-to header must not be set, it is deprecated. $this->assertFalse(isset($sent_message['headers']['Errors-To'])); + // Test that From names containing commas work as expected. + $this->config('system.site')->set('name', 'Foo, Bar, and Baz')->save(); + // Send an email and check that the From-header contains the site name. + \Drupal::service('plugin.manager.mail')->mail('mail_cancel_test', 'from_test', 'from_test@example.com', $language); + $captured_emails = \Drupal::state()->get('system.test_mail_collector'); + $sent_message = end($captured_emails); + // From header contains the quoted site name with commas. + $this->assertEquals('"Foo, Bar, and Baz" ', $sent_message['headers']['From']); + // Test RFC-2822 rules are respected for 'display-name' component of // 'From:' header. Specials characters are not allowed, so randomly add one // of them to the site name and check the string is wrapped in quotes. Also diff --git a/web/core/modules/system/tests/src/Kernel/Migrate/d7/MigrateThemeSettingsTest.php b/web/core/modules/system/tests/src/Kernel/Migrate/d7/MigrateThemeSettingsTest.php index f1c77017f..4faf62732 100644 --- a/web/core/modules/system/tests/src/Kernel/Migrate/d7/MigrateThemeSettingsTest.php +++ b/web/core/modules/system/tests/src/Kernel/Migrate/d7/MigrateThemeSettingsTest.php @@ -17,8 +17,8 @@ class MigrateThemeSettingsTest extends MigrateDrupal7TestBase { protected function setUp(): void { parent::setUp(); - // Install bartik and seven themes. - \Drupal::service('theme_installer')->install(['bartik', 'seven']); + // Install Olivero and Claro themes. + \Drupal::service('theme_installer')->install(['olivero', 'claro']); $this->executeMigration('d7_theme_settings'); } @@ -26,7 +26,7 @@ protected function setUp(): void { * Tests migration of theme settings to variables to configuration. */ public function testMigrateThemeSettings() { - $config = $this->config('bartik.settings'); + $config = $this->config('olivero.settings'); $this->assertSame('', $config->get('favicon.path')); $this->assertTrue($config->get('favicon.use_default')); @@ -40,7 +40,7 @@ public function testMigrateThemeSettings() { $this->assertSame('public://gnu.png', $config->get('logo.path')); $this->assertFalse($config->get('logo.use_default')); - $config = $this->config('seven.settings'); + $config = $this->config('claro.settings'); $this->assertSame('', $config->get('favicon.path')); $this->assertTrue($config->get('favicon.use_default')); $this->assertFalse($config->get('features.comment_user_picture')); diff --git a/web/core/modules/system/tests/src/Kernel/Plugin/migrate/source/d7/ThemeSettingsTest.php b/web/core/modules/system/tests/src/Kernel/Plugin/migrate/source/d7/ThemeSettingsTest.php index 482e4ddf6..8aa69be39 100644 --- a/web/core/modules/system/tests/src/Kernel/Plugin/migrate/source/d7/ThemeSettingsTest.php +++ b/web/core/modules/system/tests/src/Kernel/Plugin/migrate/source/d7/ThemeSettingsTest.php @@ -46,7 +46,7 @@ public function providerSource() { $tests[0]['source_data']['variable'] = [ [ - 'name' => 'theme_bartik_settings', + 'name' => 'theme_olivero_settings', 'value' => serialize($value), ], ]; @@ -54,7 +54,7 @@ public function providerSource() { // The expected results are nearly identical to the source data. $tests[0]['expected_data'] = [ [ - 'name' => 'theme_bartik_settings', + 'name' => 'theme_olivero_settings', 'value' => $value, ], ]; diff --git a/web/core/modules/system/tests/src/Kernel/Render/ClassyTest.php b/web/core/modules/system/tests/src/Kernel/Render/ClassyTest.php deleted file mode 100644 index 8adb4ebd9..000000000 --- a/web/core/modules/system/tests/src/Kernel/Render/ClassyTest.php +++ /dev/null @@ -1,49 +0,0 @@ -container->get('theme_installer')->install(['classy']); - $this->container->get('config.factory') - ->getEditable('system.theme') - ->set('default', 'classy') - ->save(); - // Clear the theme registry. - $this->container->set('theme.registry', NULL); - - } - - /** - * Tests the classy theme. - */ - public function testClassyTheme() { - \Drupal::messenger()->addError('An error occurred'); - \Drupal::messenger()->addStatus('But then something nice happened'); - $messages = [ - '#type' => 'status_messages', - ]; - $this->render($messages); - $this->assertNoText('custom-test-messages-class', 'The custom class attribute value added in the status messages preprocess function is not displayed as page content.'); - } - -} diff --git a/web/core/modules/system/tests/src/Kernel/System/FloodTest.php b/web/core/modules/system/tests/src/Kernel/System/FloodTest.php index 97b78aa97..cc7b04bb4 100644 --- a/web/core/modules/system/tests/src/Kernel/System/FloodTest.php +++ b/web/core/modules/system/tests/src/Kernel/System/FloodTest.php @@ -3,7 +3,6 @@ namespace Drupal\Tests\system\Kernel\System; use Drupal\Core\Flood\DatabaseBackend; -use Drupal\Core\Flood\MemoryBackend; use Drupal\KernelTests\KernelTestBase; /** @@ -46,46 +45,6 @@ public function testCleanUp() { $this->assertFalse($flood->isAllowed($name, $threshold)); } - /** - * Tests flood control memory backend. - */ - public function testMemoryBackend() { - $threshold = 1; - $window_expired = -1; - $name = 'flood_test_cleanup'; - - $request_stack = \Drupal::service('request_stack'); - $flood = new MemoryBackend($request_stack); - $this->assertTrue($flood->isAllowed($name, $threshold)); - // Register expired event. - $flood->register($name, $window_expired); - // Verify event is not allowed. - $this->assertFalse($flood->isAllowed($name, $threshold)); - // Run cron and verify event is now allowed. - $flood->garbageCollection(); - $this->assertTrue($flood->isAllowed($name, $threshold)); - - // Register unexpired event. - $flood->register($name); - // Verify event is not allowed. - $this->assertFalse($flood->isAllowed($name, $threshold)); - // Run cron and verify event is still not allowed. - $flood->garbageCollection(); - $this->assertFalse($flood->isAllowed($name, $threshold)); - } - - /** - * Tests memory backend records events to the nearest microsecond. - */ - public function testMemoryBackendThreshold() { - $request_stack = \Drupal::service('request_stack'); - $flood = new MemoryBackend($request_stack); - $flood->register('new event'); - $this->assertTrue($flood->isAllowed('new event', '2')); - $flood->register('new event'); - $this->assertFalse($flood->isAllowed('new event', '2')); - } - /** * Tests flood control database backend. */ diff --git a/web/core/modules/system/tests/src/Kernel/Theme/FunctionsTest.php b/web/core/modules/system/tests/src/Kernel/Theme/FunctionsTest.php index 067c7ff89..a621a95ee 100644 --- a/web/core/modules/system/tests/src/Kernel/Theme/FunctionsTest.php +++ b/web/core/modules/system/tests/src/Kernel/Theme/FunctionsTest.php @@ -30,9 +30,9 @@ class FunctionsTest extends KernelTestBase { protected function setUp(): void { parent::setUp(); - // Enable the Classy theme. - $this->container->get('theme_installer')->install(['classy']); - $this->config('system.theme')->set('default', 'classy')->save(); + // Enable the Starterkit theme. + $this->container->get('theme_installer')->install(['starterkit_theme']); + $this->config('system.theme')->set('default', 'starterkit_theme')->save(); } /** @@ -227,13 +227,13 @@ public function testLinks() { $expected_links = ''; $expected_links .= ''; // Verify that passing a string as heading works. @@ -267,13 +267,13 @@ public function testLinks() { ]; $expected_links = ''; $expected_links .= ''; $expected = $expected_heading . $expected_links; $this->assertThemeOutput('links', $variables, $expected); @@ -283,14 +283,14 @@ public function testLinks() { $variables['set_active_class'] = TRUE; $expected_links = ''; $expected_links .= ''; $expected = $expected_heading . $expected_links; $this->assertThemeOutput('links', $variables, $expected); diff --git a/web/core/modules/system/tests/src/Kernel/Theme/TwigNamespaceTest.php b/web/core/modules/system/tests/src/Kernel/Theme/TwigNamespaceTest.php index f758ddd28..cf67b4f5a 100644 --- a/web/core/modules/system/tests/src/Kernel/Theme/TwigNamespaceTest.php +++ b/web/core/modules/system/tests/src/Kernel/Theme/TwigNamespaceTest.php @@ -29,9 +29,12 @@ class TwigNamespaceTest extends KernelTestBase { */ protected $twig; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); - \Drupal::service('theme_installer')->install(['test_theme', 'bartik']); + \Drupal::service('theme_installer')->install(['test_theme', 'olivero']); $this->twig = \Drupal::service('twig'); } @@ -52,7 +55,7 @@ public function testTemplateDiscovery() { $this->assertTwigTemplate($this->twig->load('@node/node.html.twig'), 'Found node.html.twig in node module.'); // Tests resolving namespaced templates in themes. - $this->assertTwigTemplate($this->twig->load('@bartik/page.html.twig'), 'Found page.html.twig in Bartik theme.'); + $this->assertTwigTemplate($this->twig->load('@olivero/layout/page.html.twig'), 'Found page.html.twig in Olivero theme.'); } /** diff --git a/web/core/modules/system/tests/src/Kernel/Token/TokenReplaceKernelTest.php b/web/core/modules/system/tests/src/Kernel/Token/TokenReplaceKernelTest.php index e875c0101..ef27d0905 100644 --- a/web/core/modules/system/tests/src/Kernel/Token/TokenReplaceKernelTest.php +++ b/web/core/modules/system/tests/src/Kernel/Token/TokenReplaceKernelTest.php @@ -9,8 +9,7 @@ use Drupal\Core\Render\BubbleableMetadata; /** - * Generates text using placeholders for dummy content to check token - * replacement. + * Tests token replacement. * * @group system */ diff --git a/web/core/modules/system/tests/src/Kernel/Token/TokenReplaceKernelTestBase.php b/web/core/modules/system/tests/src/Kernel/Token/TokenReplaceKernelTestBase.php index 10c30616d..469c2b91f 100644 --- a/web/core/modules/system/tests/src/Kernel/Token/TokenReplaceKernelTestBase.php +++ b/web/core/modules/system/tests/src/Kernel/Token/TokenReplaceKernelTestBase.php @@ -30,6 +30,9 @@ abstract class TokenReplaceKernelTestBase extends EntityKernelTestBase { */ protected static $modules = ['system']; + /** + * {@inheritdoc} + */ protected function setUp() { parent::setUp(); // Install default system configuration. diff --git a/web/core/modules/system/tests/src/Unit/Breadcrumbs/PathBasedBreadcrumbBuilderTest.php b/web/core/modules/system/tests/src/Unit/Breadcrumbs/PathBasedBreadcrumbBuilderTest.php index e69f2c20c..bc1c6acbd 100644 --- a/web/core/modules/system/tests/src/Unit/Breadcrumbs/PathBasedBreadcrumbBuilderTest.php +++ b/web/core/modules/system/tests/src/Unit/Breadcrumbs/PathBasedBreadcrumbBuilderTest.php @@ -164,7 +164,7 @@ public function testBuildOnFrontpage() { public function testBuildWithOnePathElement() { $this->context->expects($this->once()) ->method('getPathInfo') - ->will($this->returnValue('/example')); + ->willReturn('/example'); $breadcrumb = $this->builder->build($this->createMock('Drupal\Core\Routing\RouteMatchInterface')); $this->assertEquals([0 => new Link('Home', new Url(''))], $breadcrumb->getLinks()); @@ -182,7 +182,7 @@ public function testBuildWithOnePathElement() { public function testBuildWithTwoPathElements() { $this->context->expects($this->once()) ->method('getPathInfo') - ->will($this->returnValue('/example/baz')); + ->willReturn('/example/baz'); $this->setupStubPathProcessor(); $route_1 = new Route('/example'); @@ -221,7 +221,7 @@ public function testBuildWithTwoPathElements() { public function testBuildWithThreePathElements() { $this->context->expects($this->once()) ->method('getPathInfo') - ->will($this->returnValue('/example/bar/baz')); + ->willReturn('/example/bar/baz'); $this->setupStubPathProcessor(); $route_1 = new Route('/example/bar'); @@ -279,7 +279,7 @@ public function testBuildWithThreePathElements() { public function testBuildWithException($exception_class, $exception_argument) { $this->context->expects($this->once()) ->method('getPathInfo') - ->will($this->returnValue('/example/bar')); + ->willReturn('/example/bar'); $this->setupStubPathProcessor(); $this->requestMatcher->expects($this->any()) @@ -320,15 +320,15 @@ public function providerTestBuildWithException() { public function testBuildWithNonProcessedPath() { $this->context->expects($this->once()) ->method('getPathInfo') - ->will($this->returnValue('/example/bar')); + ->willReturn('/example/bar'); $this->pathProcessor->expects($this->once()) ->method('processInbound') - ->will($this->returnValue(FALSE)); + ->willReturn(FALSE); $this->requestMatcher->expects($this->any()) ->method('matchRequest') - ->will($this->returnValue([])); + ->willReturn([]); $breadcrumb = $this->builder->build($this->createMock('Drupal\Core\Routing\RouteMatchInterface')); @@ -357,7 +357,7 @@ public function testApplies() { public function testBuildWithUserPath() { $this->context->expects($this->once()) ->method('getPathInfo') - ->will($this->returnValue('/user/1/edit')); + ->willReturn('/user/1/edit'); $this->setupStubPathProcessor(); $route_1 = new Route('/user/1'); @@ -378,7 +378,7 @@ public function testBuildWithUserPath() { $this->titleResolver->expects($this->once()) ->method('getTitle') ->with($this->anything(), $route_1) - ->will($this->returnValue('Admin')); + ->willReturn('Admin'); $breadcrumb = $this->builder->build($this->createMock('Drupal\Core\Routing\RouteMatchInterface')); $this->assertEquals([0 => new Link('Home', new Url('')), 1 => new Link('Admin', new Url('user_page'))], $breadcrumb->getLinks()); diff --git a/web/core/modules/system/tests/src/Unit/Event/SecurityFileUploadEventSubscriberTest.php b/web/core/modules/system/tests/src/Unit/Event/SecurityFileUploadEventSubscriberTest.php index ffeaa0de1..8b6b8de50 100644 --- a/web/core/modules/system/tests/src/Unit/Event/SecurityFileUploadEventSubscriberTest.php +++ b/web/core/modules/system/tests/src/Unit/Event/SecurityFileUploadEventSubscriberTest.php @@ -86,6 +86,9 @@ public function provideFilenames() { 'null bytes are removed' => ['foo' . chr(0) . '.txt' . chr(0), '', 'foo.txt'], 'dot files are renamed' => ['.git', '', 'git'], 'htaccess files are renamed even if allowed' => ['.htaccess', 'htaccess txt', '.htaccess_.txt', '.htaccess'], + '.phtml extension allowed with .phtml file' => ['foo.phtml', 'phtml', 'foo.phtml'], + '.phtml, .txt extension allowed with .phtml file' => ['foo.phtml', 'phtml txt', 'foo.phtml_.txt', 'foo.phtml'], + 'All extensions allowed with .phtml file' => ['foo.phtml', '', 'foo.phtml_.txt', 'foo.phtml'], ]; } diff --git a/web/core/modules/system/tests/src/Unit/Menu/SystemLocalTasksTest.php b/web/core/modules/system/tests/src/Unit/Menu/SystemLocalTasksTest.php index 9c59b4c48..55d79ec9f 100644 --- a/web/core/modules/system/tests/src/Unit/Menu/SystemLocalTasksTest.php +++ b/web/core/modules/system/tests/src/Unit/Menu/SystemLocalTasksTest.php @@ -31,17 +31,17 @@ protected function setUp(): void { $this->themeHandler = $this->createMock('Drupal\Core\Extension\ThemeHandlerInterface'); - $theme = new Extension($this->root, 'theme', 'core/themes/bartik', 'bartik.info.yml'); + $theme = new Extension($this->root, 'theme', 'core/themes/olivero', 'olivero.info.yml'); $theme->status = 1; - $theme->info = ['name' => 'bartik']; + $theme->info = ['name' => 'olivero']; $this->themeHandler->expects($this->any()) ->method('listInfo') - ->will($this->returnValue([ - 'bartik' => $theme, - ])); + ->willReturn([ + 'olivero' => $theme, + ]); $this->themeHandler->expects($this->any()) ->method('hasUi') - ->with('bartik') + ->with('olivero') ->willReturn(TRUE); $this->container->set('theme_handler', $this->themeHandler); } @@ -65,7 +65,7 @@ public function getSystemAdminRoutes() { 'system.theme_settings_theme', [ ['system.themes_page', 'system.theme_settings'], - ['system.theme_settings_global', 'system.theme_settings_theme:bartik'], + ['system.theme_settings_global', 'system.theme_settings_theme:olivero'], ], ], ]; diff --git a/web/core/modules/system/tests/src/Unit/Transliteration/MachineNameControllerTest.php b/web/core/modules/system/tests/src/Unit/Transliteration/MachineNameControllerTest.php index af8954e80..a5fbf2562 100644 --- a/web/core/modules/system/tests/src/Unit/Transliteration/MachineNameControllerTest.php +++ b/web/core/modules/system/tests/src/Unit/Transliteration/MachineNameControllerTest.php @@ -33,6 +33,9 @@ class MachineNameControllerTest extends UnitTestCase { */ protected $tokenGenerator; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); // Create the machine name controller. diff --git a/web/core/modules/system/tests/themes/test_basetheme/test_basetheme.info.yml b/web/core/modules/system/tests/themes/test_basetheme/test_basetheme.info.yml index 7c6dccd01..ad03c934e 100644 --- a/web/core/modules/system/tests/themes/test_basetheme/test_basetheme.info.yml +++ b/web/core/modules/system/tests/themes/test_basetheme/test_basetheme.info.yml @@ -11,15 +11,14 @@ libraries-override: core/drupal.dialog: js: misc/dialog/dialog.js: false - core/jquery.farbtastic: - css: - component: - assets/vendor/farbtastic/farbtastic.css: css/farbtastic.css + core/loadjs: + js: + assets/vendor/loadjs/loadjs.min.js: js/loadjs.min.js theme_test/theme_stylesheets_override_and_remove_test: css: base: css/base-remove.css: false libraries-extend: - classy/base: + starterkit_theme/base: - test_basetheme/global-styling diff --git a/web/core/modules/system/tests/themes/test_core_semver/test_core_semver.info.yml b/web/core/modules/system/tests/themes/test_core_semver/test_core_semver.info.yml index fae63ead7..8cc62edb6 100644 --- a/web/core/modules/system/tests/themes/test_core_semver/test_core_semver.info.yml +++ b/web/core/modules/system/tests/themes/test_core_semver/test_core_semver.info.yml @@ -1,6 +1,6 @@ name: 'Theme test with semver core version' type: theme -base theme: stable +base theme: stable9 description: 'Test theme which has semver core version.' version: VERSION core_version_requirement: ^8 || ^9 || ^10 diff --git a/web/core/modules/system/tests/themes/test_invalid_core_semver/test_invalid_core_semver.info.yml b/web/core/modules/system/tests/themes/test_invalid_core_semver/test_invalid_core_semver.info.yml index 21630e401..1c571af7e 100644 --- a/web/core/modules/system/tests/themes/test_invalid_core_semver/test_invalid_core_semver.info.yml +++ b/web/core/modules/system/tests/themes/test_invalid_core_semver/test_invalid_core_semver.info.yml @@ -1,6 +1,6 @@ name: 'Theme test with invalid semver core version' type: theme -base theme: stable +base theme: stable9 description: 'Test theme which has an invalid semver core version.' version: VERSION core_version_requirement: ^7 diff --git a/web/core/modules/system/tests/themes/test_invalid_region/test_invalid_region.info.yml b/web/core/modules/system/tests/themes/test_invalid_region/test_invalid_region.info.yml index 95be361a2..95524e3b5 100644 --- a/web/core/modules/system/tests/themes/test_invalid_region/test_invalid_region.info.yml +++ b/web/core/modules/system/tests/themes/test_invalid_region/test_invalid_region.info.yml @@ -1,6 +1,6 @@ name: 'Theme test with missing content region' type: theme -base theme: stable +base theme: stable9 description: 'Test theme which has a non-existent content region.' version: VERSION regions: diff --git a/web/core/modules/system/tests/themes/test_messages/test_messages.info.yml b/web/core/modules/system/tests/themes/test_messages/test_messages.info.yml index 30c0a61b6..efa4c3b9b 100644 --- a/web/core/modules/system/tests/themes/test_messages/test_messages.info.yml +++ b/web/core/modules/system/tests/themes/test_messages/test_messages.info.yml @@ -2,4 +2,4 @@ name: 'Theme test messages' type: theme description: 'Test theme which provides another div for messages.' version: VERSION -base theme: classy +base theme: starterkit_theme diff --git a/web/core/modules/system/tests/themes/test_subseven/test_subseven.info.yml b/web/core/modules/system/tests/themes/test_subseven/test_subseven.info.yml deleted file mode 100644 index 05264eef0..000000000 --- a/web/core/modules/system/tests/themes/test_subseven/test_subseven.info.yml +++ /dev/null @@ -1,5 +0,0 @@ -name: 'Theme test subseven' -type: theme -description: 'Test theme which uses seven as the base theme.' -version: VERSION -base theme: seven diff --git a/web/core/modules/system/tests/themes/test_subtheme/test_subtheme.info.yml b/web/core/modules/system/tests/themes/test_subtheme/test_subtheme.info.yml index 9c59c60b7..919436f47 100644 --- a/web/core/modules/system/tests/themes/test_subtheme/test_subtheme.info.yml +++ b/web/core/modules/system/tests/themes/test_subtheme/test_subtheme.info.yml @@ -15,5 +15,5 @@ libraries-override: base: base-add.sub-remove.css: false libraries-extend: - classy/base: + starterkit_theme/base: - test_subtheme/global-styling diff --git a/web/core/modules/system/tests/themes/test_theme/test_theme.info.yml b/web/core/modules/system/tests/themes/test_theme/test_theme.info.yml index d91109656..854c5b4e6 100644 --- a/web/core/modules/system/tests/themes/test_theme/test_theme.info.yml +++ b/web/core/modules/system/tests/themes/test_theme/test_theme.info.yml @@ -12,7 +12,7 @@ name: 'Test theme' type: theme description: 'Theme for testing the theme system' version: VERSION -base theme: classy +base theme: starterkit_theme logo: images/logo2.svg libraries: - test_theme/global-styling @@ -22,7 +22,7 @@ libraries-override: # Remove an entire library. core/drupal.progress: false # Replace particular library assets. - classy/base: + starterkit_theme/base: css: component: css/components/button.css: css/my-button.css @@ -30,14 +30,14 @@ libraries-override: css/components/container-inline.css: /themes/my_theme/css/my-container-inline.css css/components/details.css: /themes/my_theme/css/my-details.css # Remove particular library assets. - classy/dialog: + starterkit_theme/dialog: css: component: css/components/dialog.css: false system/base: css: component: - /core/themes/stable/css/system/components/js.module.css: false + /core/themes/stable9/css/system/components/js.module.css: false # It works for JS as well. core/jquery: js: @@ -46,21 +46,20 @@ libraries-override: core/drupal.dropbutton: css: component: - /core/themes/stable/css/core/dropbutton/dropbutton.css: /themes/my_theme/css/dropbutton.css + /core/themes/stable9/css/core/dropbutton/dropbutton.css: /themes/my_theme/css/dropbutton.css # Use stream wrappers. core/drupal.vertical-tabs: css: component: - /core/themes/stable/css/core/vertical-tabs.css: public://my_css/vertical-tabs.css + /core/themes/stable9/css/core/vertical-tabs.css: public://my_css/vertical-tabs.css # Use a protocol-relative URI. core/drupal.displace: js: misc/displace.js: //my-server/my_theme/js/overridden.js # Use an absolute URI. - core/jquery.farbtastic: - css: - component: - assets/vendor/farbtastic/farbtastic.css: http://example.com/my_theme/css/farbtastic.css + core/loadjs: + js: + assets/vendor/loadjs/loadjs.min.js: http://example.com/my_theme/js/loadjs.min.js regions: content: Content diff --git a/web/core/modules/system/tests/themes/test_theme_having_veery_long_name_which_is_too_long/test_theme_having_veery_long_name_which_is_too_long.info.yml b/web/core/modules/system/tests/themes/test_theme_having_veery_long_name_which_is_too_long/test_theme_having_veery_long_name_which_is_too_long.info.yml index 06aaca063..3ee5fb729 100644 --- a/web/core/modules/system/tests/themes/test_theme_having_veery_long_name_which_is_too_long/test_theme_having_veery_long_name_which_is_too_long.info.yml +++ b/web/core/modules/system/tests/themes/test_theme_having_veery_long_name_which_is_too_long/test_theme_having_veery_long_name_which_is_too_long.info.yml @@ -1,4 +1,4 @@ type: theme -base theme: stable +base theme: stable9 name: 'Test theme with a too long name' version: VERSION diff --git a/web/core/modules/system/tests/themes/test_theme_libraries_empty/test_theme_libraries_empty.info.yml b/web/core/modules/system/tests/themes/test_theme_libraries_empty/test_theme_libraries_empty.info.yml index 759e42015..f6b660a8f 100644 --- a/web/core/modules/system/tests/themes/test_theme_libraries_empty/test_theme_libraries_empty.info.yml +++ b/web/core/modules/system/tests/themes/test_theme_libraries_empty/test_theme_libraries_empty.info.yml @@ -2,5 +2,5 @@ name: 'Test theme libraries empty' type: theme description: 'Test theme with empty libraries in theme.info.yml' version: VERSION -base theme: classy +base theme: starterkit_theme libraries: diff --git a/web/core/modules/system/tests/themes/test_theme_libraries_extend/test_theme_libraries_extend.info.yml b/web/core/modules/system/tests/themes/test_theme_libraries_extend/test_theme_libraries_extend.info.yml index 6a92fe3f5..6e3d545b1 100644 --- a/web/core/modules/system/tests/themes/test_theme_libraries_extend/test_theme_libraries_extend.info.yml +++ b/web/core/modules/system/tests/themes/test_theme_libraries_extend/test_theme_libraries_extend.info.yml @@ -2,9 +2,9 @@ name: 'Test theme libraries-extend' type: theme description: 'Test Theme with libraries-extend' version: VERSION -base theme: classy +base theme: starterkit_theme libraries-extend: - classy/book-navigation: + starterkit_theme/book-navigation: - test_theme_libraries_extend/extend_one - test_theme_libraries_extend/extend_two core/drupal.dialog: diff --git a/web/core/modules/system/tests/themes/test_theme_libraries_override_with_drupal_settings/test_theme_libraries_override_with_drupal_settings.info.yml b/web/core/modules/system/tests/themes/test_theme_libraries_override_with_drupal_settings/test_theme_libraries_override_with_drupal_settings.info.yml index 48971e443..fbf432648 100644 --- a/web/core/modules/system/tests/themes/test_theme_libraries_override_with_drupal_settings/test_theme_libraries_override_with_drupal_settings.info.yml +++ b/web/core/modules/system/tests/themes/test_theme_libraries_override_with_drupal_settings/test_theme_libraries_override_with_drupal_settings.info.yml @@ -2,7 +2,7 @@ name: 'Test theme libraries-override' type: theme description: 'Theme with drupalSettings libraries-override' version: VERSION -base theme: classy +base theme: starterkit_theme libraries-override: # drupalSettings libraries override. Should throw a # \Drupal\Core\Asset\Exception\InvalidLibrariesOverrideSpecificationException. diff --git a/web/core/modules/system/tests/themes/test_theme_libraries_override_with_invalid_asset/test_theme_libraries_override_with_invalid_asset.info.yml b/web/core/modules/system/tests/themes/test_theme_libraries_override_with_invalid_asset/test_theme_libraries_override_with_invalid_asset.info.yml index 347301999..06c17df97 100644 --- a/web/core/modules/system/tests/themes/test_theme_libraries_override_with_invalid_asset/test_theme_libraries_override_with_invalid_asset.info.yml +++ b/web/core/modules/system/tests/themes/test_theme_libraries_override_with_invalid_asset/test_theme_libraries_override_with_invalid_asset.info.yml @@ -2,7 +2,7 @@ name: 'Test theme libraries-override' type: theme description: 'Theme with invalid libraries-override asset spec.' version: VERSION -base theme: classy +base theme: starterkit_theme libraries-override: # A malformed library asset name. Should throw a # \Drupal\Core\Asset\Exception\InvalidLibrariesOverrideSpecificationException. diff --git a/web/core/modules/system/tests/themes/test_theme_settings_features/test_theme_settings_features.info.yml b/web/core/modules/system/tests/themes/test_theme_settings_features/test_theme_settings_features.info.yml index fd71868fd..892a3cebc 100644 --- a/web/core/modules/system/tests/themes/test_theme_settings_features/test_theme_settings_features.info.yml +++ b/web/core/modules/system/tests/themes/test_theme_settings_features/test_theme_settings_features.info.yml @@ -1,6 +1,6 @@ name: Test features type: theme -base theme: stable +base theme: stable9 description: 'Test theme to test theme settings with limited features.' features: - node_user_picture diff --git a/web/core/modules/system/tests/themes/test_theme_twig_registry_loader/test_theme_twig_registry_loader.info.yml b/web/core/modules/system/tests/themes/test_theme_twig_registry_loader/test_theme_twig_registry_loader.info.yml index 0f8bdc89e..c72e21d1c 100644 --- a/web/core/modules/system/tests/themes/test_theme_twig_registry_loader/test_theme_twig_registry_loader.info.yml +++ b/web/core/modules/system/tests/themes/test_theme_twig_registry_loader/test_theme_twig_registry_loader.info.yml @@ -1,5 +1,5 @@ name: 'Twig registry loader test' type: theme -base theme: stable +base theme: stable9 description: 'Support module for Twig registry loader testing.' version: VERSION diff --git a/web/core/modules/system/tests/themes/test_wild_west/test_wild_west.info.yml b/web/core/modules/system/tests/themes/test_wild_west/test_wild_west.info.yml index bf9298a65..9bfb5c848 100644 --- a/web/core/modules/system/tests/themes/test_wild_west/test_wild_west.info.yml +++ b/web/core/modules/system/tests/themes/test_wild_west/test_wild_west.info.yml @@ -1,5 +1,5 @@ name: Test Wild West type: theme -description: A theme that doesn't use Stable as its base. It tests the wild west instead. +description: A theme that doesn't use Stable 9 as its base. It tests the wild west instead. version: VERSION base theme: false diff --git a/web/core/modules/taxonomy/migrations/d6_vocabulary_field_instance.yml b/web/core/modules/taxonomy/migrations/d6_vocabulary_field_instance.yml index 321b5713a..8aa9ac664 100644 --- a/web/core/modules/taxonomy/migrations/d6_vocabulary_field_instance.yml +++ b/web/core/modules/taxonomy/migrations/d6_vocabulary_field_instance.yml @@ -60,12 +60,12 @@ process: plugin: target_bundle 'settings/handler_settings/auto_create': 'constants/auto_create' required: required - # Get the i18n taxonomy translation setting for this vocabulary. - # 0 - No multilingual options - # 1 - Localizable terms. Run through the localization system. - # 2 - Predefined language for a vocabulary and its terms. - # 3 - Per-language terms, translatable (referencing terms with different - # languages) but not localizable. + # Get the i18n taxonomy translation setting for this vocabulary. + # 0 - No multilingual options + # 1 - Localizable terms. Run through the localization system. + # 2 - Predefined language for a vocabulary and its terms. + # 3 - Per-language terms, translatable (referencing terms with different + # languages) but not localizable. translatable: plugin: static_map source: i18ntaxonomy_vocabulary diff --git a/web/core/modules/taxonomy/src/Entity/Term.php b/web/core/modules/taxonomy/src/Entity/Term.php index 87f428aba..5b4d8dbdb 100644 --- a/web/core/modules/taxonomy/src/Entity/Term.php +++ b/web/core/modules/taxonomy/src/Entity/Term.php @@ -267,7 +267,7 @@ public function setName($name) { * {@inheritdoc} */ public function getWeight() { - return $this->get('weight')->value; + return (int) $this->get('weight')->value; } /** diff --git a/web/core/modules/taxonomy/src/Form/OverviewTerms.php b/web/core/modules/taxonomy/src/Form/OverviewTerms.php index ebc9e5933..d199c8b10 100644 --- a/web/core/modules/taxonomy/src/Form/OverviewTerms.php +++ b/web/core/modules/taxonomy/src/Form/OverviewTerms.php @@ -231,7 +231,7 @@ public function buildForm(array $form, FormStateInterface $form_state, Vocabular // error. Ensure the form is rebuilt in the same order as the user // submitted. $user_input = $form_state->getUserInput(); - if (!empty($user_input)) { + if (!empty($user_input['terms'])) { // Get the POST order. $order = array_flip(array_keys($user_input['terms'])); // Update our form with the new order. diff --git a/web/core/modules/taxonomy/src/Plugin/migrate/D7TaxonomyTermDeriver.php b/web/core/modules/taxonomy/src/Plugin/migrate/D7TaxonomyTermDeriver.php index c116f813e..2306b87f4 100644 --- a/web/core/modules/taxonomy/src/Plugin/migrate/D7TaxonomyTermDeriver.php +++ b/web/core/modules/taxonomy/src/Plugin/migrate/D7TaxonomyTermDeriver.php @@ -5,6 +5,7 @@ use Drupal\Component\Plugin\Derivative\DeriverBase; use Drupal\Core\Database\DatabaseExceptionWrapper; use Drupal\Core\Plugin\Discovery\ContainerDeriverInterface; +use Drupal\Core\StringTranslation\StringTranslationTrait; use Drupal\migrate\Exception\RequirementsException; use Drupal\migrate\Plugin\MigrationDeriverTrait; use Drupal\migrate_drupal\FieldDiscoveryInterface; @@ -15,6 +16,7 @@ */ class D7TaxonomyTermDeriver extends DeriverBase implements ContainerDeriverInterface { use MigrationDeriverTrait; + use StringTranslationTrait; /** * The base plugin ID this derivative is for. @@ -74,7 +76,7 @@ public function getDerivativeDefinitions($base_plugin_definition) { $bundle = $row->getSourceProperty('machine_name'); $values = $base_plugin_definition; - $values['label'] = t('@label (@type)', [ + $values['label'] = $this->t('@label (@type)', [ '@label' => $values['label'], '@type' => $row->getSourceProperty('name'), ]); diff --git a/web/core/modules/taxonomy/src/Plugin/views/field/TaxonomyIndexTid.php b/web/core/modules/taxonomy/src/Plugin/views/field/TaxonomyIndexTid.php index 805f56b8c..dc145a0e0 100644 --- a/web/core/modules/taxonomy/src/Plugin/views/field/TaxonomyIndexTid.php +++ b/web/core/modules/taxonomy/src/Plugin/views/field/TaxonomyIndexTid.php @@ -135,11 +135,11 @@ public function preRender(&$values) { } if ($nids) { - $vocabs = array_filter($this->options['vids']); + $vids = array_filter($this->options['vids']); if (empty($this->options['limit'])) { - $vocabs = []; + $vids = []; } - $result = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->getNodeTerms($nids, $vocabs); + $result = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->getNodeTerms($nids, $vids); foreach ($result as $node_nid => $data) { foreach ($data as $tid => $term) { diff --git a/web/core/modules/taxonomy/src/Plugin/views/field/TermName.php b/web/core/modules/taxonomy/src/Plugin/views/field/TermName.php index eefc3e3d3..18c7f353b 100644 --- a/web/core/modules/taxonomy/src/Plugin/views/field/TermName.php +++ b/web/core/modules/taxonomy/src/Plugin/views/field/TermName.php @@ -23,9 +23,10 @@ public function getItems(ResultRow $values) { if ($this->options['convert_spaces']) { foreach ($items as &$item) { // Replace spaces with hyphens. - $name = $item['raw']->get('value')->getValue(); - // @todo Add link support https://www.drupal.org/node/2567745 - $item['rendered']['#context']['value'] = str_replace(' ', '-', $name); + $name = str_replace(' ', '-', $item['raw']->get('value')->getValue()); + empty($this->options['settings']['link_to_entity']) ? + $item['rendered']['#context']['value'] = $name : + $item['rendered']['#title']['#context']['value'] = $name; } } return $items; diff --git a/web/core/modules/taxonomy/src/Plugin/views/filter/TaxonomyIndexTid.php b/web/core/modules/taxonomy/src/Plugin/views/filter/TaxonomyIndexTid.php index 76c963555..7710bae69 100644 --- a/web/core/modules/taxonomy/src/Plugin/views/filter/TaxonomyIndexTid.php +++ b/web/core/modules/taxonomy/src/Plugin/views/filter/TaxonomyIndexTid.php @@ -284,7 +284,7 @@ protected function valueForm(&$form, FormStateInterface $form_state) { $this->helper->buildOptionsForm($form, $form_state); // Show help text if not exposed to end users. - $form['value']['#description'] = t('Leave blank for all. Otherwise, the first selected term will be the default instead of "Any".'); + $form['value']['#description'] = $this->t('Leave blank for all. Otherwise, the first selected term will be the default instead of "Any".'); } } diff --git a/web/core/modules/taxonomy/src/TermForm.php b/web/core/modules/taxonomy/src/TermForm.php index c1388a2cd..ee84dd699 100644 --- a/web/core/modules/taxonomy/src/TermForm.php +++ b/web/core/modules/taxonomy/src/TermForm.php @@ -23,12 +23,7 @@ public function form(array $form, FormStateInterface $form_state) { $taxonomy_storage = $this->entityTypeManager->getStorage('taxonomy_term'); $vocabulary = $vocab_storage->load($term->bundle()); - $parent = []; - // Get the parent directly from the term as - // \Drupal\taxonomy\TermStorageInterface::loadParents() excludes the root. - foreach ($term->get('parent') as $item) { - $parent[] = (int) $item->target_id; - } + $parent = $this->getParentIds($term); $form_state->set(['taxonomy', 'parent'], $parent); $form_state->set(['taxonomy', 'vocabulary'], $vocabulary); @@ -114,6 +109,7 @@ protected function actions(array $form, FormStateInterface $form_state) { '#value' => $this->t('Save and go to list'), '#weight' => 20, '#submit' => array_merge($element['submit']['#submit'], ['::overview']), + '#access' => $this->currentUser()->hasPermission('access taxonomy overview'), ]; } @@ -205,6 +201,7 @@ public function save(array $form, FormStateInterface $form_state) { case SAVED_UPDATED: $this->messenger()->addStatus($this->t('Updated term %term.', ['%term' => $view_link])); $this->logger('taxonomy')->notice('Updated term %term.', ['%term' => $term->getName(), 'link' => $edit_link]); + $form_state->setRedirect('entity.taxonomy_term.canonical', ['taxonomy_term' => $term->id()]); break; } @@ -218,4 +215,23 @@ public function save(array $form, FormStateInterface $form_state) { $form_state->set('tid', $term->id()); } + /** + * Returns term parent IDs, including the root. + * + * @param \Drupal\taxonomy\TermInterface $term + * The taxonomy term entity. + * + * @return array + * A list if parent term IDs. + */ + protected function getParentIds(TermInterface $term): array { + $parent = []; + // Get the parent directly from the term as + // \Drupal\taxonomy\TermStorageInterface::loadParents() excludes the root. + foreach ($term->get('parent') as $item) { + $parent[] = (int) $item->target_id; + } + return $parent; + } + } diff --git a/web/core/modules/taxonomy/src/TermStorage.php b/web/core/modules/taxonomy/src/TermStorage.php index 696be8ff7..04c2cfc09 100644 --- a/web/core/modules/taxonomy/src/TermStorage.php +++ b/web/core/modules/taxonomy/src/TermStorage.php @@ -40,8 +40,7 @@ class TermStorage extends SqlContentEntityStorage implements TermStorageInterfac protected $trees = []; /** - * Array of all loaded term ancestry keyed by ancestor term ID, keyed by term - * ID. + * Term ancestry keyed by ancestor term ID, keyed by term ID. * * @var \Drupal\taxonomy\TermInterface[][] */ @@ -340,7 +339,7 @@ public function resetWeights($vid) { /** * {@inheritdoc} */ - public function getNodeTerms(array $nids, array $vocabs = [], $langcode = NULL) { + public function getNodeTerms(array $nids, array $vids = [], $langcode = NULL) { $query = $this->database->select($this->getDataTable(), 'td'); $query->innerJoin('taxonomy_index', 'tn', '[td].[tid] = [tn].[tid]'); $query->fields('td', ['tid']); @@ -349,8 +348,8 @@ public function getNodeTerms(array $nids, array $vocabs = [], $langcode = NULL) $query->orderby('td.name'); $query->condition('tn.nid', $nids, 'IN'); $query->addTag('taxonomy_term_access'); - if (!empty($vocabs)) { - $query->condition('td.vid', $vocabs, 'IN'); + if (!empty($vids)) { + $query->condition('td.vid', $vids, 'IN'); } if (!empty($langcode)) { $query->condition('td.langcode', $langcode); diff --git a/web/core/modules/taxonomy/src/TermStorageInterface.php b/web/core/modules/taxonomy/src/TermStorageInterface.php index 29401868d..338e6d675 100644 --- a/web/core/modules/taxonomy/src/TermStorageInterface.php +++ b/web/core/modules/taxonomy/src/TermStorageInterface.php @@ -116,16 +116,16 @@ public function resetWeights($vid); * * @param array $nids * Node IDs to retrieve terms for. - * @param array $vocabs - * (optional) A vocabularies array to restrict the term search. Defaults to - * empty array. + * @param array $vids + * (optional) an array of vocabulary IDs to restrict the term search. + * Defaults to empty array. * @param string $langcode * (optional) A language code to restrict the term search. Defaults to NULL. * * @return array * An array of nids and the term entities they were tagged with. */ - public function getNodeTerms(array $nids, array $vocabs = [], $langcode = NULL); + public function getNodeTerms(array $nids, array $vids = [], $langcode = NULL); /** * Returns the hierarchy type for a specific vocabulary ID. diff --git a/web/core/modules/taxonomy/taxonomy.js b/web/core/modules/taxonomy/taxonomy.js index 0fe952bf0..511182e2e 100644 --- a/web/core/modules/taxonomy/taxonomy.js +++ b/web/core/modules/taxonomy/taxonomy.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal) { Drupal.behaviors.termDrag = { attach: function attach(context, settings) { @@ -13,27 +12,22 @@ var tableDrag = Drupal.tableDrag.taxonomy; var $table = $('#taxonomy'); var rows = $table.find('tr').length; - tableDrag.row.prototype.onSwap = function (swappedRow) { $table.find('tr.taxonomy-term-preview').removeClass('taxonomy-term-preview'); $table.find('tr.taxonomy-term-divider-top').removeClass('taxonomy-term-divider-top'); $table.find('tr.taxonomy-term-divider-bottom').removeClass('taxonomy-term-divider-bottom'); var tableBody = $table[0].tBodies[0]; - if (backStep) { for (var n = 0; n < backStep; n++) { $(tableBody.rows[n]).addClass('taxonomy-term-preview'); } - $(tableBody.rows[backStep - 1]).addClass('taxonomy-term-divider-top'); $(tableBody.rows[backStep]).addClass('taxonomy-term-divider-bottom'); } - if (forwardStep) { for (var k = rows - forwardStep - 1; k < rows - 1; k++) { $(tableBody.rows[k]).addClass('taxonomy-term-preview'); } - $(tableBody.rows[rows - forwardStep - 2]).addClass('taxonomy-term-divider-top'); $(tableBody.rows[rows - forwardStep - 1]).addClass('taxonomy-term-divider-bottom'); } diff --git a/web/core/modules/taxonomy/taxonomy.module b/web/core/modules/taxonomy/taxonomy.module index c221d7c4a..52e7e69f7 100644 --- a/web/core/modules/taxonomy/taxonomy.module +++ b/web/core/modules/taxonomy/taxonomy.module @@ -209,7 +209,7 @@ function taxonomy_vocabulary_get_names() { * @param $vocabulary * (optional) Vocabulary machine name to limit the search. Defaults to NULL. * - * @return + * @return \Drupal\taxonomy\TermInterface[] * An array of matching term objects. * * @deprecated in drupal:9.3.0 and is removed from drupal:10.0.0. Use @@ -259,7 +259,7 @@ function taxonomy_implode_tags($tags, $vid = NULL) { * @param \Drupal\taxonomy\Entity\Term $term * A taxonomy term entity. * - * @return + * @return string * The term name to be used as the page title. * * @deprecated in drupal:9.3.0 and is removed from drupal:10.0.0. Use diff --git a/web/core/modules/taxonomy/taxonomy.services.yml b/web/core/modules/taxonomy/taxonomy.services.yml index b724d27e5..43818281c 100644 --- a/web/core/modules/taxonomy/taxonomy.services.yml +++ b/web/core/modules/taxonomy/taxonomy.services.yml @@ -5,7 +5,7 @@ services: tags: - { name: breadcrumb_builder, priority: 1002 } taxonomy_term.taxonomy_term_route_context: - class: Drupal\taxonomy\ContextProvider\TermRouteContext - arguments: ['@current_route_match'] - tags: - - { name: 'context_provider' } + class: Drupal\taxonomy\ContextProvider\TermRouteContext + arguments: ['@current_route_match'] + tags: + - { name: 'context_provider' } diff --git a/web/core/modules/taxonomy/tests/modules/taxonomy_term_display_configurable_test/taxonomy_term_display_configurable_test.module b/web/core/modules/taxonomy/tests/modules/taxonomy_term_display_configurable_test/taxonomy_term_display_configurable_test.module index 6114a9c45..3d0607894 100644 --- a/web/core/modules/taxonomy/tests/modules/taxonomy_term_display_configurable_test/taxonomy_term_display_configurable_test.module +++ b/web/core/modules/taxonomy/tests/modules/taxonomy_term_display_configurable_test/taxonomy_term_display_configurable_test.module @@ -2,8 +2,7 @@ /** * @file - * A module for testing making taxonomy_term base fields' displays - * configurable. + * Tests configurable displays for taxonomy_term base fields. */ use Drupal\Core\Entity\EntityTypeInterface; diff --git a/web/core/modules/taxonomy/tests/src/Functional/EarlyDateTest.php b/web/core/modules/taxonomy/tests/src/Functional/EarlyDateTest.php index deed0d403..17a7d992c 100644 --- a/web/core/modules/taxonomy/tests/src/Functional/EarlyDateTest.php +++ b/web/core/modules/taxonomy/tests/src/Functional/EarlyDateTest.php @@ -25,6 +25,9 @@ class EarlyDateTest extends TaxonomyTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/taxonomy/tests/src/Functional/LoadMultipleTest.php b/web/core/modules/taxonomy/tests/src/Functional/LoadMultipleTest.php index a746a5ceb..3278db9ed 100644 --- a/web/core/modules/taxonomy/tests/src/Functional/LoadMultipleTest.php +++ b/web/core/modules/taxonomy/tests/src/Functional/LoadMultipleTest.php @@ -17,14 +17,16 @@ class LoadMultipleTest extends TaxonomyTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); $this->drupalLogin($this->drupalCreateUser(['administer taxonomy'])); } /** - * Create a vocabulary and some taxonomy terms, ensuring they're loaded - * correctly using entity_load_multiple(). + * Tests entity_load_multiple(). */ public function testTaxonomyTermMultipleLoad() { // Create a vocabulary. diff --git a/web/core/modules/taxonomy/tests/src/Functional/RssTest.php b/web/core/modules/taxonomy/tests/src/Functional/RssTest.php index 784df3747..f379df646 100644 --- a/web/core/modules/taxonomy/tests/src/Functional/RssTest.php +++ b/web/core/modules/taxonomy/tests/src/Functional/RssTest.php @@ -6,8 +6,7 @@ use Drupal\views\Views; /** - * Ensure that data added as terms appears in RSS feeds if "RSS Category" format - * is selected. + * Tests the taxonomy RSS display. * * @group taxonomy */ @@ -39,6 +38,9 @@ class RssTest extends TaxonomyTestBase { */ protected $fieldName; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/taxonomy/tests/src/Functional/TaxonomyImageTest.php b/web/core/modules/taxonomy/tests/src/Functional/TaxonomyImageTest.php deleted file mode 100644 index 38f5be61c..000000000 --- a/web/core/modules/taxonomy/tests/src/Functional/TaxonomyImageTest.php +++ /dev/null @@ -1,119 +0,0 @@ -vocabulary = $this->createVocabulary(); - // Add a field to the vocabulary. - $entity_type = 'taxonomy_term'; - $name = 'field_test'; - FieldStorageConfig::create([ - 'field_name' => $name, - 'entity_type' => $entity_type, - 'type' => 'image', - 'settings' => [ - 'uri_scheme' => 'private', - ], - ])->save(); - FieldConfig::create([ - 'field_name' => $name, - 'entity_type' => $entity_type, - 'bundle' => $this->vocabulary->id(), - 'settings' => [], - ])->save(); - /** @var \Drupal\Core\Entity\EntityDisplayRepositoryInterface $display_repository */ - $display_repository = \Drupal::service('entity_display.repository'); - $display_repository->getViewDisplay($entity_type, $this->vocabulary->id()) - ->setComponent($name, [ - 'type' => 'image', - 'settings' => [], - ]) - ->save(); - $display_repository->getFormDisplay($entity_type, $this->vocabulary->id()) - ->setComponent($name, [ - 'type' => 'image_image', - 'settings' => [], - ]) - ->save(); - } - - public function testTaxonomyImageAccess() { - $user = $this->drupalCreateUser([ - 'administer site configuration', - 'administer taxonomy', - 'access user profiles', - ]); - $this->drupalLogin($user); - - // Create a term and upload the image. - $files = $this->drupalGetTestFiles('image'); - $image = array_pop($files); - $edit['name[0][value]'] = $this->randomMachineName(); - $edit['files[field_test_0]'] = \Drupal::service('file_system')->realpath($image->uri); - $this->drupalGet('admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/add'); - $this->submitForm($edit, 'Save'); - $this->submitForm(['field_test[0][alt]' => $this->randomMachineName()], 'Save'); - $terms = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->loadByProperties(['name' => $edit['name[0][value]']]); - $term = reset($terms); - $this->assertSession()->pageTextContains('Created new term ' . $term->getName() . '.'); - - // Create a user that should have access to the file and one that doesn't. - $access_user = $this->drupalCreateUser(['access content']); - $no_access_user = $this->drupalCreateUser(); - $image = File::load($term->field_test->target_id); - - // Ensure a user that should be able to access the file can access it. - $this->drupalLogin($access_user); - $this->drupalGet($image->createFileUrl(FALSE)); - $this->assertSession()->statusCodeEquals(200); - - // Ensure a user that should not be able to access the file cannot access - // it. - $this->drupalLogin($no_access_user); - $this->drupalGet($image->createFileUrl(FALSE)); - $this->assertSession()->statusCodeEquals(403); - } - -} diff --git a/web/core/modules/taxonomy/tests/src/Functional/TaxonomyTermIndentationTest.php b/web/core/modules/taxonomy/tests/src/Functional/TaxonomyTermIndentationTest.php index 85b25ffe9..79ccce9ed 100644 --- a/web/core/modules/taxonomy/tests/src/Functional/TaxonomyTermIndentationTest.php +++ b/web/core/modules/taxonomy/tests/src/Functional/TaxonomyTermIndentationTest.php @@ -28,6 +28,9 @@ class TaxonomyTermIndentationTest extends TaxonomyTestBase { */ protected $vocabulary; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); $this->drupalLogin($this->drupalCreateUser([ diff --git a/web/core/modules/taxonomy/tests/src/Functional/TermAutocompleteTest.php b/web/core/modules/taxonomy/tests/src/Functional/TermAutocompleteTest.php index f64a0af32..5e4b9784b 100644 --- a/web/core/modules/taxonomy/tests/src/Functional/TermAutocompleteTest.php +++ b/web/core/modules/taxonomy/tests/src/Functional/TermAutocompleteTest.php @@ -149,7 +149,7 @@ protected function setUp(): void { * @param string|\Drupal\Core\Url $path * Drupal path or URL to load into Mink controlled browser. * @param array $options - * (optional) Options to be forwarded to the url generator. + * (optional) Options to be forwarded to the URL generator. * @param string[] $headers * (optional) An array containing additional HTTP request headers. * diff --git a/web/core/modules/taxonomy/tests/src/Functional/TermIndexTest.php b/web/core/modules/taxonomy/tests/src/Functional/TermIndexTest.php index cf011b157..c5f708782 100644 --- a/web/core/modules/taxonomy/tests/src/Functional/TermIndexTest.php +++ b/web/core/modules/taxonomy/tests/src/Functional/TermIndexTest.php @@ -46,6 +46,9 @@ class TermIndexTest extends TaxonomyTestBase { */ protected $fieldName2; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -62,7 +65,7 @@ protected function setUp(): void { $handler_settings = [ 'target_bundles' => [ $this->vocabulary->id() => $this->vocabulary->id(), - ], + ], 'auto_create' => TRUE, ]; $this->createEntityReferenceField('node', 'article', $this->fieldName1, NULL, 'taxonomy_term', 'default', $handler_settings, FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED); diff --git a/web/core/modules/taxonomy/tests/src/Functional/TermLanguageTest.php b/web/core/modules/taxonomy/tests/src/Functional/TermLanguageTest.php index 442de2318..974f14877 100644 --- a/web/core/modules/taxonomy/tests/src/Functional/TermLanguageTest.php +++ b/web/core/modules/taxonomy/tests/src/Functional/TermLanguageTest.php @@ -26,6 +26,9 @@ class TermLanguageTest extends TaxonomyTestBase { */ protected $vocabulary; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/taxonomy/tests/src/Functional/TermTest.php b/web/core/modules/taxonomy/tests/src/Functional/TermTest.php index 087980f0c..186d4be40 100644 --- a/web/core/modules/taxonomy/tests/src/Functional/TermTest.php +++ b/web/core/modules/taxonomy/tests/src/Functional/TermTest.php @@ -56,6 +56,7 @@ protected function setUp(): void { $this->drupalLogin($this->drupalCreateUser([ 'administer taxonomy', + 'access taxonomy overview', 'bypass node access', ])); $this->vocabulary = $this->createVocabulary(); @@ -349,6 +350,9 @@ public function testTermInterface() { $this->drupalGet('admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/add'); $this->submitForm($edit, 'Save'); + // Ensure form redirected back to term add page. + $this->assertSession()->addressEquals('admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/add'); + $terms = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->loadByProperties([ 'name' => $edit['name[0][value]'], ]); @@ -373,6 +377,9 @@ public function testTermInterface() { $this->drupalGet('taxonomy/term/' . $term->id() . '/edit'); $this->submitForm($edit, 'Save'); + // Ensure form redirected back to term view. + $this->assertSession()->addressEquals('taxonomy/term/' . $term->id()); + // Check that the term is still present at admin UI after edit. $this->drupalGet('admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/overview'); $this->assertSession()->pageTextContains($edit['name[0][value]']); @@ -431,6 +438,15 @@ public function testTermInterface() { // parameter is present. $this->drupalGet('admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/add', ['query' => ['destination' => 'node/add']]); $this->assertSession()->pageTextNotContains('Save and go to list'); + + // Validate that "Save and go to list" doesn't exist when missing permission + // 'access taxonomy overview'. + $this->drupalLogin($this->drupalCreateUser([ + 'administer taxonomy', + 'bypass node access', + ])); + $this->drupalGet('admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/add'); + $this->assertSession()->pageTextNotContains('Save and go to list'); } /** diff --git a/web/core/modules/taxonomy/tests/src/Functional/TermTranslationFieldViewTest.php b/web/core/modules/taxonomy/tests/src/Functional/TermTranslationFieldViewTest.php index a710b0c68..00ad913fa 100644 --- a/web/core/modules/taxonomy/tests/src/Functional/TermTranslationFieldViewTest.php +++ b/web/core/modules/taxonomy/tests/src/Functional/TermTranslationFieldViewTest.php @@ -46,6 +46,9 @@ class TermTranslationFieldViewTest extends TaxonomyTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); $this->setupLanguages(); diff --git a/web/core/modules/taxonomy/tests/src/Functional/TermTranslationUITest.php b/web/core/modules/taxonomy/tests/src/Functional/TermTranslationUITest.php index 179b4adea..2b4ad7536 100644 --- a/web/core/modules/taxonomy/tests/src/Functional/TermTranslationUITest.php +++ b/web/core/modules/taxonomy/tests/src/Functional/TermTranslationUITest.php @@ -43,6 +43,9 @@ class TermTranslationUITest extends ContentTranslationUITestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { $this->entityTypeId = 'taxonomy_term'; $this->bundle = 'tags'; diff --git a/web/core/modules/taxonomy/tests/src/Functional/ThemeTest.php b/web/core/modules/taxonomy/tests/src/Functional/ThemeTest.php index f3dc3dd59..b1f5abfa8 100644 --- a/web/core/modules/taxonomy/tests/src/Functional/ThemeTest.php +++ b/web/core/modules/taxonomy/tests/src/Functional/ThemeTest.php @@ -14,6 +14,9 @@ class ThemeTest extends TaxonomyTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/taxonomy/tests/src/Functional/TokenReplaceTest.php b/web/core/modules/taxonomy/tests/src/Functional/TokenReplaceTest.php index 38ae70bec..5df9d3920 100644 --- a/web/core/modules/taxonomy/tests/src/Functional/TokenReplaceTest.php +++ b/web/core/modules/taxonomy/tests/src/Functional/TokenReplaceTest.php @@ -7,8 +7,7 @@ use Drupal\Core\Render\BubbleableMetadata; /** - * Generates text using placeholders for dummy content to check taxonomy token - * replacement. + * Tests taxonomy token replacement. * * @group taxonomy */ @@ -33,6 +32,9 @@ class TokenReplaceTest extends TaxonomyTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); $this->drupalLogin($this->drupalCreateUser([ diff --git a/web/core/modules/taxonomy/tests/src/Functional/Views/TaxonomyFieldFilterTest.php b/web/core/modules/taxonomy/tests/src/Functional/Views/TaxonomyFieldFilterTest.php index 201a0ed3f..6f646c109 100644 --- a/web/core/modules/taxonomy/tests/src/Functional/Views/TaxonomyFieldFilterTest.php +++ b/web/core/modules/taxonomy/tests/src/Functional/Views/TaxonomyFieldFilterTest.php @@ -57,6 +57,9 @@ class TaxonomyFieldFilterTest extends ViewTestBase { */ public $termNames = []; + /** + * {@inheritdoc} + */ public function setUp($import_test_views = TRUE, $modules = []): void { parent::setUp($import_test_views, $modules); diff --git a/web/core/modules/taxonomy/tests/src/Functional/Views/TermNameFieldTest.php b/web/core/modules/taxonomy/tests/src/Functional/Views/TermNameFieldTest.php index 3baa27862..f49493cca 100644 --- a/web/core/modules/taxonomy/tests/src/Functional/Views/TermNameFieldTest.php +++ b/web/core/modules/taxonomy/tests/src/Functional/Views/TermNameFieldTest.php @@ -2,6 +2,7 @@ namespace Drupal\Tests\taxonomy\Functional\Views; +use Drupal\Core\Link; use Drupal\views\Views; /** @@ -48,6 +49,19 @@ public function testTermNameField() { $this->assertEquals(str_replace(' ', '-', $this->term1->getName()), $view->getStyle()->getField(0, 'name')); $this->assertEquals($this->term2->getName(), $view->getStyle()->getField(1, 'name')); + + // Enable link_to_entity option and ensure that title is displayed properly. + $view = Views::getView('test_taxonomy_term_name'); + $display =& $view->storage->getDisplay('default'); + $display['display_options']['fields']['name']['convert_spaces'] = TRUE; + $display['display_options']['fields']['name']['settings']['link_to_entity'] = TRUE; + $view->storage->invalidateCaches(); + $this->executeView($view); + + $expected_link1 = Link::fromTextAndUrl(str_replace(' ', '-', $this->term1->getName()), $this->term1->toUrl()); + $expected_link2 = Link::fromTextAndUrl($this->term2->getName(), $this->term2->toUrl()); + $this->assertEquals($expected_link1->toString(), $view->getStyle()->getField(0, 'name')); + $this->assertEquals($expected_link2->toString(), $view->getStyle()->getField(1, 'name')); } } diff --git a/web/core/modules/taxonomy/tests/src/Functional/VocabularyLanguageTest.php b/web/core/modules/taxonomy/tests/src/Functional/VocabularyLanguageTest.php index a706ab94b..1dad37e3b 100644 --- a/web/core/modules/taxonomy/tests/src/Functional/VocabularyLanguageTest.php +++ b/web/core/modules/taxonomy/tests/src/Functional/VocabularyLanguageTest.php @@ -19,6 +19,9 @@ class VocabularyLanguageTest extends TaxonomyTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/taxonomy/tests/src/Functional/VocabularyPermissionsTest.php b/web/core/modules/taxonomy/tests/src/Functional/VocabularyPermissionsTest.php index 1794ecde3..0cc633f5d 100644 --- a/web/core/modules/taxonomy/tests/src/Functional/VocabularyPermissionsTest.php +++ b/web/core/modules/taxonomy/tests/src/Functional/VocabularyPermissionsTest.php @@ -23,6 +23,9 @@ class VocabularyPermissionsTest extends TaxonomyTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/taxonomy/tests/src/Functional/VocabularyUiTest.php b/web/core/modules/taxonomy/tests/src/Functional/VocabularyUiTest.php index 47bdfdb62..562111d7e 100644 --- a/web/core/modules/taxonomy/tests/src/Functional/VocabularyUiTest.php +++ b/web/core/modules/taxonomy/tests/src/Functional/VocabularyUiTest.php @@ -24,6 +24,9 @@ class VocabularyUiTest extends TaxonomyTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); $this->drupalLogin($this->drupalCreateUser(['administer taxonomy'])); diff --git a/web/core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateTermLocalizedTranslationTest.php b/web/core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateTermLocalizedTranslationTest.php index c2afbe1f3..21a35daad 100644 --- a/web/core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateTermLocalizedTranslationTest.php +++ b/web/core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateTermLocalizedTranslationTest.php @@ -84,7 +84,7 @@ protected function assertEntity(int $id, string $expected_language, string $expe $this->assertSame($expected_vid, $entity->bundle()); $this->assertSame($expected_description, $entity->getDescription()); $this->assertSame($expected_format, $entity->getFormat()); - $this->assertSame($expected_weight, (int) $entity->getWeight()); + $this->assertSame($expected_weight, $entity->getWeight()); $this->assertHierarchy($expected_vid, $id, $expected_parents); } diff --git a/web/core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateTermNodeTest.php b/web/core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateTermNodeTest.php index 01ed3550d..f602a7a4a 100644 --- a/web/core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateTermNodeTest.php +++ b/web/core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateTermNodeTest.php @@ -49,8 +49,7 @@ public function testTermNode() { } /** - * Tests that term associations are ignored when they belong to nodes which - * were not migrated. + * Tests that term relationships are ignored for un-migrated nodes. */ public function testSkipNonExistentNode() { // Node 2 is migrated by d6_node__story, but we need to pretend that it diff --git a/web/core/modules/taxonomy/tests/src/Kernel/Migrate/d7/MigrateTaxonomyTermTest.php b/web/core/modules/taxonomy/tests/src/Kernel/Migrate/d7/MigrateTaxonomyTermTest.php index 39c91d517..3a26b1bfc 100644 --- a/web/core/modules/taxonomy/tests/src/Kernel/Migrate/d7/MigrateTaxonomyTermTest.php +++ b/web/core/modules/taxonomy/tests/src/Kernel/Migrate/d7/MigrateTaxonomyTermTest.php @@ -90,7 +90,7 @@ protected function assertEntity(int $id, string $expected_language, string $expe $this->assertEquals($expected_vid, $entity->bundle()); $this->assertEquals($expected_description, $entity->getDescription()); $this->assertEquals($expected_format, $entity->getFormat()); - $this->assertEquals($expected_weight, (int) $entity->getWeight()); + $this->assertEquals($expected_weight, $entity->getWeight()); $this->assertEquals($expected_parents, $this->getParentIDs($id)); $this->assertHierarchy($expected_vid, $id, $expected_parents); if (!is_null($expected_field_integer_value)) { diff --git a/web/core/modules/taxonomy/tests/src/Kernel/Migrate/d7/MigrateTaxonomyTermTranslationTest.php b/web/core/modules/taxonomy/tests/src/Kernel/Migrate/d7/MigrateTaxonomyTermTranslationTest.php index bd37bf6e3..f8acceff8 100644 --- a/web/core/modules/taxonomy/tests/src/Kernel/Migrate/d7/MigrateTaxonomyTermTranslationTest.php +++ b/web/core/modules/taxonomy/tests/src/Kernel/Migrate/d7/MigrateTaxonomyTermTranslationTest.php @@ -95,7 +95,7 @@ protected function assertEntity(int $id, string $expected_language, string $expe $this->assertSame($expected_vid, $entity->bundle()); $this->assertSame($expected_description, $entity->getDescription()); $this->assertSame($expected_format, $entity->getFormat()); - $this->assertSame($expected_weight, (int) $entity->getWeight()); + $this->assertSame($expected_weight, $entity->getWeight()); $this->assertHierarchy($expected_vid, $id, $expected_parents); } diff --git a/web/core/modules/taxonomy/tests/src/Kernel/Migrate/d7/MigrateTermLocalizedTranslationTest.php b/web/core/modules/taxonomy/tests/src/Kernel/Migrate/d7/MigrateTermLocalizedTranslationTest.php index fb0d80b1b..16f01ab7e 100644 --- a/web/core/modules/taxonomy/tests/src/Kernel/Migrate/d7/MigrateTermLocalizedTranslationTest.php +++ b/web/core/modules/taxonomy/tests/src/Kernel/Migrate/d7/MigrateTermLocalizedTranslationTest.php @@ -80,7 +80,7 @@ protected function assertEntity(int $id, string $expected_language, string $expe $this->assertSame($expected_vid, $entity->bundle()); $this->assertSame($expected_description, $entity->getDescription()); $this->assertSame($expected_format, $entity->getFormat()); - $this->assertSame($expected_weight, (int) $entity->getWeight()); + $this->assertSame($expected_weight, $entity->getWeight()); $this->assertHierarchy($expected_vid, $id, $expected_parents); } diff --git a/web/core/modules/taxonomy/tests/src/Kernel/Plugin/migrate/source/d7/TermLocalizedTranslationTest.php b/web/core/modules/taxonomy/tests/src/Kernel/Plugin/migrate/source/d7/TermLocalizedTranslationTest.php index f04788b9d..cf8c969da 100644 --- a/web/core/modules/taxonomy/tests/src/Kernel/Plugin/migrate/source/d7/TermLocalizedTranslationTest.php +++ b/web/core/modules/taxonomy/tests/src/Kernel/Plugin/migrate/source/d7/TermLocalizedTranslationTest.php @@ -153,7 +153,7 @@ public function providerSource() { 'property' => 'description', 'objectindex' => '5', 'format' => 0, - ]); + ]); array_push($tests[1]['source_data']['locales_target'], [ 'lid' => 10, @@ -170,7 +170,7 @@ public function providerSource() { 'plid' => 0, 'plural' => 0, 'i18n_status' => 0, - ]); + ]); // The expected results. array_push($tests[1]['expected_data'], @@ -225,7 +225,7 @@ public function providerSource() { 'translation' => 'fr - description value 5', 'name_translated' => 'fr - name value 5', 'description_translated' => 'fr - description value 5', - ]); + ]); $tests[1]['expected_count'] = NULL; // Empty configuration will return terms for all vocabularies. diff --git a/web/core/modules/taxonomy/tests/src/Kernel/TermKernelTest.php b/web/core/modules/taxonomy/tests/src/Kernel/TermKernelTest.php index 29e43b72b..5717ec762 100644 --- a/web/core/modules/taxonomy/tests/src/Kernel/TermKernelTest.php +++ b/web/core/modules/taxonomy/tests/src/Kernel/TermKernelTest.php @@ -155,7 +155,7 @@ public function testTermPreview() { // Create a unsaved term. $term = $entity_manager->getStorage('taxonomy_term')->create([ 'vid' => $vocabulary->id(), - 'name' => 'Inator', + 'name' => 'Foo', ]); // Confirm we can get the view of unsaved term. diff --git a/web/core/modules/taxonomy/tests/src/Unit/Menu/TaxonomyLocalTasksTest.php b/web/core/modules/taxonomy/tests/src/Unit/Menu/TaxonomyLocalTasksTest.php index 5bf7dd353..c90533fbe 100644 --- a/web/core/modules/taxonomy/tests/src/Unit/Menu/TaxonomyLocalTasksTest.php +++ b/web/core/modules/taxonomy/tests/src/Unit/Menu/TaxonomyLocalTasksTest.php @@ -11,6 +11,9 @@ */ class TaxonomyLocalTasksTest extends LocalTaskIntegrationTestBase { + /** + * {@inheritdoc} + */ protected function setUp(): void { $this->directoryList = ['taxonomy' => 'core/modules/taxonomy']; parent::setUp(); diff --git a/web/core/modules/telephone/src/Plugin/Field/FieldFormatter/TelephoneLinkFormatter.php b/web/core/modules/telephone/src/Plugin/Field/FieldFormatter/TelephoneLinkFormatter.php index 60ee25cbc..875f47ffa 100644 --- a/web/core/modules/telephone/src/Plugin/Field/FieldFormatter/TelephoneLinkFormatter.php +++ b/web/core/modules/telephone/src/Plugin/Field/FieldFormatter/TelephoneLinkFormatter.php @@ -35,7 +35,7 @@ public static function defaultSettings() { public function settingsForm(array $form, FormStateInterface $form_state) { $elements['title'] = [ '#type' => 'textfield', - '#title' => t('Title to replace basic numeric telephone number display'), + '#title' => $this->t('Title to replace basic numeric telephone number display'), '#default_value' => $this->getSetting('title'), ]; @@ -50,10 +50,10 @@ public function settingsSummary() { $settings = $this->getSettings(); if (!empty($settings['title'])) { - $summary[] = t('Link using text: @title', ['@title' => $settings['title']]); + $summary[] = $this->t('Link using text: @title', ['@title' => $settings['title']]); } else { - $summary[] = t('Link using provided telephone number.'); + $summary[] = $this->t('Link using provided telephone number.'); } return $summary; diff --git a/web/core/modules/telephone/src/Plugin/Field/FieldType/TelephoneItem.php b/web/core/modules/telephone/src/Plugin/Field/FieldType/TelephoneItem.php index 17fc9d5e4..3cec35805 100644 --- a/web/core/modules/telephone/src/Plugin/Field/FieldType/TelephoneItem.php +++ b/web/core/modules/telephone/src/Plugin/Field/FieldType/TelephoneItem.php @@ -6,6 +6,7 @@ use Drupal\Core\Field\FieldItemBase; use Drupal\Core\Field\FieldStorageDefinitionInterface; use Drupal\Core\TypedData\DataDefinition; +use Drupal\Core\StringTranslation\TranslatableMarkup; /** * Plugin implementation of the 'telephone' field type. @@ -21,6 +22,11 @@ */ class TelephoneItem extends FieldItemBase { + /** + * The maximum length for a telephone value. + */ + const MAX_LENGTH = 256; + /** * {@inheritdoc} */ @@ -29,7 +35,7 @@ public static function schema(FieldStorageDefinitionInterface $field_definition) 'columns' => [ 'value' => [ 'type' => 'varchar', - 'length' => 256, + 'length' => self::MAX_LENGTH, ], ], ]; @@ -40,7 +46,7 @@ public static function schema(FieldStorageDefinitionInterface $field_definition) */ public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) { $properties['value'] = DataDefinition::create('string') - ->setLabel(t('Telephone number')) + ->setLabel(new TranslatableMarkup('Telephone number')) ->setRequired(TRUE); return $properties; @@ -61,12 +67,11 @@ public function getConstraints() { $constraint_manager = \Drupal::typedDataManager()->getValidationConstraintManager(); $constraints = parent::getConstraints(); - $max_length = 256; $constraints[] = $constraint_manager->create('ComplexData', [ 'value' => [ 'Length' => [ - 'max' => $max_length, - 'maxMessage' => t('%name: the telephone number may not be longer than @max characters.', ['%name' => $this->getFieldDefinition()->getLabel(), '@max' => $max_length]), + 'max' => self::MAX_LENGTH, + 'maxMessage' => $this->t('%name: the telephone number may not be longer than @max characters.', ['%name' => $this->getFieldDefinition()->getLabel(), '@max' => self::MAX_LENGTH]), ], ], ]); diff --git a/web/core/modules/telephone/src/Plugin/Field/FieldWidget/TelephoneDefaultWidget.php b/web/core/modules/telephone/src/Plugin/Field/FieldWidget/TelephoneDefaultWidget.php index 99db3c13f..688929e9f 100644 --- a/web/core/modules/telephone/src/Plugin/Field/FieldWidget/TelephoneDefaultWidget.php +++ b/web/core/modules/telephone/src/Plugin/Field/FieldWidget/TelephoneDefaultWidget.php @@ -5,6 +5,7 @@ use Drupal\Core\Field\FieldItemListInterface; use Drupal\Core\Field\WidgetBase; use Drupal\Core\Form\FormStateInterface; +use Drupal\telephone\Plugin\Field\FieldType\TelephoneItem; /** * Plugin implementation of the 'telephone_default' widget. @@ -34,9 +35,9 @@ public static function defaultSettings() { public function settingsForm(array $form, FormStateInterface $form_state) { $element['placeholder'] = [ '#type' => 'textfield', - '#title' => t('Placeholder'), + '#title' => $this->t('Placeholder'), '#default_value' => $this->getSetting('placeholder'), - '#description' => t('Text that will be shown inside the field until a value is entered. This hint is usually a sample value or a brief description of the expected format.'), + '#description' => $this->t('Text that will be shown inside the field until a value is entered. This hint is usually a sample value or a brief description of the expected format.'), ]; return $element; } @@ -49,10 +50,10 @@ public function settingsSummary() { $placeholder = $this->getSetting('placeholder'); if (!empty($placeholder)) { - $summary[] = t('Placeholder: @placeholder', ['@placeholder' => $placeholder]); + $summary[] = $this->t('Placeholder: @placeholder', ['@placeholder' => $placeholder]); } else { - $summary[] = t('No placeholder'); + $summary[] = $this->t('No placeholder'); } return $summary; @@ -66,6 +67,7 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen '#type' => 'tel', '#default_value' => $items[$delta]->value ?? NULL, '#placeholder' => $this->getSetting('placeholder'), + '#maxlength' => TelephoneItem::MAX_LENGTH, ]; return $element; } diff --git a/web/core/modules/telephone/tests/src/Functional/TelephoneFieldTest.php b/web/core/modules/telephone/tests/src/Functional/TelephoneFieldTest.php index fcb5a4c0f..3c4e75065 100644 --- a/web/core/modules/telephone/tests/src/Functional/TelephoneFieldTest.php +++ b/web/core/modules/telephone/tests/src/Functional/TelephoneFieldTest.php @@ -3,6 +3,7 @@ namespace Drupal\Tests\telephone\Functional; use Drupal\field\Entity\FieldConfig; +use Drupal\telephone\Plugin\Field\FieldType\TelephoneItem; use Drupal\Tests\BrowserTestBase; use Drupal\field\Entity\FieldStorageConfig; @@ -89,6 +90,7 @@ protected function setUp(): void { public function testTelephoneWidget() { $this->drupalGet('node/add/article'); $this->assertSession()->fieldValueEquals("field_telephone[0][value]", ''); + $this->assertSession()->elementAttributeContains('css', 'input[name="field_telephone[0][value]"]', 'maxlength', TelephoneItem::MAX_LENGTH); $this->assertSession()->responseContains('placeholder="123-456-7890"'); } diff --git a/web/core/modules/telephone/tests/src/Kernel/TelephoneItemTest.php b/web/core/modules/telephone/tests/src/Kernel/TelephoneItemTest.php index 0dd6be6a2..0b793f93c 100644 --- a/web/core/modules/telephone/tests/src/Kernel/TelephoneItemTest.php +++ b/web/core/modules/telephone/tests/src/Kernel/TelephoneItemTest.php @@ -23,6 +23,9 @@ class TelephoneItemTest extends FieldKernelTestBase { */ protected static $modules = ['telephone']; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/text/src/Plugin/Field/FieldFormatter/TextTrimmedFormatter.php b/web/core/modules/text/src/Plugin/Field/FieldFormatter/TextTrimmedFormatter.php index 35dc4f70d..de10c9746 100644 --- a/web/core/modules/text/src/Plugin/Field/FieldFormatter/TextTrimmedFormatter.php +++ b/web/core/modules/text/src/Plugin/Field/FieldFormatter/TextTrimmedFormatter.php @@ -44,11 +44,11 @@ public static function defaultSettings() { */ public function settingsForm(array $form, FormStateInterface $form_state) { $element['trim_length'] = [ - '#title' => t('Trimmed limit'), + '#title' => $this->t('Trimmed limit'), '#type' => 'number', - '#field_suffix' => t('characters'), + '#field_suffix' => $this->t('characters'), '#default_value' => $this->getSetting('trim_length'), - '#description' => t('If the summary is not set, the trimmed %label field will end at the last full sentence before this character limit.', ['%label' => $this->fieldDefinition->getLabel()]), + '#description' => $this->t('If the summary is not set, the trimmed %label field will end at the last full sentence before this character limit.', ['%label' => $this->fieldDefinition->getLabel()]), '#min' => 1, '#required' => TRUE, ]; @@ -60,7 +60,7 @@ public function settingsForm(array $form, FormStateInterface $form_state) { */ public function settingsSummary() { $summary = []; - $summary[] = t('Trimmed limit: @trim_length characters', ['@trim_length' => $this->getSetting('trim_length')]); + $summary[] = $this->t('Trimmed limit: @trim_length characters', ['@trim_length' => $this->getSetting('trim_length')]); return $summary; } diff --git a/web/core/modules/text/src/Plugin/Field/FieldType/TextItem.php b/web/core/modules/text/src/Plugin/Field/FieldType/TextItem.php index dcee58346..47a23dcf7 100644 --- a/web/core/modules/text/src/Plugin/Field/FieldType/TextItem.php +++ b/web/core/modules/text/src/Plugin/Field/FieldType/TextItem.php @@ -61,7 +61,7 @@ public function getConstraints() { 'value' => [ 'Length' => [ 'max' => $max_length, - 'maxMessage' => t('%name: the text may not be longer than @max characters.', ['%name' => $this->getFieldDefinition()->getLabel(), '@max' => $max_length]), + 'maxMessage' => $this->t('%name: the text may not be longer than @max characters.', ['%name' => $this->getFieldDefinition()->getLabel(), '@max' => $max_length]), ], ], ]); @@ -78,10 +78,10 @@ public function storageSettingsForm(array &$form, FormStateInterface $form_state $element['max_length'] = [ '#type' => 'number', - '#title' => t('Maximum length'), + '#title' => $this->t('Maximum length'), '#default_value' => $this->getSetting('max_length'), '#required' => TRUE, - '#description' => t('The maximum length of the field in characters.'), + '#description' => $this->t('The maximum length of the field in characters.'), '#min' => 1, '#disabled' => $has_data, ]; diff --git a/web/core/modules/text/src/Plugin/Field/FieldType/TextWithSummaryItem.php b/web/core/modules/text/src/Plugin/Field/FieldType/TextWithSummaryItem.php index 9c9a160e2..9437c381f 100644 --- a/web/core/modules/text/src/Plugin/Field/FieldType/TextWithSummaryItem.php +++ b/web/core/modules/text/src/Plugin/Field/FieldType/TextWithSummaryItem.php @@ -5,6 +5,7 @@ use Drupal\Core\Field\FieldStorageDefinitionInterface; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\TypedData\DataDefinition; +use Drupal\Core\StringTranslation\TranslatableMarkup; /** * Plugin implementation of the 'text_with_summary' field type. @@ -37,11 +38,11 @@ public static function propertyDefinitions(FieldStorageDefinitionInterface $fiel $properties = parent::propertyDefinitions($field_definition); $properties['summary'] = DataDefinition::create('string') - ->setLabel(t('Summary')); + ->setLabel(new TranslatableMarkup('Summary')); $properties['summary_processed'] = DataDefinition::create('string') - ->setLabel(t('Processed summary')) - ->setDescription(t('The summary text with the text format applied.')) + ->setLabel(new TranslatableMarkup('Processed summary')) + ->setDescription(new TranslatableMarkup('The summary text with the text format applied.')) ->setComputed(TRUE) ->setClass('\Drupal\text\TextProcessed') ->setSetting('text source', 'summary'); @@ -91,15 +92,15 @@ public function fieldSettingsForm(array $form, FormStateInterface $form_state) { $element['display_summary'] = [ '#type' => 'checkbox', - '#title' => t('Summary input'), + '#title' => $this->t('Summary input'), '#default_value' => $settings['display_summary'], - '#description' => t('This allows authors to input an explicit summary, to be displayed instead of the automatically trimmed text when using the "Summary or trimmed" display type.'), + '#description' => $this->t('This allows authors to input an explicit summary, to be displayed instead of the automatically trimmed text when using the "Summary or trimmed" display type.'), ]; $element['required_summary'] = [ '#type' => 'checkbox', - '#title' => t('Require summary'), - '#description' => t('The summary will also be visible when marked as required.'), + '#title' => $this->t('Require summary'), + '#description' => $this->t('The summary will also be visible when marked as required.'), '#default_value' => $settings['required_summary'], ]; diff --git a/web/core/modules/text/src/Plugin/Field/FieldWidget/TextareaWidget.php b/web/core/modules/text/src/Plugin/Field/FieldWidget/TextareaWidget.php index 11e84f1c3..fc02ac1e9 100644 --- a/web/core/modules/text/src/Plugin/Field/FieldWidget/TextareaWidget.php +++ b/web/core/modules/text/src/Plugin/Field/FieldWidget/TextareaWidget.php @@ -46,7 +46,7 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen * {@inheritdoc} */ public function errorElement(array $element, ConstraintViolationInterface $violation, array $form, FormStateInterface $form_state) { - if ($violation->arrayPropertyPath == ['format'] && isset($element['format']['#access']) && !$element['format']['#access']) { + if (isset($element['format']['#access']) && !$element['format']['#access'] && preg_match('/^[0-9]*\.format$/', $violation->getPropertyPath())) { // Ignore validation errors for formats if formats may not be changed, // such as when existing formats become invalid. // See \Drupal\filter\Element\TextFormat::processFormat(). diff --git a/web/core/modules/text/src/Plugin/Field/FieldWidget/TextareaWithSummaryWidget.php b/web/core/modules/text/src/Plugin/Field/FieldWidget/TextareaWithSummaryWidget.php index 1dcb00b96..3b1f541d7 100644 --- a/web/core/modules/text/src/Plugin/Field/FieldWidget/TextareaWithSummaryWidget.php +++ b/web/core/modules/text/src/Plugin/Field/FieldWidget/TextareaWithSummaryWidget.php @@ -38,7 +38,7 @@ public function settingsForm(array $form, FormStateInterface $form_state) { $element = parent::settingsForm($form, $form_state); $element['summary_rows'] = [ '#type' => 'number', - '#title' => t('Summary rows'), + '#title' => $this->t('Summary rows'), '#default_value' => $this->getSetting('summary_rows'), '#description' => $element['rows']['#description'], '#required' => TRUE, @@ -46,7 +46,7 @@ public function settingsForm(array $form, FormStateInterface $form_state) { ]; $element['show_summary'] = [ '#type' => 'checkbox', - '#title' => t('Always show the summary field'), + '#title' => $this->t('Always show the summary field'), '#default_value' => $this->getSetting('show_summary'), ]; return $element; @@ -58,9 +58,9 @@ public function settingsForm(array $form, FormStateInterface $form_state) { public function settingsSummary() { $summary = parent::settingsSummary(); - $summary[] = t('Number of summary rows: @rows', ['@rows' => $this->getSetting('summary_rows')]); + $summary[] = $this->t('Number of summary rows: @rows', ['@rows' => $this->getSetting('summary_rows')]); if ($this->getSetting('show_summary')) { - $summary[] = t('Summary field will always be visible'); + $summary[] = $this->t('Summary field will always be visible'); } return $summary; @@ -78,10 +78,10 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen $element['summary'] = [ '#type' => $display_summary ? 'textarea' : 'value', '#default_value' => $items[$delta]->summary, - '#title' => t('Summary'), + '#title' => $this->t('Summary'), '#rows' => $this->getSetting('summary_rows'), '#description' => !$required ? $this->t('Leave blank to use trimmed value of full text as the summary.') : '', - '#attributes' => ['class' => ['js-text-summary', 'text-summary']], + '#attributes' => ['class' => ['text-summary']], '#prefix' => '
                                              ', '#suffix' => '
                                              ', '#weight' => -10, @@ -89,6 +89,7 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen ]; if (!$this->getSetting('show_summary') && !$required) { + $element['summary']['#attributes']['class'][] = 'js-text-summary'; $element['summary']['#attached']['library'][] = 'text/drupal.text'; } @@ -100,7 +101,8 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen */ public function errorElement(array $element, ConstraintViolationInterface $violation, array $form, FormStateInterface $form_state) { $element = parent::errorElement($element, $violation, $form, $form_state); - return ($element === FALSE) ? FALSE : $element[$violation->arrayPropertyPath[0]]; + $property_path_array = explode('.', $violation->getPropertyPath()); + return ($element === FALSE) ? FALSE : $element[$property_path_array[1]]; } } diff --git a/web/core/modules/text/src/Plugin/Field/FieldWidget/TextfieldWidget.php b/web/core/modules/text/src/Plugin/Field/FieldWidget/TextfieldWidget.php index e6954cc1d..29934378f 100644 --- a/web/core/modules/text/src/Plugin/Field/FieldWidget/TextfieldWidget.php +++ b/web/core/modules/text/src/Plugin/Field/FieldWidget/TextfieldWidget.php @@ -37,7 +37,7 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen * {@inheritdoc} */ public function errorElement(array $element, ConstraintViolationInterface $violation, array $form, FormStateInterface $form_state) { - if ($violation->arrayPropertyPath == ['format'] && isset($element['format']['#access']) && !$element['format']['#access']) { + if (isset($element['format']['#access']) && !$element['format']['#access'] && preg_match('/^[0-9]*\.format$/', $violation->getPropertyPath())) { // Ignore validation errors for formats that may not be changed, // such as when existing formats become invalid. // See \Drupal\filter\Element\TextFormat::processFormat(). diff --git a/web/core/modules/text/tests/src/Functional/TextFieldTest.php b/web/core/modules/text/tests/src/Functional/TextFieldTest.php index 00d687fe6..b68c0d1f3 100644 --- a/web/core/modules/text/tests/src/Functional/TextFieldTest.php +++ b/web/core/modules/text/tests/src/Functional/TextFieldTest.php @@ -33,6 +33,9 @@ class TextFieldTest extends StringFieldTest { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/text/tests/src/FunctionalJavascript/TextareaWithSummaryTest.php b/web/core/modules/text/tests/src/FunctionalJavascript/TextareaWithSummaryTest.php index 12f8b9dc2..0867f962c 100644 --- a/web/core/modules/text/tests/src/FunctionalJavascript/TextareaWithSummaryTest.php +++ b/web/core/modules/text/tests/src/FunctionalJavascript/TextareaWithSummaryTest.php @@ -94,10 +94,50 @@ public function testTextSummaryBehavior() { ]); $this->drupalGet('node/' . $node->id() . '/edit'); + $summary_field = $this->getSession()->getPage()->findField('edit-body-0-summary'); + + $this->assertEquals(TRUE, $summary_field->isVisible()); + } + + /** + * Tests that the textSummary behavior is not run for required summary fields. + */ + public function testTextSummaryRequiredBehavior() { + // Test with field defaults. + $this->assertSummaryToggle(); + + // Create a second field with a required summary. + $field_name = mb_strtolower($this->randomMachineName()); + $field_storage = FieldStorageConfig::create([ + 'field_name' => $field_name, + 'entity_type' => 'node', + 'type' => 'text_with_summary', + ]); + $field_storage->save(); + FieldConfig::create([ + 'field_storage' => $field_storage, + 'bundle' => 'page', + 'label' => $this->randomMachineName() . '_label', + 'settings' => [ + 'display_summary' => TRUE, + 'required_summary' => TRUE, + ], + ])->save(); + + /** @var \Drupal\Core\Entity\EntityDisplayRepositoryInterface $display_repository */ + $display_repository = \Drupal::service('entity_display.repository'); + + $display_repository->getFormDisplay('node', 'page') + ->setComponent($field_name, [ + 'type' => 'text_textarea_with_summary', + ]) + ->save(); + + $this->drupalGet('node/add/page'); $page = $this->getSession()->getPage(); - $summary_field = $page->findField('edit-body-0-summary'); + $summary_field = $page->findField('edit-' . $field_name . '-0-summary'); - $this->assertEquals(TRUE, $summary_field->isVisible(), 'Non-empty summary field is shown by default.'); + $this->assertEquals(TRUE, $summary_field->isVisible()); } } diff --git a/web/core/modules/text/tests/src/Kernel/TextSummaryTest.php b/web/core/modules/text/tests/src/Kernel/TextSummaryTest.php index acac900bf..c377c2e38 100644 --- a/web/core/modules/text/tests/src/Kernel/TextSummaryTest.php +++ b/web/core/modules/text/tests/src/Kernel/TextSummaryTest.php @@ -30,6 +30,9 @@ class TextSummaryTest extends KernelTestBase { 'entity_test', ]; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -37,9 +40,7 @@ protected function setUp(): void { } /** - * Tests an edge case where the first sentence is a question and - * subsequent sentences are not. This edge case is documented at - * https://www.drupal.org/node/180425. + * Tests text summaries for a question followed by a sentence. */ public function testFirstSentenceQuestion() { $text = 'A question? A sentence. Another sentence.'; @@ -228,8 +229,9 @@ public function testLength() { } /** - * Tests text_summary() returns an empty string without any error when - * called with an invalid format. + * Tests text summaries with an invalid filter format. + * + * @see text_summary() */ public function testInvalidFilterFormat() { diff --git a/web/core/modules/text/tests/src/Kernel/TextWithSummaryItemTest.php b/web/core/modules/text/tests/src/Kernel/TextWithSummaryItemTest.php index 3a1ca9c4d..6630330bd 100644 --- a/web/core/modules/text/tests/src/Kernel/TextWithSummaryItemTest.php +++ b/web/core/modules/text/tests/src/Kernel/TextWithSummaryItemTest.php @@ -37,6 +37,9 @@ class TextWithSummaryItemTest extends FieldKernelTestBase { */ protected $field; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/text/tests/src/Unit/Migrate/d6/TextFieldTest.php b/web/core/modules/text/tests/src/Unit/Migrate/d6/TextFieldTest.php index af2ce704c..b3d0afb15 100644 --- a/web/core/modules/text/tests/src/Unit/Migrate/d6/TextFieldTest.php +++ b/web/core/modules/text/tests/src/Unit/Migrate/d6/TextFieldTest.php @@ -126,25 +126,25 @@ public function getFieldTypeProvider() { return [ ['string_long', 'text_textfield', ['text_processing' => FALSE]], ['string', 'text_textfield', [ - 'text_processing' => FALSE, - 'max_length' => 128, - ], + 'text_processing' => FALSE, + 'max_length' => 128, + ], ], ['string_long', 'text_textfield', [ - 'text_processing' => FALSE, - 'max_length' => 4096, - ], + 'text_processing' => FALSE, + 'max_length' => 4096, + ], ], ['text_long', 'text_textfield', ['text_processing' => TRUE]], ['text', 'text_textfield', [ - 'text_processing' => TRUE, - 'max_length' => 128, - ], + 'text_processing' => TRUE, + 'max_length' => 128, + ], ], ['text_long', 'text_textfield', [ - 'text_processing' => TRUE, - 'max_length' => 4096, - ], + 'text_processing' => TRUE, + 'max_length' => 4096, + ], ], ['list_string', 'optionwidgets_buttons'], ['list_string', 'optionwidgets_select'], diff --git a/web/core/modules/text/tests/src/Unit/Plugin/migrate/field/d6/TextFieldTest.php b/web/core/modules/text/tests/src/Unit/Plugin/migrate/field/d6/TextFieldTest.php index ccc677b22..616a16e07 100644 --- a/web/core/modules/text/tests/src/Unit/Plugin/migrate/field/d6/TextFieldTest.php +++ b/web/core/modules/text/tests/src/Unit/Plugin/migrate/field/d6/TextFieldTest.php @@ -126,25 +126,25 @@ public function getFieldTypeProvider() { return [ ['string_long', 'text_textfield', ['text_processing' => FALSE]], ['string', 'text_textfield', [ - 'text_processing' => FALSE, - 'max_length' => 128, - ], + 'text_processing' => FALSE, + 'max_length' => 128, + ], ], ['string_long', 'text_textfield', [ - 'text_processing' => FALSE, - 'max_length' => 4096, - ], + 'text_processing' => FALSE, + 'max_length' => 4096, + ], ], ['text_long', 'text_textfield', ['text_processing' => TRUE]], ['text', 'text_textfield', [ - 'text_processing' => TRUE, - 'max_length' => 128, - ], + 'text_processing' => TRUE, + 'max_length' => 128, + ], ], ['text_long', 'text_textfield', [ - 'text_processing' => TRUE, - 'max_length' => 4096, - ], + 'text_processing' => TRUE, + 'max_length' => 4096, + ], ], ['list_string', 'optionwidgets_buttons'], ['list_string', 'optionwidgets_select'], diff --git a/web/core/modules/text/text.js b/web/core/modules/text/text.js index 8b8074cb5..7b54605af 100644 --- a/web/core/modules/text/text.js +++ b/web/core/modules/text/text.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal) { Drupal.behaviors.textSummary = { attach: function attach(context, settings) { @@ -14,18 +13,15 @@ var $summaryLabel = $summary.find('label').eq(0); var $full = $widget.children('.js-form-type-textarea'); var $fullLabel = $full.find('label').eq(0); - if ($fullLabel.length === 0) { $fullLabel = $('').prependTo($full); } - if ($fullLabel.hasClass('visually-hidden')) { $fullLabel.html(function (index, oldHtml) { return "".concat(oldHtml, ""); }); $fullLabel.removeClass('visually-hidden'); } - var $link = $(" ()")); var $button = $link.find('button'); var toggleClick = true; @@ -39,11 +35,9 @@ $button.html(Drupal.t('Hide summary')); $link.appendTo($summaryLabel); } - e.preventDefault(); toggleClick = !toggleClick; }).appendTo($summaryLabel); - if (summary.value === '') { $link.trigger('click'); } diff --git a/web/core/modules/text/text.module b/web/core/modules/text/text.module index 509b3b724..c0a03c62f 100644 --- a/web/core/modules/text/text.module +++ b/web/core/modules/text/text.module @@ -58,7 +58,7 @@ function text_help($route_name, RouteMatchInterface $route_match) { * The desired character length of the summary. If omitted, the default value * will be used. Ignored if the special delimiter is present in $text. * - * @return + * @return string * The generated summary. */ function text_summary($text, $format = NULL, $size = NULL) { diff --git a/web/core/modules/toolbar/css/toolbar.theme.css b/web/core/modules/toolbar/css/toolbar.theme.css index 0416c056a..bdc6c3f18 100644 --- a/web/core/modules/toolbar/css/toolbar.theme.css +++ b/web/core/modules/toolbar/css/toolbar.theme.css @@ -85,7 +85,8 @@ .toolbar .toolbar-tray-horizontal .toolbar-tray { background-color: #f5f5f5; } -.toolbar-tray a { +.toolbar-tray a, +.toolbar-tray a:visited { padding: 1em 1.3333em; cursor: pointer; text-decoration: none; diff --git a/web/core/modules/toolbar/js/escapeAdmin.js b/web/core/modules/toolbar/js/escapeAdmin.js index 9d51e33b9..d1fd80b94 100644 --- a/web/core/modules/toolbar/js/escapeAdmin.js +++ b/web/core/modules/toolbar/js/escapeAdmin.js @@ -4,20 +4,16 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal, drupalSettings) { var pathInfo = drupalSettings.path; var escapeAdminPath = sessionStorage.getItem('escapeAdminPath'); var windowLocation = window.location; - if (!pathInfo.currentPathIsAdmin && !/destination=/.test(windowLocation.search)) { sessionStorage.setItem('escapeAdminPath', windowLocation); } - Drupal.behaviors.escapeAdmin = { attach: function attach() { var toolbarEscape = once('escapeAdmin', '[data-toolbar-escape-admin]'); - if (toolbarEscape.length && pathInfo.currentPathIsAdmin) { if (escapeAdminPath !== null) { $(toolbarEscape).attr('href', escapeAdminPath); diff --git a/web/core/modules/toolbar/js/models/MenuModel.js b/web/core/modules/toolbar/js/models/MenuModel.js index e3217fff9..277c29a7a 100644 --- a/web/core/modules/toolbar/js/models/MenuModel.js +++ b/web/core/modules/toolbar/js/models/MenuModel.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function (Backbone, Drupal) { Drupal.toolbar.MenuModel = Backbone.Model.extend({ defaults: { diff --git a/web/core/modules/toolbar/js/models/ToolbarModel.js b/web/core/modules/toolbar/js/models/ToolbarModel.js index 8bf91dafa..393ab91dc 100644 --- a/web/core/modules/toolbar/js/models/ToolbarModel.js +++ b/web/core/modules/toolbar/js/models/ToolbarModel.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function (Backbone, Drupal) { Drupal.toolbar.ToolbarModel = Backbone.Model.extend({ defaults: { diff --git a/web/core/modules/toolbar/js/toolbar.js b/web/core/modules/toolbar/js/toolbar.js index 53e052ba6..47177120d 100644 --- a/web/core/modules/toolbar/js/toolbar.js +++ b/web/core/modules/toolbar/js/toolbar.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal, drupalSettings) { var options = $.extend({ breakpoints: { @@ -23,7 +22,6 @@ if (!window.matchMedia('only screen').matches) { return; } - once('toolbar', '#toolbar-administration', context).forEach(function (toolbar) { var model = new Drupal.toolbar.ToolbarModel({ locked: JSON.parse(localStorage.getItem('Drupal.toolbar.trayVerticalLocked')), @@ -78,18 +76,15 @@ }).on('change:activeTray', function (model, tray) { $(document).trigger('drupalToolbarTrayChange', tray); }); - if (Drupal.toolbar.models.toolbarModel.get('orientation') === 'horizontal' && Drupal.toolbar.models.toolbarModel.get('activeTab') === null) { Drupal.toolbar.models.toolbarModel.set({ activeTab: $('.toolbar-bar .toolbar-tab:not(.home-toolbar-tab) a').get(0) }); } - $(window).on({ 'dialog:aftercreate': function dialogAftercreate(event, dialog, $element, settings) { var $toolbar = $('#toolbar-bar'); $toolbar.css('margin-top', '0'); - if (settings.drupalOffCanvasPosition === 'top') { var height = Drupal.offCanvas.getContainer($element).outerHeight(); $toolbar.css('margin-top', "".concat(height, "px")); @@ -118,7 +113,6 @@ isOriented: mql.matches, isTrayToggleVisible: false }); - if (!mql.matches || !model.get('orientation')) { model.set({ orientation: 'vertical' @@ -126,15 +120,12 @@ validate: true }); } - break; - case 'toolbar.standard': model.set({ isFixed: mql.matches }); break; - case 'toolbar.wide': model.set({ orientation: mql.matches && !model.get('locked') ? 'horizontal' : 'vertical' @@ -145,17 +136,14 @@ isTrayToggleVisible: mql.matches }); break; - default: break; } } }; - Drupal.theme.toolbarOrientationToggle = function () { return '
                                              ' + '' + '
                                              '; }; - Drupal.AjaxCommands.prototype.setToolbarSubtrees = function (ajax, response, status) { Drupal.toolbar.setSubtrees.resolve(response.subtrees); }; diff --git a/web/core/modules/toolbar/js/toolbar.menu.js b/web/core/modules/toolbar/js/toolbar.menu.js index 9e22f3a1a..2d5645218 100644 --- a/web/core/modules/toolbar/js/toolbar.menu.js +++ b/web/core/modules/toolbar/js/toolbar.menu.js @@ -4,16 +4,13 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal, drupalSettings) { var activeItem = Drupal.url(drupalSettings.path.currentPath); - $.fn.drupalToolbarMenu = function () { var ui = { handleOpen: Drupal.t('Extend'), handleClose: Drupal.t('Collapse') }; - function toggleList($item, switcher) { var $toggle = $item.children('.toolbar-box').children('.toolbar-handle'); switcher = typeof switcher !== 'undefined' ? switcher : !$item.hasClass('open'); @@ -23,7 +20,6 @@ element.textContent = switcher ? ui.handleClose : ui.handleOpen; }); } - function toggleClickHandler(event) { var $toggle = $(event.target); var $item = $toggle.closest('li'); @@ -31,15 +27,12 @@ var $openItems = $item.siblings().filter('.open'); toggleList($openItems, false); } - function linkClickHandler(event) { if (!Drupal.toolbar.models.toolbarModel.get('isFixed')) { Drupal.toolbar.models.toolbarModel.set('activeTab', null); } - event.stopPropagation(); } - function initItems($menu) { var options = { class: 'toolbar-icon toolbar-handle', @@ -49,7 +42,6 @@ $menu.find('li > a').wrap('
                                              '); $menu.find('li').each(function (index, element) { var $item = $(element); - if ($item.children('ul.toolbar-menu').length) { var $box = $item.children('.toolbar-box'); var $link = $box.find('a'); @@ -60,34 +52,27 @@ } }); } - function markListLevels($lists, level) { level = !level ? 1 : level; var $lis = $lists.children('li').addClass("level-".concat(level)); $lists = $lis.children('ul'); - if ($lists.length) { markListLevels($lists, level + 1); } } - function openActiveItem($menu) { var pathItem = $menu.find("a[href=\"".concat(window.location.pathname, "\"]")); - if (pathItem.length && !activeItem) { activeItem = window.location.pathname; } - if (activeItem) { var $activeItem = $menu.find("a[href=\"".concat(activeItem, "\"]")).addClass('menu-item--active'); var $activeTrail = $activeItem.parentsUntil('.root', 'li').addClass('menu-item--active-trail'); toggleList($activeTrail, true); } } - return this.each(function (selector) { var menu = once('toolbar-menu', this); - if (menu.length) { var $menu = $(menu); $menu.on('click.toolbar', '.toolbar-box', toggleClickHandler).on('click.toolbar', '.toolbar-box a', linkClickHandler); @@ -98,7 +83,6 @@ } }); }; - Drupal.theme.toolbarMenuItemToggle = function (options) { return ""); }; diff --git a/web/core/modules/toolbar/js/views/BodyVisualView.js b/web/core/modules/toolbar/js/views/BodyVisualView.js index 71293844f..fd1982836 100644 --- a/web/core/modules/toolbar/js/views/BodyVisualView.js +++ b/web/core/modules/toolbar/js/views/BodyVisualView.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal, Backbone) { Drupal.toolbar.BodyVisualView = Backbone.View.extend({ initialize: function initialize() { diff --git a/web/core/modules/toolbar/js/views/MenuVisualView.js b/web/core/modules/toolbar/js/views/MenuVisualView.js index 2cbd95067..5b8f6dc28 100644 --- a/web/core/modules/toolbar/js/views/MenuVisualView.js +++ b/web/core/modules/toolbar/js/views/MenuVisualView.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Backbone, Drupal) { Drupal.toolbar.MenuVisualView = Backbone.View.extend({ initialize: function initialize() { @@ -12,12 +11,10 @@ }, render: function render() { var _this = this; - var subtrees = this.model.get('subtrees'); Object.keys(subtrees || {}).forEach(function (id) { $(once('toolbar-subtrees', _this.$el.find("#toolbar-link-".concat(id)))).after(subtrees[id]); }); - if ('drupalToolbarMenu' in $.fn) { this.$el.children('.toolbar-menu').drupalToolbarMenu(); } diff --git a/web/core/modules/toolbar/js/views/ToolbarAuralView.js b/web/core/modules/toolbar/js/views/ToolbarAuralView.js index fae40f334..d7297ec04 100644 --- a/web/core/modules/toolbar/js/views/ToolbarAuralView.js +++ b/web/core/modules/toolbar/js/views/ToolbarAuralView.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function (Backbone, Drupal) { Drupal.toolbar.ToolbarAuralView = Backbone.View.extend({ initialize: function initialize(options) { @@ -19,15 +18,12 @@ }, onActiveTrayChange: function onActiveTrayChange(model, tray) { var relevantTray = tray === null ? model.previous('activeTray') : tray; - if (!relevantTray) { return; } - var action = tray === null ? Drupal.t('closed') : Drupal.t('opened'); var trayNameElement = relevantTray.querySelector('.toolbar-tray-name'); var text; - if (trayNameElement !== null) { text = Drupal.t('Tray "@tray" @action.', { '@tray': trayNameElement.textContent, @@ -38,7 +34,6 @@ '@action': action }); } - Drupal.announce(text); } }); diff --git a/web/core/modules/toolbar/js/views/ToolbarVisualView.js b/web/core/modules/toolbar/js/views/ToolbarVisualView.js index c9f109dcb..1b354ea2a 100644 --- a/web/core/modules/toolbar/js/views/ToolbarVisualView.js +++ b/web/core/modules/toolbar/js/views/ToolbarVisualView.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal, drupalSettings, Backbone) { Drupal.toolbar.ToolbarVisualView = Backbone.View.extend({ events: function events() { @@ -12,7 +11,6 @@ event.preventDefault(); event.target.click(); }; - return { 'click .toolbar-bar .toolbar-tab .trigger': 'onTabClick', 'click .toolbar-toggle-orientation button': 'onOrientationToggleClick', @@ -51,11 +49,9 @@ this.updateTrayOrientation(); this.updateBarAttributes(); $('body').removeClass('toolbar-loading'); - if (this.model.changed.orientation === 'vertical' || this.model.changed.activeTab) { this.loadSubtrees(); } - return this; }, onTabClick: function onTabClick(event) { @@ -71,13 +67,11 @@ var orientation = this.model.get('orientation'); var antiOrientation = orientation === 'vertical' ? 'horizontal' : 'vertical'; var locked = antiOrientation === 'vertical'; - if (locked) { localStorage.setItem('Drupal.toolbar.trayVerticalLocked', 'true'); } else { localStorage.removeItem('Drupal.toolbar.trayVerticalLocked'); } - this.model.set({ locked: locked, orientation: antiOrientation @@ -92,18 +86,14 @@ var $tab = $(this.model.get('activeTab')); $(this.model.previous('activeTab')).removeClass('is-active').prop('aria-pressed', false); $(this.model.previous('activeTray')).removeClass('is-active'); - if ($tab.length > 0) { $tab.addClass('is-active').prop('aria-pressed', true); var name = $tab.attr('data-toolbar-tray'); var id = $tab.get(0).id; - if (id) { localStorage.setItem('Drupal.toolbar.activeTabID', JSON.stringify(id)); } - var $tray = this.$el.find("[data-toolbar-tray=\"".concat(name, "\"].toolbar-tray")); - if ($tray.length) { $tray.addClass('is-active'); this.model.set('activeTray', $tray.get(0)); @@ -117,13 +107,11 @@ }, updateBarAttributes: function updateBarAttributes() { var isOriented = this.model.get('isOriented'); - if (isOriented) { this.$el.find('.toolbar-bar').attr('data-offset-top', ''); } else { this.$el.find('.toolbar-bar').removeAttr('data-offset-top'); } - this.$el.toggleClass('toolbar-oriented', isOriented); }, updateTrayOrientation: function updateTrayOrientation() { @@ -147,7 +135,6 @@ }, adjustPlacement: function adjustPlacement() { var $trays = this.$el.find('.toolbar-tray'); - if (!this.model.get('isOriented')) { $trays.removeClass('toolbar-tray-horizontal').addClass('toolbar-tray-vertical'); } @@ -155,7 +142,6 @@ loadSubtrees: function loadSubtrees() { var $activeTab = $(this.model.get('activeTab')); var orientation = this.model.get('orientation'); - if (!this.model.get('areSubtreesLoaded') && typeof $activeTab.data('drupal-subtrees') !== 'undefined' && orientation === 'vertical') { var subtreesHash = drupalSettings.toolbar.subtreesHash; var theme = drupalSettings.ajaxPageState.theme; @@ -163,7 +149,6 @@ var cachedSubtreesHash = localStorage.getItem("Drupal.toolbar.subtreesHash.".concat(theme)); var cachedSubtrees = JSON.parse(localStorage.getItem("Drupal.toolbar.subtrees.".concat(theme))); var isVertical = this.model.get('orientation') === 'vertical'; - if (isVertical && subtreesHash === cachedSubtreesHash && cachedSubtrees) { Drupal.toolbar.setSubtrees.resolve(cachedSubtrees); } else if (isVertical) { diff --git a/web/core/modules/toolbar/src/Controller/ToolbarController.php b/web/core/modules/toolbar/src/Controller/ToolbarController.php index f3a3f2f6a..c683494f5 100644 --- a/web/core/modules/toolbar/src/Controller/ToolbarController.php +++ b/web/core/modules/toolbar/src/Controller/ToolbarController.php @@ -108,7 +108,7 @@ public static function preRenderGetRenderedSubtrees(array $data) { $tree = $menu_tree->transform($tree, $manipulators); $subtrees = []; // Calculated the combined cacheability of all subtrees. - $cacheability = new CacheableMetadata(); + $cacheability = CacheableMetadata::createFromRenderArray($data); foreach ($tree as $element) { /** @var \Drupal\Core\Menu\MenuLinkInterface $link */ $link = $element->link; diff --git a/web/core/modules/toolbar/tests/src/Functional/ToolbarAdminMenuTest.php b/web/core/modules/toolbar/tests/src/Functional/ToolbarAdminMenuTest.php index 2b2ef5a3c..2d69089d6 100644 --- a/web/core/modules/toolbar/tests/src/Functional/ToolbarAdminMenuTest.php +++ b/web/core/modules/toolbar/tests/src/Functional/ToolbarAdminMenuTest.php @@ -72,6 +72,9 @@ class ToolbarAdminMenuTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); @@ -111,8 +114,10 @@ protected function setUp(): void { } /** - * Tests the toolbar_modules_installed() and toolbar_modules_uninstalled() hook - * implementations. + * Tests Toolbar's responses to installing and uninstalling modules. + * + * @see toolbar_modules_installed() + * @see toolbar_modules_uninstalled() */ public function testModuleStatusChangeSubtreesHashCacheClear() { // Use an admin role to ensure the user has all available permissions. This @@ -171,8 +176,10 @@ public function testMenuLinkUpdateSubtreesHashCacheClear() { } /** - * Exercises the toolbar_user_role_update() and toolbar_user_update() hook - * implementations. + * Tests Toolbar's responses to user data updates. + * + * @see toolbar_user_role_update() + * @see toolbar_user_update() */ public function testUserRoleUpdateSubtreesHashCacheClear() { // Find the new role ID. @@ -237,8 +244,7 @@ public function testUserRoleUpdateSubtreesHashCacheClear() { } /** - * Tests that changes to a user account by another user clears the changed - * account's toolbar cached, not the user's who took the action. + * Tests cache invalidation when one user modifies another user. */ public function testNonCurrentUserAccountUpdates() { $admin_user_id = $this->adminUser->id(); @@ -451,8 +457,10 @@ private function getSubtreesHash() { } /** - * Asserts the subtrees hash on a fresh page GET is different from the hash - * from the previous page GET. + * Checks the subtree hash of the current page with that of the previous page. + * + * Asserts that the subtrees hash on a fresh page GET is different from the + * subtree hash from the previous page GET. * * @internal */ diff --git a/web/core/modules/toolbar/tests/src/Functional/ToolbarHookToolbarTest.php b/web/core/modules/toolbar/tests/src/Functional/ToolbarHookToolbarTest.php index d04042a9e..3600efb19 100644 --- a/web/core/modules/toolbar/tests/src/Functional/ToolbarHookToolbarTest.php +++ b/web/core/modules/toolbar/tests/src/Functional/ToolbarHookToolbarTest.php @@ -30,6 +30,9 @@ class ToolbarHookToolbarTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/toolbar/tests/src/Functional/ToolbarMenuTranslationTest.php b/web/core/modules/toolbar/tests/src/Functional/ToolbarMenuTranslationTest.php index 0fb7fbeb2..3079352f8 100644 --- a/web/core/modules/toolbar/tests/src/Functional/ToolbarMenuTranslationTest.php +++ b/web/core/modules/toolbar/tests/src/Functional/ToolbarMenuTranslationTest.php @@ -35,6 +35,9 @@ class ToolbarMenuTranslationTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/toolbar/tests/src/Unit/PageCache/AllowToolbarPathTest.php b/web/core/modules/toolbar/tests/src/Unit/PageCache/AllowToolbarPathTest.php index 287c0b4d7..279578bbb 100644 --- a/web/core/modules/toolbar/tests/src/Unit/PageCache/AllowToolbarPathTest.php +++ b/web/core/modules/toolbar/tests/src/Unit/PageCache/AllowToolbarPathTest.php @@ -20,6 +20,9 @@ class AllowToolbarPathTest extends UnitTestCase { */ protected $policy; + /** + * {@inheritdoc} + */ protected function setUp(): void { $this->policy = new AllowToolbarPath(); } diff --git a/web/core/modules/toolbar/toolbar.api.php b/web/core/modules/toolbar/toolbar.api.php index 34be7a815..bf2ddf362 100644 --- a/web/core/modules/toolbar/toolbar.api.php +++ b/web/core/modules/toolbar/toolbar.api.php @@ -36,7 +36,7 @@ * * This hook is invoked in Toolbar::preRenderToolbar(). * - * @return + * @return array * An array of toolbar items, keyed by unique identifiers such as 'home' or * 'administration', or the short name of the module implementing the hook. * The corresponding value is a render element of type 'toolbar_item'. diff --git a/web/core/modules/tour/js/tour.js b/web/core/modules/tour/js/tour.js index c9bf7798c..162288dfb 100644 --- a/web/core/modules/tour/js/tour.js +++ b/web/core/modules/tour/js/tour.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Backbone, Drupal, settings, document, Shepherd) { var queryString = decodeURI(window.location.search); Drupal.behaviors.tour = { @@ -18,11 +17,9 @@ model.on('change:isActive', function (tourModel, isActive) { $(document).trigger(isActive ? 'drupalTourStarted' : 'drupalTourStopped'); }); - if (settings._tour_internal) { model.set('tour', settings._tour_internal); } - if (/tour=?/i.test(queryString)) { model.set('isActive', true); } @@ -57,10 +54,8 @@ toggleTour: function toggleTour() { if (this.model.get('isActive')) { this._removeIrrelevantTourItems(this._getTour()); - var tourItems = this.model.get('tour'); var that = this; - if (tourItems.length) { settings.tourShepherdConfig.defaultStepOptions.popperOptions.modifiers.push({ name: 'moveArrowJoyridePosition', @@ -70,7 +65,6 @@ var state = _ref.state; var arrow = state.elements.arrow; var placement = state.placement; - if (arrow && /^top|bottom/.test(placement) && /-start|-end$/.test(placement)) { var horizontalPosition = placement.split('-')[1]; var offset = horizontalPosition === 'start' ? 28 : state.elements.popper.clientWidth - 56; @@ -100,7 +94,6 @@ show: function show() { var nextButton = shepherdTour.currentStep.el.querySelector('footer button'); nextButton.focus(); - if (Drupal.tour.hasOwnProperty('convertToJoyrideMarkup')) { Drupal.tour.convertToJoyrideMarkup(shepherdTour); } @@ -136,17 +129,14 @@ if (tips && tourItem.hasOwnProperty('classes') && tourItem.classes.indexOf(tips[1]) === -1) { return false; } - return !(tourItem.selector && !document.querySelector(tourItem.selector)); }); - if (tourItems.length !== filteredTour.length) { filteredTour.forEach(function (filteredTourItem, filteredTourItemId) { filteredTour[filteredTourItemId].counter = Drupal.t('!tour_item of !total', { '!tour_item': filteredTourItemId + 1, '!total': filteredTour.length }); - if (filteredTourItemId === filteredTour.length - 1) { filteredTour[filteredTourItemId].cancelText = Drupal.t('End tour'); } @@ -155,7 +145,6 @@ } } }); - Drupal.tour.nextButton = function (shepherdTour, tourStepConfig) { return { classes: 'button button--primary', @@ -163,7 +152,6 @@ action: tourStepConfig.cancelText ? shepherdTour.cancel : shepherdTour.next }; }; - Drupal.theme.tourItemContent = function (tourStepConfig) { return "".concat(tourStepConfig.body, "
                                              ").concat(tourStepConfig.counter, "
                                              "); }; diff --git a/web/core/modules/tour/src/TourViewBuilder.php b/web/core/modules/tour/src/TourViewBuilder.php index d9b7c658f..105563ad5 100644 --- a/web/core/modules/tour/src/TourViewBuilder.php +++ b/web/core/modules/tour/src/TourViewBuilder.php @@ -60,7 +60,7 @@ public function viewMultiple(array $entities = [], $view_mode = 'full', $langcod $body = (string) \Drupal::service('renderer')->renderPlain($body_render_array); $output = [ 'body' => $body, - 'title' => Html::escape($tip->getLabel()), + 'title' => $tip->getLabel(), ]; $selector = $tip->getSelector(); @@ -111,8 +111,8 @@ public function viewMultiple(array $entities = [], $view_mode = 'full', $langcod '@total' => $total_tips, ]), 'attachTo' => [ - 'element' => $selector, - 'on' => $location ?? 'bottom-start', + 'element' => $selector, + 'on' => $location ?? 'bottom-start', ], // Shepherd expects classes to be provided as a string. 'classes' => implode(' ', $classes), diff --git a/web/core/modules/tour/tests/src/Functional/TourTest.php b/web/core/modules/tour/tests/src/Functional/TourTest.php index c15d00f95..aaf2a781a 100644 --- a/web/core/modules/tour/tests/src/Functional/TourTest.php +++ b/web/core/modules/tour/tests/src/Functional/TourTest.php @@ -56,7 +56,7 @@ protected function setUp(): void { parent::setUp(); $this->drupalPlaceBlock('local_actions_block', [ - 'theme' => 'seven', + 'theme' => 'claro', 'region' => 'content', ]); } @@ -158,7 +158,7 @@ public function testTourFunctionality() { 'tour-test-1' => [ 'id' => 'tour-code-test-1', 'plugin' => 'text', - 'label' => 'The rain in spain', + 'label' => 'The rain in spain is strong', 'body' => 'Falls mostly on the plain.', 'weight' => '100', 'selector' => '#tour-code-test-1', @@ -194,7 +194,7 @@ public function testTourFunctionality() { $elements = $this->findTip([ 'id' => 'tour-code-test-1', - 'title' => 'The rain in spain', + 'title' => 'The rain in spain is strong', ]); $this->assertCount(1, $elements, 'Found the required tip markup for tip 4'); diff --git a/web/core/modules/tour/tests/src/Functional/TourTestBase.php b/web/core/modules/tour/tests/src/Functional/TourTestBase.php index 21b6f3fe1..8a55f1e4f 100644 --- a/web/core/modules/tour/tests/src/Functional/TourTestBase.php +++ b/web/core/modules/tour/tests/src/Functional/TourTestBase.php @@ -11,8 +11,7 @@ abstract class TourTestBase extends BrowserTestBase { /** - * Assert function to determine if tips rendered to the page - * have a corresponding page element. + * Asserts the presence of page elements for tour tips. * * @code * // Basic example. diff --git a/web/core/modules/tour/tests/src/Functional/TourTestBasic.php b/web/core/modules/tour/tests/src/Functional/TourTestBasic.php index 2f4d9674d..fb2fec7a0 100644 --- a/web/core/modules/tour/tests/src/Functional/TourTestBasic.php +++ b/web/core/modules/tour/tests/src/Functional/TourTestBasic.php @@ -39,15 +39,18 @@ abstract class TourTestBasic extends TourTestBase { */ protected $permissions = ['access tour']; + /** + * {@inheritdoc} + */ protected function setUp() { parent::setUp(); // Make sure we are using distinct default and administrative themes for // the duration of these tests. - $this->container->get('theme_installer')->install(['bartik', 'seven']); + $this->container->get('theme_installer')->install(['olivero', 'claro']); $this->config('system.theme') - ->set('default', 'bartik') - ->set('admin', 'seven') + ->set('default', 'olivero') + ->set('admin', 'claro') ->save(); $this->permissions[] = 'view the administration theme'; diff --git a/web/core/modules/tour/tests/src/FunctionalJavascript/TourLegacyTest.php b/web/core/modules/tour/tests/src/FunctionalJavascript/TourLegacyTest.php index eefdc4d52..2217f73bd 100644 --- a/web/core/modules/tour/tests/src/FunctionalJavascript/TourLegacyTest.php +++ b/web/core/modules/tour/tests/src/FunctionalJavascript/TourLegacyTest.php @@ -135,9 +135,9 @@ private function assertToolTipMarkup(int $index, string $nub_position, string $j */ public function providerTestTourTipMarkup() { return [ - 'Using the the deprecated TipPlugin with Stable theme' => ['tour-test-legacy'], + 'Using the deprecated TipPlugin with Stable theme' => ['tour-test-legacy'], 'Using current TourTipPlugin with Stable theme' => ['tour-test-1'], - 'Using the the deprecated TipPlugin with Stable 9 theme' => ['tour-test-legacy', 'stable9'], + 'Using the deprecated TipPlugin with Stable 9 theme' => ['tour-test-legacy', 'stable9'], 'Using current TourTipPlugin with Stable 9 theme' => ['tour-test-1', 'stable9'], ]; } diff --git a/web/core/modules/tour/tests/src/Unit/Entity/TourTest.php b/web/core/modules/tour/tests/src/Unit/Entity/TourTest.php index 214317528..b1f3db0bb 100644 --- a/web/core/modules/tour/tests/src/Unit/Entity/TourTest.php +++ b/web/core/modules/tour/tests/src/Unit/Entity/TourTest.php @@ -34,7 +34,7 @@ public function testHasMatchingRoute($routes, $route_name, $route_params, $resul $tour->expects($this->any()) ->method('getRoutes') - ->will($this->returnValue($routes)); + ->willReturn($routes); $this->assertSame($result, $tour->hasMatchingRoute($route_name, $route_params)); diff --git a/web/core/modules/tour/tests/tour_test/src/Plugin/tour/tip/TipPluginImage.php b/web/core/modules/tour/tests/tour_test/src/Plugin/tour/tip/TipPluginImage.php index 763b76b6a..a54a19541 100644 --- a/web/core/modules/tour/tests/tour_test/src/Plugin/tour/tip/TipPluginImage.php +++ b/web/core/modules/tour/tests/tour_test/src/Plugin/tour/tip/TipPluginImage.php @@ -19,10 +19,10 @@ class TipPluginImage extends TipPluginBase implements ContainerFactoryPluginInterface, TourTipPluginInterface { /** - * The url which is used for the image in this Tip. + * The URL which is used for the image in this Tip. * * @var string - * A url used for the image. + * A URL used for the image. */ protected $url; diff --git a/web/core/modules/tour/tour.libraries.yml b/web/core/modules/tour/tour.libraries.yml index 280eb1e59..e70419927 100644 --- a/web/core/modules/tour/tour.libraries.yml +++ b/web/core/modules/tour/tour.libraries.yml @@ -9,7 +9,7 @@ tour: - core/drupal # @todo Remove this in https://www.drupal.org/project/drupal/issues/3204011 - core/internal.backbone - - core/shepherd + - core/internal.shepherd - tour/tour-styling tour-styling: diff --git a/web/core/modules/tracker/help_topics/tracker.tracking_changed_content.html.twig b/web/core/modules/tracker/help_topics/tracker.tracking_changed_content.html.twig index 67cf5dac2..1422ee8e1 100644 --- a/web/core/modules/tracker/help_topics/tracker.tracking_changed_content.html.twig +++ b/web/core/modules/tracker/help_topics/tracker.tracking_changed_content.html.twig @@ -5,11 +5,14 @@ related: - statistics.tracking_popular_content - history.tracking_user_content --- -{% set recent = render_var(url('tracker.page')) %} +{% set recent_link_text %} +{% trans %}Recent content{% endtrans %} +{% endset %} +{% set recent_link = render_var(help_route_link(recent_link_text, 'tracker.page')) %}

                                              {% trans %}What displays of recently-updated content are available?{% endtrans %}

                                              {% trans %}Assuming that you have the core Activity Tracker module installed, these pages that show recently-updated content are available:{% endtrans %}

                                                -
                                              • {% trans %}Recent content: Shows the content that has been most recently added, updated, or commented on.{% endtrans %}
                                              • +
                                              • {% trans %}{{ recent_link }}: Shows the content that has been most recently added, updated, or commented on.{% endtrans %}
                                              • {% trans %}The My recent content tab on the Recent content page (for logged-in users) limits the list to content created or commented on by the user viewing the page.{% endtrans %}
                                              • {% trans %}The Activity tab on a user profile shows the same list for the user whose profile is being viewed.{% endtrans %}
                                              diff --git a/web/core/modules/tracker/js/tracker-history.js b/web/core/modules/tracker/js/tracker-history.js index 74ac73302..053566f6d 100644 --- a/web/core/modules/tracker/js/tracker-history.js +++ b/web/core/modules/tracker/js/tracker-history.js @@ -4,7 +4,6 @@ * https://www.drupal.org/node/2815083 * @preserve **/ - (function ($, Drupal, window) { function processNodeNewIndicators(placeholders) { var newNodeString = Drupal.t('new'); @@ -13,31 +12,26 @@ var timestamp = parseInt(placeholder.getAttribute('data-history-node-timestamp'), 10); var nodeID = placeholder.getAttribute('data-history-node-id'); var lastViewTimestamp = Drupal.history.getLastRead(nodeID); - if (timestamp > lastViewTimestamp) { var message = lastViewTimestamp === 0 ? newNodeString : updatedNodeString; $(placeholder).append("".concat(message, "")); } }); } - function processNewRepliesIndicators(placeholders) { var placeholdersToUpdate = {}; placeholders.forEach(function (placeholder) { var timestamp = parseInt(placeholder.getAttribute('data-history-node-last-comment-timestamp'), 10); var nodeID = placeholder.previousSibling.previousSibling.getAttribute('data-history-node-id'); var lastViewTimestamp = Drupal.history.getLastRead(nodeID); - if (timestamp > lastViewTimestamp) { placeholdersToUpdate[nodeID] = placeholder; } }); var nodeIDs = Object.keys(placeholdersToUpdate); - if (nodeIDs.length === 0) { return; } - $.ajax({ url: Drupal.url('comments/render_new_comments_node_links'), type: 'POST', @@ -56,46 +50,36 @@ } }); } - Drupal.behaviors.trackerHistory = { attach: function attach(context) { var nodeIDs = []; var nodeNewPlaceholders = once('history', '[data-history-node-timestamp]', context).filter(function (placeholder) { var nodeTimestamp = parseInt(placeholder.getAttribute('data-history-node-timestamp'), 10); var nodeID = placeholder.getAttribute('data-history-node-id'); - if (Drupal.history.needsServerCheck(nodeID, nodeTimestamp)) { nodeIDs.push(nodeID); return true; } - return false; }); var newRepliesPlaceholders = once('history', '[data-history-node-last-comment-timestamp]', context).filter(function (placeholder) { var lastCommentTimestamp = parseInt(placeholder.getAttribute('data-history-node-last-comment-timestamp'), 10); var nodeTimestamp = parseInt(placeholder.previousSibling.previousSibling.getAttribute('data-history-node-timestamp'), 10); - if (lastCommentTimestamp === nodeTimestamp) { return false; } - var nodeID = placeholder.previousSibling.previousSibling.getAttribute('data-history-node-id'); - if (Drupal.history.needsServerCheck(nodeID, lastCommentTimestamp)) { if (nodeIDs.indexOf(nodeID) === -1) { nodeIDs.push(nodeID); } - return true; } - return false; }); - if (nodeNewPlaceholders.length === 0 && newRepliesPlaceholders.length === 0) { return; } - Drupal.history.fetchTimestamps(nodeIDs, function () { processNodeNewIndicators(nodeNewPlaceholders); processNewRepliesIndicators(newRepliesPlaceholders); diff --git a/web/core/modules/tracker/tests/src/Functional/TrackerNodeAccessTest.php b/web/core/modules/tracker/tests/src/Functional/TrackerNodeAccessTest.php index e06fd4cd1..8cf4badf3 100644 --- a/web/core/modules/tracker/tests/src/Functional/TrackerNodeAccessTest.php +++ b/web/core/modules/tracker/tests/src/Functional/TrackerNodeAccessTest.php @@ -33,6 +33,9 @@ class TrackerNodeAccessTest extends BrowserTestBase { */ protected $defaultTheme = 'stark'; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); node_access_rebuild(); diff --git a/web/core/modules/tracker/tests/src/Functional/TrackerTest.php b/web/core/modules/tracker/tests/src/Functional/TrackerTest.php index 404053838..d40a23ed7 100644 --- a/web/core/modules/tracker/tests/src/Functional/TrackerTest.php +++ b/web/core/modules/tracker/tests/src/Functional/TrackerTest.php @@ -55,6 +55,9 @@ class TrackerTest extends BrowserTestBase { */ protected $otherUser; + /** + * {@inheritdoc} + */ protected function setUp(): void { parent::setUp(); diff --git a/web/core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateTrackerNodeTest.php b/web/core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateTrackerNodeTest.php index 5d25d2471..c42002446 100644 --- a/web/core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateTrackerNodeTest.php +++ b/web/core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateTrackerNodeTest.php @@ -2,7 +2,6 @@ namespace Drupal\Tests\tracker\Kernel\Migrate\d7; -use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase; use Drupal\Core\Database\Database; /** @@ -10,7 +9,7 @@ * * @group tracker */ -class MigrateTrackerNodeTest extends MigrateDrupal7TestBase { +class MigrateTrackerNodeTest extends MigrateDrupalTestBase { /** * {@inheritdoc} diff --git a/web/core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateTrackerSettingsTest.php b/web/core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateTrackerSettingsTest.php index fa3b1daa1..c74005444 100644 --- a/web/core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateTrackerSettingsTest.php +++ b/web/core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateTrackerSettingsTest.php @@ -2,14 +2,12 @@ namespace Drupal\Tests\tracker\Kernel\Migrate\d7; -use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase; - /** * Tests migration of Tracker settings to configuration. * * @group tracker */ -class MigrateTrackerSettingsTest extends MigrateDrupal7TestBase { +class MigrateTrackerSettingsTest extends MigrateDrupalTestBase { protected static $modules = ['tracker']; diff --git a/web/core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateTrackerUserTest.php b/web/core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateTrackerUserTest.php index 7774a18ea..c43667296 100644 --- a/web/core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateTrackerUserTest.php +++ b/web/core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateTrackerUserTest.php @@ -2,7 +2,6 @@ namespace Drupal\Tests\tracker\Kernel\Migrate\d7; -use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase; use Drupal\Core\Database\Database; /** @@ -10,7 +9,7 @@ * * @group tracker */ -class MigrateTrackerUserTest extends MigrateDrupal7TestBase { +class MigrateTrackerUserTest extends MigrateDrupalTestBase { /** * {@inheritdoc} diff --git a/web/core/modules/update/src/UpdateFetcher.php b/web/core/modules/update/src/UpdateFetcher.php index b103f25c7..47298d5b0 100644 --- a/web/core/modules/update/src/UpdateFetcher.php +++ b/web/core/modules/update/src/UpdateFetcher.php @@ -21,7 +21,7 @@ class UpdateFetcher implements UpdateFetcherInterface { const UPDATE_DEFAULT_URL = 'https://updates.drupal.org/release-history'; /** - * The fetch url configured in the update settings. + * The fetch URL configured in the update settings. * * @var string */ diff --git a/web/core/modules/update/src/UpdateProcessor.php b/web/core/modules/update/src/UpdateProcessor.php index 3f6b24ffb..ccb8f2eb4 100644 --- a/web/core/modules/update/src/UpdateProcessor.php +++ b/web/core/modules/update/src/UpdateProcessor.php @@ -78,6 +78,11 @@ class UpdateProcessor implements UpdateProcessorInterface { */ protected $privateKey; + /** + * The queue for fetching release history data. + */ + protected $fetchTasks; + /** * Constructs an UpdateProcessor. * diff --git a/web/core/modules/update/templates/update-version.html.twig b/web/core/modules/update/templates/update-version.html.twig index decc9df6e..7c18ea15f 100644 --- a/web/core/modules/update/templates/update-version.html.twig +++ b/web/core/modules/update/templates/update-version.html.twig @@ -34,11 +34,6 @@