You are here

public function SocialContentYoutube::prepareRow in Social Content 7.2

Do the uploads and attach expected fields to a row about to be imported.

Overrides SocialContent::prepareRow

File

modules/youtube/social_content_youtube.class.inc, line 220
Social Content Youtube class.

Class

SocialContentYoutube
@file Social Content Youtube class.

Code

public function prepareRow($row) {
  $settings = $this->settings['instance'];
  $mappings = $this
    ->getFieldMappings();
  if (parent::prepareRow($row) === FALSE) {
    return FALSE;
  }
  $row->title = $row->snippet->title;
  $row->caption = $row->snippet->description;
  $row->account_id = $settings['youtube_id'];
  $row->account_name = $settings['youtube_username'];
  $row->account_link = 'https://www.youtube.com/user/' . $settings['youtube_username'];
  $date = new DateTime($row->snippet->publishedAt);
  $row->created = $date
    ->getTimestamp();
  $row->link = 'https://www.youtube.com/watch?v=' . $row->id;
  $row->embed_link = 'https://www.youtube.com/embed/' . $row->id;

  // @todo: Make sure saving file to disk is optional.
  $image_url = 'http://i.ytimg.com/vi/' . $row->id . '/hqdefault.jpg';
  $picture = $this
    ->saveExternalFile($image_url, $mappings['picture']);
  $row->picture = $picture ? $picture : NULL;
  return TRUE;
}