From 0226e0ca0dc70f9a0310b3eef045ee1c1e0ca3ac Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 13 Dec 2022 20:00:46 +0300 Subject: split into a separate repo --- .../readability.php/src/Nodes/DOM/DOMAttr.php | 10 +++ .../src/Nodes/DOM/DOMCdataSection.php | 10 +++ .../src/Nodes/DOM/DOMCharacterData.php | 10 +++ .../readability.php/src/Nodes/DOM/DOMComment.php | 10 +++ .../readability.php/src/Nodes/DOM/DOMDocument.php | 30 ++++++++ .../src/Nodes/DOM/DOMDocumentFragment.php | 10 +++ .../src/Nodes/DOM/DOMDocumentType.php | 10 +++ .../readability.php/src/Nodes/DOM/DOMElement.php | 46 ++++++++++++ .../readability.php/src/Nodes/DOM/DOMEntity.php | 10 +++ .../src/Nodes/DOM/DOMEntityReference.php | 10 +++ .../readability.php/src/Nodes/DOM/DOMNode.php | 14 ++++ .../readability.php/src/Nodes/DOM/DOMNodeList.php | 82 ++++++++++++++++++++++ .../readability.php/src/Nodes/DOM/DOMNotation.php | 10 +++ .../src/Nodes/DOM/DOMProcessingInstruction.php | 10 +++ .../readability.php/src/Nodes/DOM/DOMText.php | 10 +++ 15 files changed, 282 insertions(+) create mode 100644 vendor/fivefilters/readability.php/src/Nodes/DOM/DOMAttr.php create mode 100644 vendor/fivefilters/readability.php/src/Nodes/DOM/DOMCdataSection.php create mode 100644 vendor/fivefilters/readability.php/src/Nodes/DOM/DOMCharacterData.php create mode 100644 vendor/fivefilters/readability.php/src/Nodes/DOM/DOMComment.php create mode 100644 vendor/fivefilters/readability.php/src/Nodes/DOM/DOMDocument.php create mode 100644 vendor/fivefilters/readability.php/src/Nodes/DOM/DOMDocumentFragment.php create mode 100644 vendor/fivefilters/readability.php/src/Nodes/DOM/DOMDocumentType.php create mode 100644 vendor/fivefilters/readability.php/src/Nodes/DOM/DOMElement.php create mode 100644 vendor/fivefilters/readability.php/src/Nodes/DOM/DOMEntity.php create mode 100644 vendor/fivefilters/readability.php/src/Nodes/DOM/DOMEntityReference.php create mode 100644 vendor/fivefilters/readability.php/src/Nodes/DOM/DOMNode.php create mode 100644 vendor/fivefilters/readability.php/src/Nodes/DOM/DOMNodeList.php create mode 100644 vendor/fivefilters/readability.php/src/Nodes/DOM/DOMNotation.php create mode 100644 vendor/fivefilters/readability.php/src/Nodes/DOM/DOMProcessingInstruction.php create mode 100644 vendor/fivefilters/readability.php/src/Nodes/DOM/DOMText.php (limited to 'vendor/fivefilters/readability.php/src/Nodes/DOM') diff --git a/vendor/fivefilters/readability.php/src/Nodes/DOM/DOMAttr.php b/vendor/fivefilters/readability.php/src/Nodes/DOM/DOMAttr.php new file mode 100644 index 0000000..1bdf395 --- /dev/null +++ b/vendor/fivefilters/readability.php/src/Nodes/DOM/DOMAttr.php @@ -0,0 +1,10 @@ +registerNodeClass('DOMAttr', DOMAttr::class); + $this->registerNodeClass('DOMCdataSection', DOMCdataSection::class); + $this->registerNodeClass('DOMCharacterData', DOMCharacterData::class); + $this->registerNodeClass('DOMComment', DOMComment::class); + $this->registerNodeClass('DOMDocument', self::class); + $this->registerNodeClass('DOMDocumentFragment', DOMDocumentFragment::class); + $this->registerNodeClass('DOMDocumentType', DOMDocumentType::class); + $this->registerNodeClass('DOMElement', DOMElement::class); + $this->registerNodeClass('DOMEntity', DOMEntity::class); + $this->registerNodeClass('DOMEntityReference', DOMEntityReference::class); + $this->registerNodeClass('DOMNode', DOMNode::class); + $this->registerNodeClass('DOMNotation', DOMNotation::class); + $this->registerNodeClass('DOMProcessingInstruction', DOMProcessingInstruction::class); + $this->registerNodeClass('DOMText', DOMText::class); + } +} diff --git a/vendor/fivefilters/readability.php/src/Nodes/DOM/DOMDocumentFragment.php b/vendor/fivefilters/readability.php/src/Nodes/DOM/DOMDocumentFragment.php new file mode 100644 index 0000000..33a3f95 --- /dev/null +++ b/vendor/fivefilters/readability.php/src/Nodes/DOM/DOMDocumentFragment.php @@ -0,0 +1,10 @@ +childNodes as $node) { + if ($node->nodeType === XML_ELEMENT_NODE) { + $newList->add($node); + } + } + return $newList; + } + + /** + * Returns the Element immediately prior to the specified one in its parent's children list, or null if the specified element is the first one in the list. + * + * @see https://wiki.php.net/rfc/dom_living_standard_api + * @return DOMElement|null + */ + public function previousElementSibling() + { + $previous = $this->previousSibling; + while ($previous) { + if ($previous->nodeType === XML_ELEMENT_NODE) { + return $previous; + } + $previous = $previous->previousSibling; + } + return null; + } +} diff --git a/vendor/fivefilters/readability.php/src/Nodes/DOM/DOMEntity.php b/vendor/fivefilters/readability.php/src/Nodes/DOM/DOMEntity.php new file mode 100644 index 0000000..751b59c --- /dev/null +++ b/vendor/fivefilters/readability.php/src/Nodes/DOM/DOMEntity.php @@ -0,0 +1,10 @@ +length is hidden + * from the user and cannot be extended, changed, or tweaked. + */ +class DOMNodeList implements \Countable, \IteratorAggregate +{ + /** + * @var array + */ + protected $items = []; + + /** + * @var int + */ + protected $length = 0; + + /** + * To allow access to length in the same way that DOMNodeList allows. + * + * {@inheritdoc} + */ + public function __get($name) + { + switch ($name) { + case 'length': + return $this->length; + default: + trigger_error(sprintf('Undefined property: %s::%s', static::class, $name)); + } + } + + /** + * @param DOMNode|DOMElement|DOMComment $node + * + * @return DOMNodeList + */ + public function add($node) + { + $this->items[] = $node; + $this->length++; + + return $this; + } + + /** + * @param int $offset + * + * @return DOMNode|DOMElement|DOMComment + */ + public function item(int $offset) + { + return $this->items[$offset]; + } + + /** + * @return int|void + */ + public function count(): int + { + return $this->length; + } + + /** + * To make it compatible with iterator_to_array() function. + * + * {@inheritdoc} + */ + public function getIterator(): \ArrayIterator + { + return new \ArrayIterator($this->items); + } +} diff --git a/vendor/fivefilters/readability.php/src/Nodes/DOM/DOMNotation.php b/vendor/fivefilters/readability.php/src/Nodes/DOM/DOMNotation.php new file mode 100644 index 0000000..d276e42 --- /dev/null +++ b/vendor/fivefilters/readability.php/src/Nodes/DOM/DOMNotation.php @@ -0,0 +1,10 @@ +