diff --git a/airtime_mvc/application/common/TaskManager.php b/airtime_mvc/application/common/TaskManager.php index 0425f340c..4acbd9387 100644 --- a/airtime_mvc/application/common/TaskManager.php +++ b/airtime_mvc/application/common/TaskManager.php @@ -310,7 +310,7 @@ class StationPodcastTask implements AirtimeTask { class TaskFactory { /** - * PHP doesn't have ENUMs so declare them as interface constants + * PHP doesn't have ENUMs so declare them as constants * Task types - values don't really matter as long as they're unique */ diff --git a/airtime_mvc/application/controllers/LibraryController.php b/airtime_mvc/application/controllers/LibraryController.php index 452451547..06139e93f 100644 --- a/airtime_mvc/application/controllers/LibraryController.php +++ b/airtime_mvc/application/controllers/LibraryController.php @@ -222,7 +222,6 @@ class LibraryController extends Zend_Controller_Action $message = null; $noPermissionMsg = _("You don't have permission to delete selected items."); - Logging::info($mediaItems); foreach ($mediaItems as $media) { if ($media["type"] === "audioclip") { diff --git a/airtime_mvc/application/services/PodcastEpisodeService.php b/airtime_mvc/application/services/PodcastEpisodeService.php index d54850193..896691a3c 100644 --- a/airtime_mvc/application/services/PodcastEpisodeService.php +++ b/airtime_mvc/application/services/PodcastEpisodeService.php @@ -288,6 +288,12 @@ class Application_Service_PodcastEpisodeService extends Application_Service_Thir $episodesArray = array(); foreach ($rss->get_items() as $item) { + // If the enclosure is empty, this isn't a podcast episode + $enclosure = $item->get_enclosure(); + $url = $enclosure instanceof SimplePie_Enclosure ? $enclosure->get_link() : $enclosure["link"]; + if (empty($url)) { + continue; + } $itemId = $item->get_id(); $ingested = in_array($itemId, $episodeIds) ? (empty($episodeFiles[$itemId]) ? -1 : 1) : 0; $file = $ingested > 0 && !empty($episodeFiles[$itemId]) ? diff --git a/airtime_mvc/application/services/PodcastService.php b/airtime_mvc/application/services/PodcastService.php index 9689ff758..509eadb35 100644 --- a/airtime_mvc/application/services/PodcastService.php +++ b/airtime_mvc/application/services/PodcastService.php @@ -86,8 +86,17 @@ class Application_Service_PodcastService $podcastArray["link"] = htmlspecialchars($rss->get_link()); $podcastArray["language"] = htmlspecialchars($rss->get_language()); $podcastArray["copyright"] = htmlspecialchars($rss->get_copyright()); - $podcastArray["creator"] = htmlspecialchars($rss->get_author()->get_name()); - $podcastArray["category"] = htmlspecialchars($rss->get_categories()); + + $name = empty($rss->get_author()) ? "" : $rss->get_author()->get_name(); + $podcastArray["creator"] = htmlspecialchars($name); + + $categories = array(); + if (is_array($rss->get_categories())) { + foreach ($rss->get_categories() as $category) { + array_push($categories, $category->get_scheme() . ":" . $category->get_term()); + } + } + $podcastArray["category"] = htmlspecialchars(implode($categories)); //TODO: put in constants $itunesChannel = "http://www.itunes.com/dtds/podcast-1.0.dtd"; @@ -97,9 +106,11 @@ class Application_Service_PodcastService $itunesCategory = $rss->get_channel_tags($itunesChannel, 'category'); $categoryArray = array(); - foreach ($itunesCategory as $c => $data) { - foreach ($data["attribs"] as $attrib) { - array_push($categoryArray, $attrib["text"]); + if (is_array($itunesCategory)) { + foreach ($itunesCategory as $c => $data) { + foreach ($data["attribs"] as $attrib) { + array_push($categoryArray, $attrib["text"]); + } } } $podcastArray["itunes_category"] = implode(",", $categoryArray); @@ -128,6 +139,7 @@ class Application_Service_PodcastService $importedPodcast = new ImportedPodcast(); $importedPodcast->fromArray($podcastArray, BasePeer::TYPE_FIELDNAME); $importedPodcast->setPodcast($podcast); + $importedPodcast->setDbAutoIngest(true); $importedPodcast->save(); return $podcast->toArray(BasePeer::TYPE_FIELDNAME); diff --git a/airtime_mvc/application/views/scripts/podcast/podcast.phtml b/airtime_mvc/application/views/scripts/podcast/podcast.phtml index 0277ec0c7..13745479b 100644 --- a/airtime_mvc/application/views/scripts/podcast/podcast.phtml +++ b/airtime_mvc/application/views/scripts/podcast/podcast.phtml @@ -18,7 +18,7 @@ -