You are here

function fb_instant_articles_api_rules_import_article in Facebook Instant Articles 7

Same name and namespace in other branches
  1. 7.2 modules/fb_instant_articles_api_rules/fb_instant_articles_api_rules.module \fb_instant_articles_api_rules_import_article()

Implementation of a Facebook instant article import.

Parameters

object $node:

2 calls to fb_instant_articles_api_rules_import_article()
facebook_instant_articles_api_import_action in modules/fb_instant_articles_api_rules/fb_instant_articles_api_rules.module
Implementation of a Facebook instant article node import action.
fb_instant_articles_api_rules_action_import in modules/fb_instant_articles_api_rules/fb_instant_articles_api_rules.rules.inc
Action: Add facebook instant article.

File

modules/fb_instant_articles_api_rules/fb_instant_articles_api_rules.module, line 64
Provide Drupal rules to manage facebook instant article using API.

Code

function fb_instant_articles_api_rules_import_article($node) {
  if (isset($node->nid)) {

    // We duplicate this because hook_node_load() is not triggered during node_insert().
    $layout_settings = fb_instant_articles_display_get_node_layout_settings($node->type);
    $node->fb_instant_articles_display_wrapper = \Drupal\fb_instant_articles_display\DrupalInstantArticleDisplay::create($node, $layout_settings);
    node_build_content($node, $view_mode = 'fb_instant_article');
    $client = \Drupal\fb_instant_articles_api\DrupalClient::get();
    $client
      ->importArticle($node->fb_instant_articles_display_wrapper
      ->getArticle(), $node->status === NODE_PUBLISHED);
  }
}