PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 4.17.1
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v4.17.1
4.17.1 4.17.0 4.16.19 4.16.18 4.16.17 4.16.16 trunk 1.0 1.0.1 1.0.2 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.5a 1.1.6 1.1.7 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.4 1.4.1 1.4.2 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.7 1.7.1 1.7.2 1.8 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.1.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.2 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 3.0 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.13.4 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.15.0 4.15.1 4.15.10 4.15.11 4.15.12 4.15.13 4.15.14 4.15.15 4.15.16 4.15.17 4.15.18 4.15.19 4.15.2 4.15.20 4.15.20.1 4.15.21 4.15.22 4.15.23 4.15.24 4.15.25 4.15.3 4.15.4 4.15.5 4.15.6 4.15.7 4.15.8 4.15.9 4.16.0 4.16.1 4.16.10 4.16.11 4.16.12 4.16.13 4.16.14 4.16.15 4.16.2 4.16.3 4.16.4 4.16.5 4.16.6 4.16.7 4.16.8 4.16.9 4.2.0 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.7.0 4.8.0 4.9.0
wp-user-avatar / third-party / vendor / league / csv / src / XMLConverter.php
wp-user-avatar / third-party / vendor / league / csv / src Last commit date
AbstractCsv.php 2 months ago ByteSequence.php 2 months ago CannotInsertRecord.php 2 months ago CharsetConverter.php 2 months ago ColumnConsistency.php 2 months ago EncloseField.php 2 months ago EscapeFormula.php 2 months ago Exception.php 2 months ago HTMLConverter.php 2 months ago Info.php 2 months ago InvalidArgument.php 2 months ago MapIterator.php 2 months ago RFC4180Field.php 2 months ago Reader.php 2 months ago ResultSet.php 2 months ago Statement.php 2 months ago Stream.php 2 months ago SyntaxError.php 2 months ago TabularDataReader.php 2 months ago UnableToProcessCsv.php 2 months ago UnavailableFeature.php 2 months ago UnavailableStream.php 2 months ago Writer.php 2 months ago XMLConverter.php 2 months ago functions.php 2 months ago functions_include.php 2 months ago
XMLConverter.php
166 lines
1 <?php
2
3 /**
4 * League.Csv (https://csv.thephpleague.com)
5 *
6 * (c) Ignace Nyamagana Butera <nyamsprod@gmail.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11 declare (strict_types=1);
12 namespace ProfilePressVendor\League\Csv;
13
14 use DOMAttr;
15 use DOMDocument;
16 use DOMElement;
17 use DOMException;
18 /**
19 * Converts tabular data into a DOMDocument object.
20 */
21 class XMLConverter
22 {
23 /**
24 * XML Root name.
25 */
26 protected string $root_name = 'csv';
27 /**
28 * XML Node name.
29 */
30 protected string $record_name = 'row';
31 /**
32 * XML Item name.
33 */
34 protected string $field_name = 'cell';
35 /**
36 * XML column attribute name.
37 */
38 protected string $column_attr = '';
39 /**
40 * XML offset attribute name.
41 */
42 protected string $offset_attr = '';
43 public static function create(): self
44 {
45 return new self();
46 }
47 /**
48 * DEPRECATION WARNING! This method will be removed in the next major point release.
49 *
50 * @deprecated since version 9.7.0
51 * @see XMLConverter::create()
52 */
53 public function __construct()
54 {
55 }
56 /**
57 * Convert a Record collection into a DOMDocument.
58 */
59 public function convert(iterable $records): DOMDocument
60 {
61 $doc = new DOMDocument('1.0');
62 $node = $this->import($records, $doc);
63 $doc->appendChild($node);
64 return $doc;
65 }
66 /**
67 * Create a new DOMElement related to the given DOMDocument.
68 *
69 * **DOES NOT** attach to the DOMDocument
70 */
71 public function import(iterable $records, DOMDocument $doc): DOMElement
72 {
73 $root = $doc->createElement($this->root_name);
74 foreach ($records as $offset => $record) {
75 $node = $this->recordToElement($doc, $record, $offset);
76 $root->appendChild($node);
77 }
78 return $root;
79 }
80 /**
81 * Convert a CSV record into a DOMElement and
82 * adds its offset as DOMElement attribute.
83 */
84 protected function recordToElement(DOMDocument $doc, array $record, int $offset): DOMElement
85 {
86 $node = $doc->createElement($this->record_name);
87 foreach ($record as $node_name => $value) {
88 $item = $this->fieldToElement($doc, (string) $value, $node_name);
89 $node->appendChild($item);
90 }
91 if ('' !== $this->offset_attr) {
92 $node->setAttribute($this->offset_attr, (string) $offset);
93 }
94 return $node;
95 }
96 /**
97 * Convert Cell to Item.
98 *
99 * Convert the CSV item into a DOMElement and adds the item offset
100 * as attribute to the returned DOMElement
101 *
102 * @param int|string $node_name
103 */
104 protected function fieldToElement(DOMDocument $doc, string $value, $node_name): DOMElement
105 {
106 $item = $doc->createElement($this->field_name);
107 $item->appendChild($doc->createTextNode($value));
108 if ('' !== $this->column_attr) {
109 $item->setAttribute($this->column_attr, (string) $node_name);
110 }
111 return $item;
112 }
113 /**
114 * XML root element setter.
115 */
116 public function rootElement(string $node_name): self
117 {
118 $clone = clone $this;
119 $clone->root_name = $this->filterElementName($node_name);
120 return $clone;
121 }
122 /**
123 * Filter XML element name.
124 *
125 * @throws DOMException If the Element name is invalid
126 */
127 protected function filterElementName(string $value): string
128 {
129 return (new DOMElement($value))->tagName;
130 }
131 /**
132 * XML Record element setter.
133 */
134 public function recordElement(string $node_name, string $record_offset_attribute_name = ''): self
135 {
136 $clone = clone $this;
137 $clone->record_name = $this->filterElementName($node_name);
138 $clone->offset_attr = $this->filterAttributeName($record_offset_attribute_name);
139 return $clone;
140 }
141 /**
142 * Filter XML attribute name.
143 *
144 * @param string $value Element name
145 *
146 * @throws DOMException If the Element attribute name is invalid
147 */
148 protected function filterAttributeName(string $value): string
149 {
150 if ('' === $value) {
151 return $value;
152 }
153 return (new DOMAttr($value))->name;
154 }
155 /**
156 * XML Field element setter.
157 */
158 public function fieldElement(string $node_name, string $fieldname_attribute_name = ''): self
159 {
160 $clone = clone $this;
161 $clone->field_name = $this->filterElementName($node_name);
162 $clone->column_attr = $this->filterAttributeName($fieldname_attribute_name);
163 return $clone;
164 }
165 }
166