Example #1
0
        //echo '<p>List of episodes:</p><ol>';
        foreach ($episodes as $container) {
            $episode_image = $xpath->query('.//div[@class="card-cloudcast-image"]/a/img', $container);
            $large_photo = 'http:' . $episode_image->item(0)->getAttribute("src");
            $episode_info = $xpath->query('.//div[@class="card-cloudcast-image"]/span', $container);
            $e_title = $episode_info->item(0)->getAttribute("m-title");
            $e_url = 'http://www.mixcloud.com' . $episode_info->item(0)->getAttribute("m-url");
            $e_description = json_decode(curlGet('http://api.mixcloud.com' . $episode_info->item(0)->getAttribute("m-url")))->description;
            $e_preview = $episode_info->item(0)->getAttribute("m-preview");
            $e_server = substr($e_preview, 0, 29);
            // todo - should not just be 39 magic number, but where 'preview/' is in url
            $e_identifier = substr($e_preview, 39);
            $e_identifier = rtrim($e_identifier, ".mp3");
            $e_download = $e_server . '/c/m4a/64/' . $e_identifier . '.m4a';
            $e_original = $e_server . '/c/originals/' . $e_identifier . '.mp3';
            $item_size = get_Size($e_original);
            /* if $item_size is 168 this means not found */
            if ($item_size > 200) {
                $episode_update = $xpath->query('.//div[@class="card-stats cf"]/span[@class="card-date"]/time', $container);
                if ($episode_update) {
                    $pubDate = strtotime($episode_update->item(0)->getAttribute("datetime"));
                } else {
                    $pubDate = "false";
                }
                $output .= "<item>\n\t\t\t\t<pubDate>" . date(DATE_RSS, $pubDate) . "</pubDate>\n\t\t\t\t<title><![CDATA[{$e_title}]]></title>\n\t\t\t\t<link>{$e_url}</link>\n\t\t\t\t<description><![CDATA[{$e_description}]]></description>\n\t\t\t\t<itunes:image href=\"{$large_photo}\" />\n\t\t\t\t<enclosure url=\"{$e_original}\" length=\"{$item_size}\" type=\"audio/mp4\" />\n\t\t\t\t<guid isPermaLink=\"true\">{$e_url}</guid>\n\t\t\t</item>\n\t\t\t\t";
            }
        }
    }
    ++$page;
}
/* seems like we're getting the closing footer too early */
Example #2
0
                //episodes that are disabled have no title
                continue;
            }
            $e_title = $episode_info->item(0)->getAttribute("m-title");
            $e_url = 'http://www.mixcloud.com' . $episode_info->item(0)->getAttribute("m-url");
            $e_description = json_decode(curlGet('http://api.mixcloud.com' . $episode_info->item(0)->getAttribute("m-url")))->description;
            $e_preview = $episode_info->item(0)->getAttribute("m-preview");
            $length = strpos($e_preview, "preview");
            $e_server = substr($e_preview, 0, $length - 1);
            $e_server = str_replace("audiocdn", "stream", $e_server);
            // todo - should not just be 39 magic number, but where 'preview/' is in url
            $e_identifier = substr($e_preview, $length + 9);
            $e_identifier = rtrim($e_identifier, ".mp3");
            $e_download = $e_server . '/c/m4a/64/' . $e_identifier . '.m4a';
            $e_original = $e_server . '/c/originals/' . $e_identifier . '.mp3';
            $item_size = get_Size($e_download);
            /* if $item_size is 168 this means not found */
            if ($item_size > 200) {
                $episode_update = $xpath->query('.//div[@class="card-stats cf"]/span[@class="card-date"]/time', $container);
                if ($episode_update) {
                    $pubDate = strtotime($episode_update->item(0)->nodeValue);
                } else {
                    $pubDate = "false";
                }
                $output .= "<item>\n\t\t\t\t<pubDate>" . date(DATE_RSS, $pubDate) . "</pubDate>\n\t\t\t\t<title><![CDATA[{$e_title}]]></title>\n\t\t\t\t<link>{$e_url}</link>\n\t\t\t\t<description><![CDATA[{$e_description}]]></description>\n\t\t\t\t<itunes:image href=\"{$large_photo}\" />\n\t\t\t\t<enclosure url=\"{$e_download}\" length=\"{$item_size}\" type=\"audio/mp4\" />\n\t\t\t\t<guid isPermaLink=\"true\">{$e_url}</guid>\n\t\t\t</item>\n\t\t\t\t";
            }
        }
    }
} while ($nextURL);
/* seems like we're getting the closing footer too early */
sleep(2);