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')); }