Example #1
0
 /**
  * Dynamically return file url from release, format and show.
  *
  * @return string
  */
 public function get_file_url()
 {
     $podcast = Podcast::get_instance();
     $episode = $this->episode();
     $episode_asset = EpisodeAsset::find_by_id($this->episode_asset_id);
     $file_type = FileType::find_by_id($episode_asset->file_type_id);
     if (!$episode_asset || !$file_type || !$episode->slug) {
         return '';
     }
     $template = $episode_asset->url_template;
     $template = str_replace('%media_file_base_url%', $podcast->media_file_base_uri, $template);
     $template = str_replace('%episode_slug%', $episode->slug, $template);
     $template = str_replace('%format_extension%', $file_type->extension, $template);
     return $template;
 }
 /**
  * Find the related episode asset model.
  * 
  * @return \Podlove\Model\EpisodeAsset|NULL
  */
 public function episode_asset()
 {
     return $this->with_blog_scope(function () {
         return $this->episode_asset_id ? EpisodeAsset::find_by_id($this->episode_asset_id) : NULL;
     });
 }
Example #3
0
 /**
  * Find the related episode asset model.
  * 
  * @return \Podlove\Model\EpisodeAsset|NULL
  */
 public function episode_asset()
 {
     return $this->episode_asset_id ? EpisodeAsset::find_by_id($this->episode_asset_id) : NULL;
 }