public function apply($transformer, $instant_article, $node) { $social_embed = SocialEmbed::create(); // Builds the image $iframe = $this->getProperty(self::PROPERTY_IFRAME, $node); $url = $this->getProperty(self::PROPERTY_URL, $node); if ($iframe) { $social_embed->withHTML($iframe); } if ($url) { $social_embed->withSource($url); } if ($iframe || $url) { $instant_article->addChild($social_embed); } else { $transformer->addWarning(new InvalidSelector('iframe and/or url', $instant_article, $node, $this)); } // Dimensions $width = $this->getProperty(self::PROPERTY_WIDTH, $node); $height = $this->getProperty(self::PROPERTY_HEIGHT, $node); if ($width) { $social_embed->withWidth($width); } if ($height) { $social_embed->withHeight($height); } $suppress_warnings = $transformer->suppress_warnings; $transformer->suppress_warnings = true; $transformer->transform($social_embed, $node); $transformer->suppress_warnings = $suppress_warnings; $transformer->addWarning(new DeprecatedRuleWarning('The rule SocialEmbedRule is deprecated. Use InteractiveRule instead.', $instant_article, $node, $this)); return $instant_article; }
public function getContextClass() { return [Map::getClassName(), Image::getClassName(), Interactive::getClassName(), Slideshow::getClassName(), SocialEmbed::getClassName(), Video::getClassName()]; }