Current File : /home/jvzmxxx/wiki1/extensions/Flow/includes/Parsoid/Extractor/ImageExtractor.php
<?php

namespace Flow\Parsoid\Extractor;

use DOMElement;
use Flow\Model\WikiReference;
use Flow\Parsoid\Extractor;
use Flow\Parsoid\ReferenceFactory;

/**
 * Finds and creates References for images in parsoid HTML
 */
class ImageExtractor implements Extractor {
	/**
	 * {@inheritDoc}
	 */
	public function getXPath() {
		return '//*[contains(concat(" ", @typeof, " "), " mw:Image " )]';
	}

	/**
	 * {@inheritDoc}
	 */
	public function perform( ReferenceFactory $factory, DOMElement $element ) {
		foreach ( $element->getElementsByTagName( 'img' ) as $item ) {
			if ( !$item instanceof DOMElement ) {
				continue;
			}
			$resource = $item->getAttribute( 'resource' );
			if ( $resource !== '' ) {
				return $factory->createWikiReference(
					WikiReference::TYPE_FILE,
					urldecode( $resource )
				);
			}
		}

		return null;
	}
}