You are here

class MediaSlideshareStreamWrapper in Media: Slideshare 7

Create an instance

Hierarchy

Expanded class hierarchy of MediaSlideshareStreamWrapper

1 string reference to 'MediaSlideshareStreamWrapper'
media_slideshare_stream_wrappers in ./media_slideshare.module
Implements hook_stream_wrappers().

File

includes/MediaSlideshareStreamWrapper.inc, line 11
Create a Slideshare Stream Wrapper class for the Media/Resource module.

View source
class MediaSlideshareStreamWrapper extends MediaReadOnlyStreamWrapper {
  protected $base_url = 'http://www.slideshare.net/slideshow/embed_code';
  function interpolateUrl() {
    if ($parameters = $this
      ->get_parameters()) {
      return $this->base_url . '/' . $parameters['s'];
    }
  }
  function getTarget($f) {
    return FALSE;
  }
  static function getMimeType($uri, $mapping = NULL) {
    return 'document/slideshare';
  }
  function getOriginalThumbnailPath() {
    $parts = $this
      ->get_parameters();
    $id = check_plain($parts['s']);
    $url = db_query("SELECT url FROM {media_slideshare_url} WHERE id=:id", array(
      ':id' => $id,
    ))
      ->fetchField();
    if ($url) {
      $slideshare = MediaInternetSlideshareHandler::getObjectFromUrl('http://www.slideshare.net/' . $url);
      if (!empty($slideshare['thumbnail'])) {
        return $slideshare['thumbnail'];
      }
    }
  }
  function getLocalThumbnailPath() {
    $parts = $this
      ->get_parameters();
    $id = check_plain($parts['s']);
    $local_path = 'public://media-slideshare/' . $id . '.jpg';
    if (!file_exists($local_path)) {
      $dirname = drupal_dirname($local_path);
      file_prepare_directory($dirname, FILE_CREATE_DIRECTORY | FILE_MODIFY_PERMISSIONS);
      @copy($this
        ->getOriginalThumbnailPath(), $local_path);
    }
    return $local_path;
  }

}

Members