public static function find_or_create_by_episode_id_and_episode_asset_id($episode_id, $episode_asset_id)
 {
     if (!($file = self::find_by_episode_id_and_episode_asset_id($episode_id, $episode_asset_id))) {
         $file = new MediaFile();
         $file->episode_id = $episode_id;
         $file->episode_asset_id = $episode_asset_id;
         $file->save();
     }
     return $file;
 }
 public function batch_enable()
 {
     if (!isset($_REQUEST['episode_asset'])) {
         return;
     }
     $podcast = Model\Podcast::get();
     $asset = Model\EpisodeAsset::find_by_id($_REQUEST['episode_asset']);
     $episodes = Model\Episode::all();
     foreach ($episodes as $episode) {
         $post_id = $episode->post_id;
         $post = get_post($post_id);
         // skip deleted podcasts
         if (!in_array($post->post_status, array('pending', 'draft', 'publish', 'future'))) {
             continue;
         }
         // skip versions
         if ($post->post_type != 'podcast') {
             continue;
         }
         $file = Model\MediaFile::find_by_episode_id_and_episode_asset_id($episode->id, $asset->id);
         if ($file === NULL) {
             $file = new Model\MediaFile();
             $file->episode_id = $episode->id;
             $file->episode_asset_id = $asset->id;
             $file->save();
         }
     }
     $this->redirect('index', NULL, array('message' => 'media_file_batch_enabled_notice'));
 }