Code Duplication    Length = 56-56 lines in 3 locations

src/wp-includes/SimplePie/Item.php 1 location

@@ 438-493 (lines=56) @@
435
	 * @since Beta 3
436
	 * @return array|null List of {@see SimplePie_Category} objects
437
	 */
438
	public function get_categories()
439
	{
440
		$categories = array();
441
442
		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'category') as $category)
443
		{
444
			$term = null;
445
			$scheme = null;
446
			$label = null;
447
			if (isset($category['attribs']['']['term']))
448
			{
449
				$term = $this->sanitize($category['attribs']['']['term'], SIMPLEPIE_CONSTRUCT_TEXT);
450
			}
451
			if (isset($category['attribs']['']['scheme']))
452
			{
453
				$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
454
			}
455
			if (isset($category['attribs']['']['label']))
456
			{
457
				$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
458
			}
459
			$categories[] = $this->registry->create('Category', array($term, $scheme, $label));
460
		}
461
		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'category') as $category)
462
		{
463
			// This is really the label, but keep this as the term also for BC.
464
			// Label will also work on retrieving because that falls back to term.
465
			$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
466
			if (isset($category['attribs']['']['domain']))
467
			{
468
				$scheme = $this->sanitize($category['attribs']['']['domain'], SIMPLEPIE_CONSTRUCT_TEXT);
469
			}
470
			else
471
			{
472
				$scheme = null;
473
			}
474
			$categories[] = $this->registry->create('Category', array($term, $scheme, null));
475
		}
476
		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'subject') as $category)
477
		{
478
			$categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
479
		}
480
		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'subject') as $category)
481
		{
482
			$categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
483
		}
484
485
		if (!empty($categories))
486
		{
487
			return array_unique($categories);
488
		}
489
		else
490
		{
491
			return null;
492
		}
493
	}
494
495
	/**
496
	 * Get an author for the item

src/wp-includes/SimplePie/Source.php 1 location

@@ 153-208 (lines=56) @@
150
		}
151
	}
152
153
	public function get_categories()
154
	{
155
		$categories = array();
156
157
		foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'category') as $category)
158
		{
159
			$term = null;
160
			$scheme = null;
161
			$label = null;
162
			if (isset($category['attribs']['']['term']))
163
			{
164
				$term = $this->sanitize($category['attribs']['']['term'], SIMPLEPIE_CONSTRUCT_TEXT);
165
			}
166
			if (isset($category['attribs']['']['scheme']))
167
			{
168
				$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
169
			}
170
			if (isset($category['attribs']['']['label']))
171
			{
172
				$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
173
			}
174
			$categories[] = $this->registry->create('Category', array($term, $scheme, $label));
175
		}
176
		foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'category') as $category)
177
		{
178
			// This is really the label, but keep this as the term also for BC.
179
			// Label will also work on retrieving because that falls back to term.
180
			$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
181
			if (isset($category['attribs']['']['domain']))
182
			{
183
				$scheme = $this->sanitize($category['attribs']['']['domain'], SIMPLEPIE_CONSTRUCT_TEXT);
184
			}
185
			else
186
			{
187
				$scheme = null;
188
			}
189
			$categories[] = $this->registry->create('Category', array($term, $scheme, null));
190
		}
191
		foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'subject') as $category)
192
		{
193
			$categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
194
		}
195
		foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'subject') as $category)
196
		{
197
			$categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
198
		}
199
200
		if (!empty($categories))
201
		{
202
			return array_unique($categories);
203
		}
204
		else
205
		{
206
			return null;
207
		}
208
	}
209
210
	public function get_author($key = 0)
211
	{

src/wp-includes/class-simplepie.php 1 location

@@ 2076-2131 (lines=56) @@
2073
	 * @since Unknown
2074
	 * @return array|null List of {@see SimplePie_Category} objects
2075
	 */
2076
	public function get_categories()
2077
	{
2078
		$categories = array();
2079
2080
		foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'category') as $category)
2081
		{
2082
			$term = null;
2083
			$scheme = null;
2084
			$label = null;
2085
			if (isset($category['attribs']['']['term']))
2086
			{
2087
				$term = $this->sanitize($category['attribs']['']['term'], SIMPLEPIE_CONSTRUCT_TEXT);
2088
			}
2089
			if (isset($category['attribs']['']['scheme']))
2090
			{
2091
				$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
2092
			}
2093
			if (isset($category['attribs']['']['label']))
2094
			{
2095
				$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
2096
			}
2097
			$categories[] = $this->registry->create('Category', array($term, $scheme, $label));
2098
		}
2099
		foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'category') as $category)
2100
		{
2101
			// This is really the label, but keep this as the term also for BC.
2102
			// Label will also work on retrieving because that falls back to term.
2103
			$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
2104
			if (isset($category['attribs']['']['domain']))
2105
			{
2106
				$scheme = $this->sanitize($category['attribs']['']['domain'], SIMPLEPIE_CONSTRUCT_TEXT);
2107
			}
2108
			else
2109
			{
2110
				$scheme = null;
2111
			}
2112
			$categories[] = $this->registry->create('Category', array($term, $scheme, null));
2113
		}
2114
		foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'subject') as $category)
2115
		{
2116
			$categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
2117
		}
2118
		foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'subject') as $category)
2119
		{
2120
			$categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
2121
		}
2122
2123
		if (!empty($categories))
2124
		{
2125
			return array_unique($categories);
2126
		}
2127
		else
2128
		{
2129
			return null;
2130
		}
2131
	}
2132
2133
	/**
2134
	 * Get an author for the feed