<?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing namespace MailPoet\Util; if (!defined('ABSPATH')) exit; use MailPoetVendor\pQuery\DomNode; class DOM { /** * Splits a DOM tree around the cut element, bringing it up to bound * ancestor and splitting left and right siblings into subtrees along * the way, retaining order and nesting level. */ public static function splitOn(DomNode $bound, DomNode $cutElement) { $ignoreTextAndCommentNodes = false; $grandparent = $cutElement->parent; for ($parent = $cutElement->parent; $bound != $parent; $parent = $grandparent) { // Clone parent node without children, but with attributes $parent->after($parent->toString()); $right = $parent->getNextSibling($ignoreTextAndCommentNodes); $right->clear(); while ($sibling = $cutElement->getNextSibling($ignoreTextAndCommentNodes)) { $sibling->move($right); } // Reattach cut_element and right siblings to grandparent $grandparent = $parent->parent; $indexAfterParent = $parent->index() + 1; $right->move($grandparent, $indexAfterParent); $indexAfterParent = $parent->index() + 1; $cutElement->move($grandparent, $indexAfterParent); } } public static function findTopAncestor(DomNode $item) { while ($item->parent->parent !== null) { $item = $item->parent; } return $item; } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
DataInconsistency | Folder | 0700 |
|
|
License | Folder | 0700 |
|
|
Notices | Folder | 0700 |
|
|
pQuery | Folder | 0700 |
|
|
APIPermissionHelper.php | File | 1.26 KB | 0644 |
|
CdnAssetUrl.php | File | 576 B | 0644 |
|
ConflictResolver.php | File | 7.85 KB | 0644 |
|
Cookies.php | File | 1.1 KB | 0644 |
|
DBCollationChecker.php | File | 1.76 KB | 0644 |
|
DOM.php | File | 1.42 KB | 0644 |
|
DateConverter.php | File | 3.34 KB | 0644 |
|
FreeDomains.php | File | 3.14 KB | 0644 |
|
Headers.php | File | 734 B | 0644 |
|
Helpers.php | File | 4.16 KB | 0644 |
|
Installation.php | File | 836 B | 0644 |
|
LegacyDatabase.php | File | 3.78 KB | 0644 |
|
Request.php | File | 325 B | 0644 |
|
SecondLevelDomainNames.php | File | 356 B | 0644 |
|
Security.php | File | 2.81 KB | 0644 |
|
Url.php | File | 1.74 KB | 0644 |
|
index.php | File | 6 B | 0644 |
|