Changeset 3354948
- Timestamp:
- 09/02/2025 09:23:54 PM (7 months ago)
- Location:
- easy-svg
- Files:
-
- 148 added
- 10 edited
-
branches/4.0 (added)
-
branches/4.0/composer.json (added)
-
branches/4.0/composer.lock (added)
-
branches/4.0/easy-svg.php (added)
-
branches/4.0/index.php (added)
-
branches/4.0/languages (added)
-
branches/4.0/languages/easy-svg-ar.mo (added)
-
branches/4.0/languages/easy-svg-ar.po (added)
-
branches/4.0/languages/easy-svg-de_DE.mo (added)
-
branches/4.0/languages/easy-svg-de_DE.po (added)
-
branches/4.0/languages/easy-svg-de_DE_formal.mo (added)
-
branches/4.0/languages/easy-svg-de_DE_formal.po (added)
-
branches/4.0/languages/easy-svg-el.mo (added)
-
branches/4.0/languages/easy-svg-el.po (added)
-
branches/4.0/languages/easy-svg-es_ES.mo (added)
-
branches/4.0/languages/easy-svg-es_ES.po (added)
-
branches/4.0/languages/easy-svg-fr_FR.mo (added)
-
branches/4.0/languages/easy-svg-fr_FR.po (added)
-
branches/4.0/languages/easy-svg-he_IL.mo (added)
-
branches/4.0/languages/easy-svg-he_IL.po (added)
-
branches/4.0/languages/easy-svg-hr.mo (added)
-
branches/4.0/languages/easy-svg-hr.po (added)
-
branches/4.0/languages/easy-svg-nl_NL.mo (added)
-
branches/4.0/languages/easy-svg-nl_NL.po (added)
-
branches/4.0/languages/easy-svg-pl_PL.mo (added)
-
branches/4.0/languages/easy-svg-pl_PL.po (added)
-
branches/4.0/languages/easy-svg-pt_PT.mo (added)
-
branches/4.0/languages/easy-svg-pt_PT.po (added)
-
branches/4.0/languages/easy-svg-ru_RU.mo (added)
-
branches/4.0/languages/easy-svg-ru_RU.po (added)
-
branches/4.0/languages/easy-svg-sr_RS.mo (added)
-
branches/4.0/languages/easy-svg-sr_RS.po (added)
-
branches/4.0/languages/easy-svg-uk.mo (added)
-
branches/4.0/languages/easy-svg-uk.po (added)
-
branches/4.0/languages/easy-svg-zh_CN.mo (added)
-
branches/4.0/languages/easy-svg-zh_CN.po (added)
-
branches/4.0/languages/easy-svg.pot (added)
-
branches/4.0/license.txt (added)
-
branches/4.0/readme.txt (added)
-
branches/4.0/vendor (added)
-
branches/4.0/vendor/autoload.php (added)
-
branches/4.0/vendor/composer (added)
-
branches/4.0/vendor/composer/ClassLoader.php (added)
-
branches/4.0/vendor/composer/InstalledVersions.php (added)
-
branches/4.0/vendor/composer/LICENSE (added)
-
branches/4.0/vendor/composer/autoload_classmap.php (added)
-
branches/4.0/vendor/composer/autoload_namespaces.php (added)
-
branches/4.0/vendor/composer/autoload_psr4.php (added)
-
branches/4.0/vendor/composer/autoload_real.php (added)
-
branches/4.0/vendor/composer/autoload_static.php (added)
-
branches/4.0/vendor/composer/installed.json (added)
-
branches/4.0/vendor/composer/installed.php (added)
-
branches/4.0/vendor/composer/platform_check.php (added)
-
branches/4.0/vendor/enshrined (added)
-
branches/4.0/vendor/enshrined/svg-sanitize (added)
-
branches/4.0/vendor/enshrined/svg-sanitize/LICENSE (added)
-
branches/4.0/vendor/enshrined/svg-sanitize/README.md (added)
-
branches/4.0/vendor/enshrined/svg-sanitize/composer.json (added)
-
branches/4.0/vendor/enshrined/svg-sanitize/src (added)
-
branches/4.0/vendor/enshrined/svg-sanitize/src/ElementReference (added)
-
branches/4.0/vendor/enshrined/svg-sanitize/src/ElementReference/Resolver.php (added)
-
branches/4.0/vendor/enshrined/svg-sanitize/src/ElementReference/Subject.php (added)
-
branches/4.0/vendor/enshrined/svg-sanitize/src/ElementReference/Usage.php (added)
-
branches/4.0/vendor/enshrined/svg-sanitize/src/Exceptions (added)
-
branches/4.0/vendor/enshrined/svg-sanitize/src/Exceptions/NestingException.php (added)
-
branches/4.0/vendor/enshrined/svg-sanitize/src/Helper.php (added)
-
branches/4.0/vendor/enshrined/svg-sanitize/src/Sanitizer.php (added)
-
branches/4.0/vendor/enshrined/svg-sanitize/src/data (added)
-
branches/4.0/vendor/enshrined/svg-sanitize/src/data/AllowedAttributes.php (added)
-
branches/4.0/vendor/enshrined/svg-sanitize/src/data/AllowedTags.php (added)
-
branches/4.0/vendor/enshrined/svg-sanitize/src/data/AttributeInterface.php (added)
-
branches/4.0/vendor/enshrined/svg-sanitize/src/data/TagInterface.php (added)
-
branches/4.0/vendor/enshrined/svg-sanitize/src/data/XPath.php (added)
-
branches/4.0/vendor/enshrined/svg-sanitize/src/svg-scanner.php (added)
-
tags/4.0 (added)
-
tags/4.0/composer.json (added)
-
tags/4.0/composer.lock (added)
-
tags/4.0/easy-svg.php (added)
-
tags/4.0/index.php (added)
-
tags/4.0/languages (added)
-
tags/4.0/languages/easy-svg-ar.mo (added)
-
tags/4.0/languages/easy-svg-ar.po (added)
-
tags/4.0/languages/easy-svg-de_DE.mo (added)
-
tags/4.0/languages/easy-svg-de_DE.po (added)
-
tags/4.0/languages/easy-svg-de_DE_formal.mo (added)
-
tags/4.0/languages/easy-svg-de_DE_formal.po (added)
-
tags/4.0/languages/easy-svg-el.mo (added)
-
tags/4.0/languages/easy-svg-el.po (added)
-
tags/4.0/languages/easy-svg-es_ES.mo (added)
-
tags/4.0/languages/easy-svg-es_ES.po (added)
-
tags/4.0/languages/easy-svg-fr_FR.mo (added)
-
tags/4.0/languages/easy-svg-fr_FR.po (added)
-
tags/4.0/languages/easy-svg-he_IL.mo (added)
-
tags/4.0/languages/easy-svg-he_IL.po (added)
-
tags/4.0/languages/easy-svg-hr.mo (added)
-
tags/4.0/languages/easy-svg-hr.po (added)
-
tags/4.0/languages/easy-svg-nl_NL.mo (added)
-
tags/4.0/languages/easy-svg-nl_NL.po (added)
-
tags/4.0/languages/easy-svg-pl_PL.mo (added)
-
tags/4.0/languages/easy-svg-pl_PL.po (added)
-
tags/4.0/languages/easy-svg-pt_PT.mo (added)
-
tags/4.0/languages/easy-svg-pt_PT.po (added)
-
tags/4.0/languages/easy-svg-ru_RU.mo (added)
-
tags/4.0/languages/easy-svg-ru_RU.po (added)
-
tags/4.0/languages/easy-svg-sr_RS.mo (added)
-
tags/4.0/languages/easy-svg-sr_RS.po (added)
-
tags/4.0/languages/easy-svg-uk.mo (added)
-
tags/4.0/languages/easy-svg-uk.po (added)
-
tags/4.0/languages/easy-svg-zh_CN.mo (added)
-
tags/4.0/languages/easy-svg-zh_CN.po (added)
-
tags/4.0/languages/easy-svg.pot (added)
-
tags/4.0/license.txt (added)
-
tags/4.0/readme.txt (added)
-
tags/4.0/vendor (added)
-
tags/4.0/vendor/autoload.php (added)
-
tags/4.0/vendor/composer (added)
-
tags/4.0/vendor/composer/ClassLoader.php (added)
-
tags/4.0/vendor/composer/InstalledVersions.php (added)
-
tags/4.0/vendor/composer/LICENSE (added)
-
tags/4.0/vendor/composer/autoload_classmap.php (added)
-
tags/4.0/vendor/composer/autoload_namespaces.php (added)
-
tags/4.0/vendor/composer/autoload_psr4.php (added)
-
tags/4.0/vendor/composer/autoload_real.php (added)
-
tags/4.0/vendor/composer/autoload_static.php (added)
-
tags/4.0/vendor/composer/installed.json (added)
-
tags/4.0/vendor/composer/installed.php (added)
-
tags/4.0/vendor/composer/platform_check.php (added)
-
tags/4.0/vendor/enshrined (added)
-
tags/4.0/vendor/enshrined/svg-sanitize (added)
-
tags/4.0/vendor/enshrined/svg-sanitize/LICENSE (added)
-
tags/4.0/vendor/enshrined/svg-sanitize/README.md (added)
-
tags/4.0/vendor/enshrined/svg-sanitize/composer.json (added)
-
tags/4.0/vendor/enshrined/svg-sanitize/src (added)
-
tags/4.0/vendor/enshrined/svg-sanitize/src/ElementReference (added)
-
tags/4.0/vendor/enshrined/svg-sanitize/src/ElementReference/Resolver.php (added)
-
tags/4.0/vendor/enshrined/svg-sanitize/src/ElementReference/Subject.php (added)
-
tags/4.0/vendor/enshrined/svg-sanitize/src/ElementReference/Usage.php (added)
-
tags/4.0/vendor/enshrined/svg-sanitize/src/Exceptions (added)
-
tags/4.0/vendor/enshrined/svg-sanitize/src/Exceptions/NestingException.php (added)
-
tags/4.0/vendor/enshrined/svg-sanitize/src/Helper.php (added)
-
tags/4.0/vendor/enshrined/svg-sanitize/src/Sanitizer.php (added)
-
tags/4.0/vendor/enshrined/svg-sanitize/src/data (added)
-
tags/4.0/vendor/enshrined/svg-sanitize/src/data/AllowedAttributes.php (added)
-
tags/4.0/vendor/enshrined/svg-sanitize/src/data/AllowedTags.php (added)
-
tags/4.0/vendor/enshrined/svg-sanitize/src/data/AttributeInterface.php (added)
-
tags/4.0/vendor/enshrined/svg-sanitize/src/data/TagInterface.php (added)
-
tags/4.0/vendor/enshrined/svg-sanitize/src/data/XPath.php (added)
-
tags/4.0/vendor/enshrined/svg-sanitize/src/svg-scanner.php (added)
-
trunk/composer.json (modified) (1 diff)
-
trunk/composer.lock (modified) (3 diffs)
-
trunk/easy-svg.php (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/vendor/autoload.php (modified) (1 diff)
-
trunk/vendor/composer/InstalledVersions.php (modified) (5 diffs)
-
trunk/vendor/composer/installed.json (modified) (3 diffs)
-
trunk/vendor/composer/installed.php (modified) (3 diffs)
-
trunk/vendor/composer/platform_check.php (modified) (1 diff)
-
trunk/vendor/enshrined/svg-sanitize/src/Sanitizer.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
easy-svg/trunk/composer.json
r3265293 r3354948 13 13 ], 14 14 "require": { 15 "enshrined/svg-sanitize": "^0.2 1.0"15 "enshrined/svg-sanitize": "^0.22.0" 16 16 } 17 17 } -
easy-svg/trunk/composer.lock
r3265293 r3354948 5 5 "This file is @generated automatically" 6 6 ], 7 "content-hash": " 94ea64f5c2f73fb7a33ff877ce4aebd4",7 "content-hash": "f157a1ddb5f4e5dcf44b69f60f692e08", 8 8 "packages": [ 9 9 { 10 10 "name": "enshrined/svg-sanitize", 11 "version": "0.2 1.0",11 "version": "0.22.0", 12 12 "source": { 13 13 "type": "git", 14 14 "url": "https://github.com/darylldoyle/svg-sanitizer.git", 15 "reference": " 5e477468fac5c5ce933dce53af3e8e4e58dcccc9"15 "reference": "0afa95ea74be155a7bcd6c6fb60c276c39984500" 16 16 }, 17 17 "dist": { 18 18 "type": "zip", 19 "url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/ 5e477468fac5c5ce933dce53af3e8e4e58dcccc9",20 "reference": " 5e477468fac5c5ce933dce53af3e8e4e58dcccc9",19 "url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/0afa95ea74be155a7bcd6c6fb60c276c39984500", 20 "reference": "0afa95ea74be155a7bcd6c6fb60c276c39984500", 21 21 "shasum": "" 22 22 }, … … 48 48 "support": { 49 49 "issues": "https://github.com/darylldoyle/svg-sanitizer/issues", 50 "source": "https://github.com/darylldoyle/svg-sanitizer/tree/0.2 1.0"50 "source": "https://github.com/darylldoyle/svg-sanitizer/tree/0.22.0" 51 51 }, 52 "time": "2025-0 1-13T09:32:25+00:00"52 "time": "2025-08-12T10:13:48+00:00" 53 53 } 54 54 ], … … 56 56 "aliases": [], 57 57 "minimum-stability": "stable", 58 "stability-flags": [],58 "stability-flags": {}, 59 59 "prefer-stable": false, 60 60 "prefer-lowest": false, 61 "platform": [],62 "platform-dev": [],61 "platform": {}, 62 "platform-dev": {}, 63 63 "plugin-api-version": "2.6.0" 64 64 } -
easy-svg/trunk/easy-svg.php
r3265293 r3354948 4 4 Plugin URI: https://wordpress.org/plugins/easy-svg/ 5 5 Description: Add SVG Support for WordPress. 6 Version: 3.96 Version: 4.0 7 7 Author: Benjamin Zekavica 8 8 Requires PHP: 8.0 -
easy-svg/trunk/readme.txt
r3265293 r3354948 7 7 Tested up to: 6.8 8 8 Requires PHP: 8.0 9 Stable tag: 3.99 Stable tag: 4.0 10 10 License: GPLv3 11 11 License URI: http://www.gnu.org/licenses/gpl-3.0.txt … … 82 82 83 83 == Changelog == 84 = 4.0: September 2, 2025 = 85 * Support for new WordPress version 86 * Support Gutenberg Version 87 * Updated SVG Sanitizer Package 84 88 85 89 = 3.9: 1st of April, 2025 = -
easy-svg/trunk/vendor/autoload.php
r3265293 r3354948 15 15 } 16 16 } 17 trigger_error( 18 $err, 19 E_USER_ERROR 20 ); 17 throw new RuntimeException($err); 21 18 } 22 19 -
easy-svg/trunk/vendor/composer/InstalledVersions.php
r2928172 r3354948 28 28 { 29 29 /** 30 * @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to 31 * @internal 32 */ 33 private static $selfDir = null; 34 35 /** 30 36 * @var mixed[]|null 31 37 * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null 32 38 */ 33 39 private static $installed; 40 41 /** 42 * @var bool 43 */ 44 private static $installedIsLocalDir; 34 45 35 46 /** … … 310 321 self::$installed = $data; 311 322 self::$installedByVendor = array(); 323 324 // when using reload, we disable the duplicate protection to ensure that self::$installed data is 325 // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not, 326 // so we have to assume it does not, and that may result in duplicate data being returned when listing 327 // all installed packages for example 328 self::$installedIsLocalDir = false; 329 } 330 331 /** 332 * @return string 333 */ 334 private static function getSelfDir() 335 { 336 if (self::$selfDir === null) { 337 self::$selfDir = strtr(__DIR__, '\\', '/'); 338 } 339 340 return self::$selfDir; 312 341 } 313 342 … … 323 352 324 353 $installed = array(); 354 $copiedLocalDir = false; 325 355 326 356 if (self::$canGetVendors) { 357 $selfDir = self::getSelfDir(); 327 358 foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { 359 $vendorDir = strtr($vendorDir, '\\', '/'); 328 360 if (isset(self::$installedByVendor[$vendorDir])) { 329 361 $installed[] = self::$installedByVendor[$vendorDir]; … … 331 363 /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */ 332 364 $required = require $vendorDir.'/composer/installed.php'; 333 $installed[] = self::$installedByVendor[$vendorDir] = $required; 334 if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { 335 self::$installed = $installed[count($installed) - 1]; 365 self::$installedByVendor[$vendorDir] = $required; 366 $installed[] = $required; 367 if (self::$installed === null && $vendorDir.'/composer' === $selfDir) { 368 self::$installed = $required; 369 self::$installedIsLocalDir = true; 336 370 } 371 } 372 if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) { 373 $copiedLocalDir = true; 337 374 } 338 375 } … … 351 388 } 352 389 353 if (self::$installed !== array() ) {390 if (self::$installed !== array() && !$copiedLocalDir) { 354 391 $installed[] = self::$installed; 355 392 } -
easy-svg/trunk/vendor/composer/installed.json
r3265293 r3354948 3 3 { 4 4 "name": "enshrined/svg-sanitize", 5 "version": "0.2 1.0",6 "version_normalized": "0.2 1.0.0",5 "version": "0.22.0", 6 "version_normalized": "0.22.0.0", 7 7 "source": { 8 8 "type": "git", 9 9 "url": "https://github.com/darylldoyle/svg-sanitizer.git", 10 "reference": " 5e477468fac5c5ce933dce53af3e8e4e58dcccc9"10 "reference": "0afa95ea74be155a7bcd6c6fb60c276c39984500" 11 11 }, 12 12 "dist": { 13 13 "type": "zip", 14 "url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/ 5e477468fac5c5ce933dce53af3e8e4e58dcccc9",15 "reference": " 5e477468fac5c5ce933dce53af3e8e4e58dcccc9",14 "url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/0afa95ea74be155a7bcd6c6fb60c276c39984500", 15 "reference": "0afa95ea74be155a7bcd6c6fb60c276c39984500", 16 16 "shasum": "" 17 17 }, … … 24 24 "phpunit/phpunit": "^6.5 || ^8.5" 25 25 }, 26 "time": "2025-0 1-13T09:32:25+00:00",26 "time": "2025-08-12T10:13:48+00:00", 27 27 "type": "library", 28 28 "installation-source": "dist", … … 45 45 "support": { 46 46 "issues": "https://github.com/darylldoyle/svg-sanitizer/issues", 47 "source": "https://github.com/darylldoyle/svg-sanitizer/tree/0.2 1.0"47 "source": "https://github.com/darylldoyle/svg-sanitizer/tree/0.22.0" 48 48 }, 49 49 "install-path": "../enshrined/svg-sanitize" -
easy-svg/trunk/vendor/composer/installed.php
r3265293 r3354948 4 4 'pretty_version' => 'dev-master', 5 5 'version' => 'dev-master', 6 'reference' => ' 55fa71f309dbb75ab6fb96cf66a69097335e9f95',6 'reference' => 'f2477c7744d8c44c69f347357b146b9adcc4dca7', 7 7 'type' => 'library', 8 8 'install_path' => __DIR__ . '/../../', … … 14 14 'pretty_version' => 'dev-master', 15 15 'version' => 'dev-master', 16 'reference' => ' 55fa71f309dbb75ab6fb96cf66a69097335e9f95',16 'reference' => 'f2477c7744d8c44c69f347357b146b9adcc4dca7', 17 17 'type' => 'library', 18 18 'install_path' => __DIR__ . '/../../', … … 21 21 ), 22 22 'enshrined/svg-sanitize' => array( 23 'pretty_version' => '0.2 1.0',24 'version' => '0.2 1.0.0',25 'reference' => ' 5e477468fac5c5ce933dce53af3e8e4e58dcccc9',23 'pretty_version' => '0.22.0', 24 'version' => '0.22.0.0', 25 'reference' => '0afa95ea74be155a7bcd6c6fb60c276c39984500', 26 26 'type' => 'library', 27 27 'install_path' => __DIR__ . '/../enshrined/svg-sanitize', -
easy-svg/trunk/vendor/composer/platform_check.php
r3181757 r3354948 20 20 } 21 21 } 22 trigger_error( 23 'Composer detected issues in your platform: ' . implode(' ', $issues), 24 E_USER_ERROR 22 throw new \RuntimeException( 23 'Composer detected issues in your platform: ' . implode(' ', $issues) 25 24 ); 26 25 } -
easy-svg/trunk/vendor/enshrined/svg-sanitize/src/Sanitizer.php
r3181757 r3354948 422 422 * We have to do this as the link is still ran in this case. 423 423 */ 424 if (false !== str pos($attrName, 'href')) {424 if (false !== stripos($attrName, 'href')) { 425 425 $href = $element->getAttribute($attrName); 426 426 if (false === $this->isHrefSafeValue($href)) { … … 454 454 protected function cleanXlinkHrefs(\DOMElement $element) 455 455 { 456 $xlinks = $element->getAttributeNS('http://www.w3.org/1999/xlink', 'href'); 457 if (false === $this->isHrefSafeValue($xlinks)) { 458 $element->removeAttributeNS( 'http://www.w3.org/1999/xlink', 'href' ); 459 $this->xmlIssues[] = array( 460 'message' => 'Suspicious attribute \'href\'', 461 'line' => $element->getLineNo(), 462 ); 463 } 456 foreach ($element->attributes as $attribute) { 457 // remove attributes with unexpected namespace prefix, e.g. `XLinK:href` (instead of `xlink:href`) 458 if ($attribute->prefix === '' && strtolower($attribute->nodeName) === 'xlink:href') { 459 $element->removeAttribute($attribute->nodeName); 460 $this->xmlIssues[] = array( 461 'message' => sprintf('Unexpected attribute \'%s\'', $attribute->nodeName), 462 'line' => $element->getLineNo(), 463 ); 464 } 465 } 466 $this->cleanHrefAttributes($element, 'xlink'); 464 467 } 465 468 … … 471 474 protected function cleanHrefs(\DOMElement $element) 472 475 { 473 $href = $element->getAttribute('href'); 474 if (false === $this->isHrefSafeValue($href)) { 475 $element->removeAttribute('href'); 476 $this->xmlIssues[] = array( 477 'message' => 'Suspicious attribute \'href\'', 478 'line' => $element->getLineNo(), 479 ); 476 $this->cleanHrefAttributes($element); 477 } 478 479 protected function cleanHrefAttributes(\DOMElement $element, string $prefix = ''): void 480 { 481 $relevantAttributes = array_filter( 482 iterator_to_array($element->attributes), 483 static function (\DOMAttr $attr) use ($prefix) { 484 return strtolower($attr->name) === 'href' && strtolower($attr->prefix) === $prefix; 485 } 486 ); 487 foreach ($relevantAttributes as $attribute) { 488 if (!$this->isHrefSafeValue($attribute->value)) { 489 $element->removeAttribute($attribute->nodeName); 490 $this->xmlIssues[] = array( 491 'message' => sprintf('Suspicious attribute \'%s\'', $attribute->nodeName), 492 'line' => $element->getLineNo(), 493 ); 494 continue; 495 } 496 // in case the attribute name is `HrEf`/`xlink:HrEf`, adjust it to `href`/`xlink:href` 497 if (!in_array($attribute->nodeName, $this->allowedAttrs, true) 498 && in_array(strtolower($attribute->nodeName), $this->allowedAttrs, true) 499 ) { 500 $element->removeAttribute($attribute->nodeName); 501 $element->setAttribute(strtolower($attribute->nodeName), $attribute->value); 502 } 480 503 } 481 504 }
Note: See TracChangeset
for help on using the changeset viewer.