<?php header("Content-Type: text/xml; charset=utf-8");
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
?>
<?php 
$hostname_conn = "localhost";
$database_conn = "kerygmafamily_media";
$username_conn = "kerygmafamily";
$password_conn = "bokerygma";
$conn = mysql_pconnect($hostname_conn, $username_conn, $password_conn) or trigger_error(mysql_error(),E_USER_ERROR); 

 ?>
<?php
if(!isset($_GET['format'])){$_GET['format']='mp3';};
if(!isset($_GET['code'])){$_GET['code']='PIBJ';};

$colname_rs_group = "PIBJ";
if (isset($_GET['code'])) {
  $colname_rs_group = (get_magic_quotes_gpc()) ? $_GET['code'] : addslashes($_GET['code']);
}
mysql_select_db($database_conn, $conn);
$query_rs_group = sprintf("SELECT * FROM neuralink_media_group WHERE code = '%s'", $colname_rs_group);
$rs_group = mysql_query($query_rs_group, $conn) or die(mysql_error());
$row_rs_group = mysql_fetch_assoc($rs_group);
$totalRows_rs_group = mysql_num_rows($rs_group);

$maxRows_rs_media = 20;
$pageNum_rs_media = 0;
if (isset($_GET['pageNum_rs_media'])) {
  $pageNum_rs_media = $_GET['pageNum_rs_media'];
}
$startRow_rs_media = $pageNum_rs_media * $maxRows_rs_media;

mysql_select_db($database_conn, $conn);
$query_rs_media = "
Select
neuralink_media.id,
neuralink_media.`group`,
neuralink_media.filename,
neuralink_media.title,
neuralink_media.`desc`,
neuralink_media.hits,
COUNT(neuralink_media_comments.id) AS cnt
From
neuralink_media
LEFT Join neuralink_media_comments ON neuralink_media.id = neuralink_media_comments.mediaid
WHERE `group` = '".$row_rs_group['id']."' 
Group By
neuralink_media.id,
neuralink_media.`group`,
neuralink_media.filename,
neuralink_media.title,
neuralink_media.`desc`,
neuralink_media.hits
ORDER BY filename DESC";
$query_limit_rs_media = sprintf("%s LIMIT %d, %d", $query_rs_media, $startRow_rs_media, $maxRows_rs_media);
$rs_media = mysql_query($query_limit_rs_media, $conn) or die(mysql_error());
$row_rs_media = mysql_fetch_assoc($rs_media);

if (isset($_GET['totalRows_rs_media'])) {
  $totalRows_rs_media = $_GET['totalRows_rs_media'];
} else {
  $all_rs_media = mysql_query($query_rs_media);
  $totalRows_rs_media = mysql_num_rows($all_rs_media);
}
$totalPages_rs_media = ceil($totalRows_rs_media/$maxRows_rs_media)-1;
?>

<?php
echo "<rss version=\"2.0\" xmlns:itunes=\"http://www.itunes.com/dtds/podcast-1.0.dtd\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:content=\"http://purl.org/rss/1.0/modules/content/\">\n\n";
echo "<channel>\n\n";
echo "<title>" . html_to_xml($row_rs_group['title']). "</title>\n";
echo "<link>http://kerygmafamily.com</link>\n";
$desc = html_to_xml($row_rs_group['desc']);
$tunsum = html_to_xml($row_rs_group['desc']);
$slogan = html_to_xml($row_rs_group['desc']);
echo "<itunes:subtitle>".$slogan."</itunes:subtitle>\n";
echo "<itunes:summary>".$tunsum."</itunes:summary>\n";
echo "<description>".$desc."</description>\n";
echo "<language>En</language>\n";
echo "<copyright>".html_to_xml("Copyright Shepherds Voice Publications, Inc.")."</copyright>\n";
echo "<itunes:owner>\n";
echo "   <itunes:name>".html_to_xml("Bo Sanchez")."</itunes:name>\n";
echo "   <itunes:email>bosanchez@kerygmafamily.com</itunes:email>\n";
echo "</itunes:owner>\n";
echo "<managingEditor>bosanchez@kerygmafamily.com (".html_to_xml("Bo Sanchez").")</managingEditor>\n";
echo "<itunes:author>".html_to_xml("Bo Sanchez")."</itunes:author>\n";
echo "<image>\n";
echo "   <url>http://bosanchez.ph/images/stories/bo_logo.jpg</url>\n";
echo "   <title>".html_to_xml($row_rs_group['title'])."</title>\n";
echo "   <link>http://kerygmafamily.com</link>\n";
echo "</image>\n";
echo "<itunes:image href=\"http://bosanchez.ph/images/stories/bo_logo.jpg\" />\n";
echo "<pubDate>" . date("r") . "</pubDate>\n";
echo "<lastBuildDate>" . date("r") . "</lastBuildDate>\n";
echo "<generator>Neuralink IT Solutions</generator>\n\n";
$setexpl = "no";
echo "<itunes:explicit>".$setexpl."</itunes:explicit>\n\n";
echo "<itunes:category text=\"Religion\">\n";
echo "<itunes:category text=\"Catholic\" />\n";
echo "</itunes:category>\n";
echo "<category>Religion</category>\n";


do {

$link = "http://kerygmafamily.com/view.php?mediaid=".$row_rs_media['id'].":mp3";
$file_url = "http://media.kerygmafamily.com/~kerygmaf/media/".$_GET['code']."/".$_GET['format']."/".$row_rs_media['filename'].".".$_GET['format'];
$img_url = "http://media.kerygmafamily.com/~kerygmaf/media/".$_GET['code']."/jpg/".$row_rs_media['filename'].".jpg";

//if(!file_exists('../server/media/'.$_GET['code'].'/jpg/'.$row_rs_media['filename'].".jpg")){
//    $img_div = "";
//}else{
	$img_div = '<a href="'.$link.'"><img src="'.$img_url.'" title="'.$row_rs_media['title'].'" alt="'.$row_rs_media['title'].'" align="left" border="0"></a>';
//};	

$item_footer = '<br><br>Hits: '.$row_rs_media['hits'].' | <a href="'.$link.'#comments">Comments('.$row_rs_media['cnt'].')</a> | <a href="'.$link.'">Play Now</a> | <a href="'.$file_url.'">Download Link</a><br>';
echo "\n\n<item>\n";
echo "    <pubDate>".date("r", strtotime("2006-11-11"))."</pubDate>\n";
echo "    <title>".html_to_xml($row_rs_media['title'])."</title>\n";
echo "    <link>".$link."</link>\n";
echo "    <guid>".$link."</guid>\n";
echo "    <dc:creator>".html_to_xml("Bo Sanchez")."</dc:creator>\n";
echo "    <itunes:author>".html_to_xml("Bo Sanchez")."</itunes:author>\n";
$setexpl = "yes";
echo "    <itunes:explicit>".$setexpl."</itunes:explicit>\n";
echo "    <comments>".$link."$comments</comments>\n";
//description and summary
$desc = escaped_html('<table><tr><td>'.$img_div.'</td><td>'.$row_rs_media['desc'].$item_footer."</td></tr></table>");
$itun = html_to_xml(strip_tags($row_rs_media['desc']));
if (strlen($itun) >= 255) {
	$subtitle = substr($itun,0,255);
	$lastspace = strrpos($subtitle, " ");
	$subtitle = substr($subtitle, 0, $lastspace+1);
} else {
	$subtitle = $itun;
}
echo "    <itunes:subtitle>".$row_rs_media['title']."</itunes:subtitle>\n";
echo "    <itunes:summary>".$itun."</itunes:summary>\n\n";
echo "    <description>" . $desc;
echo "</description>\n\n";

echo "    <enclosure url=\"".$file_url."\" ";
echo "length=\"{6MB}\" ";
echo "type=\"".mime_type(1)."\" />\n";
echo "    <itunes:duration>".getitunesduration("630")."</itunes:duration>\n";

echo "</item>\n\n";


} while ($row_rs_media = mysql_fetch_assoc($rs_media)); 

echo "\n\n</channel>\n\n</rss>";


mysql_free_result($rs_group);

mysql_free_result($rs_media);

// ------------------------------------- FUNCTIONS -----------------------------

//----------------------------------------

function filled($text) {
if ((trim($text) == "") OR ($text == "NULL") OR ($text == "0") OR ($text == "00-00")) 
{ return false; } else { return true; }
}

function escaped_html($text) {
$trans_tbl = array (
    "&"=>"&amp;",
    "<"=>"&lt;",
    ">"=>"&gt;",
    "&rsquo;"=>"&apos;"
);
return trim(strtr($text, $trans_tbl));
}

function html_to_xml ($text) {
//turns html entities into UTF-8 or XML entities

$trans_tbl = array (
    "&"=>"&amp;",
    "&#"=>"&#",
    "<"=>"&lt;",
    ">"=>"&gt;",
    "'" => "&apos;",
	'"' => "&quot;"
);

$htmlentities_utf8 = array(
'&nbsp;' => "\xc2\xa0",
'&iexcl;' => "\xc2\xa1",
'&cent;' => "\xc2\xa2",
'&pound;' => "\xc2\xa3",
'&curren;' => "\xc2\xa4",
'&yen;' => "\xc2\xa5",
'&brvbar;' => "\xc2\xa6",
'&sect;' => "\xc2\xa7",
'&uml;' => "\xc2\xa8",
'&copy;' => "\xc2\xa9",
'&ordf;' => "\xc2\xaa",
'&laquo;' => "\xc2\xab",
'&not;' => "\xc2\xac",
'&shy;' => "\xc2\xad",
'&reg;' => "\xc2\xae",
'&macr;' => "\xc2\xaf",
'&deg;' => "\xc2\xb0",
'&plusmn;' => "\xc2\xb1",
'&sup2;' => "\xc2\xb2",
'&sup3;' => "\xc2\xb3",
'&acute;' => "\xc2\xb4",
'&micro;' => "\xc2\xb5",
'&para;' => "\xc2\xb6",
'&middot;' => "\xc2\xb7",
'&cedil;' => "\xc2\xb8",
'&sup1;' => "\xc2\xb9",
'&ordm;' => "\xc2\xba",
'&raquo;' => "\xc2\xbb",
'&frac14;' => "\xc2\xbc",
'&frac12;' => "\xc2\xbd",
'&frac34;' => "\xc2\xbe",
'&iquest;' => "\xc2\xbf",
'&Agrave;' => "\xc3\x80",
'&Aacute;' => "\xc3\x81",
'&Acirc;' => "\xc3\x82",
'&Atilde;' => "\xc3\x83",
'&Auml;' => "\xc3\x84",
'&Aring;' => "\xc3\x85",
'&AElig;' => "\xc3\x86",
'&Ccedil;' => "\xc3\x87",
'&Egrave;' => "\xc3\x88",
'&Eacute;' => "\xc3\x89",
'&Ecirc;' => "\xc3\x8a",
'&Euml;' => "\xc3\x8b",
'&Igrave;' => "\xc3\x8c",
'&Iacute;' => "\xc3\x8d",
'&Icirc;' => "\xc3\x8e",
'&Iuml;' => "\xc3\x8f",
'&ETH;' => "\xc3\x90",
'&Ntilde;' => "\xc3\x91",
'&Ograve;' => "\xc3\x92",
'&Oacute;' => "\xc3\x93",
'&Ocirc;' => "\xc3\x94",
'&Otilde;' => "\xc3\x95",
'&Ouml;' => "\xc3\x96",
'&times;' => "\xc3\x97",
'&Oslash;' => "\xc3\x98",
'&Ugrave;' => "\xc3\x99",
'&Uacute;' => "\xc3\x9a",
'&Ucirc;' => "\xc3\x9b",
'&Uuml;' => "\xc3\x9c",
'&Yacute;' => "\xc3\x9d",
'&THORN;' => "\xc3\x9e",
'&szlig;' => "\xc3\x9f",
'&agrave;' => "\xc3\xa0",
'&aacute;' => "\xc3\xa1",
'&acirc;' => "\xc3\xa2",
'&atilde;' => "\xc3\xa3",
'&auml;' => "\xc3\xa4",
'&aring;' => "\xc3\xa5",
'&aelig;' => "\xc3\xa6",
'&ccedil;' => "\xc3\xa7",
'&egrave;' => "\xc3\xa8",
'&eacute;' => "\xc3\xa9",
'&ecirc;' => "\xc3\xaa",
'&euml;' => "\xc3\xab",
'&igrave;' => "\xc3\xac",
'&iacute;' => "\xc3\xad",
'&icirc;' => "\xc3\xae",
'&iuml;' => "\xc3\xaf",
'&eth;' => "\xc3\xb0",
'&ntilde;' => "\xc3\xb1",
'&ograve;' => "\xc3\xb2",
'&oacute;' => "\xc3\xb3",
'&ocirc;' => "\xc3\xb4",
'&otilde;' => "\xc3\xb5",
'&ouml;' => "\xc3\xb6",
'&divide;' => "\xc3\xb7",
'&oslash;' => "\xc3\xb8",
'&ugrave;' => "\xc3\xb9",
'&uacute;' => "\xc3\xba",
'&ucirc;' => "\xc3\xbb",
'&uuml;' => "\xc3\xbc",
'&yacute;' => "\xc3\xbd",
'&thorn;' => "\xc3\xbe",
'&yuml;' => "\xc3\xbf",
'&fnof;' => "\xc6\x92",
'&Alpha;' => "\xce\x91",
'&Beta;' => "\xce\x92",
'&Gamma;' => "\xce\x93",
'&Delta;' => "\xce\x94",
'&Epsilon;' => "\xce\x95",
'&Zeta;' => "\xce\x96",
'&Eta;' => "\xce\x97",
'&Theta;' => "\xce\x98",
'&Iota;' => "\xce\x99",
'&Kappa;' => "\xce\x9a",
'&Lambda;' => "\xce\x9b",
'&Mu;' => "\xce\x9c",
'&Nu;' => "\xce\x9d",
'&Xi;' => "\xce\x9e",
'&Omicron;' => "\xce\x9f",
'&Pi;' => "\xce\xa0",
'&Rho;' => "\xce\xa1",
'&Sigma;' => "\xce\xa3",
'&Tau;' => "\xce\xa4",
'&Upsilon;' => "\xce\xa5",
'&Phi;' => "\xce\xa6",
'&Chi;' => "\xce\xa7",
'&Psi;' => "\xce\xa8",
'&Omega;' => "\xce\xa9",
'&alpha;' => "\xce\xb1",
'&beta;' => "\xce\xb2",
'&gamma;' => "\xce\xb3",
'&delta;' => "\xce\xb4",
'&epsilon;' => "\xce\xb5",
'&zeta;' => "\xce\xb6",
'&eta;' => "\xce\xb7",
'&theta;' => "\xce\xb8",
'&iota;' => "\xce\xb9",
'&kappa;' => "\xce\xba",
'&lambda;' => "\xce\xbb",
'&mu;' => "\xce\xbc",
'&nu;' => "\xce\xbd",
'&xi;' => "\xce\xbe",
'&omicron;' => "\xce\xbf",
'&pi;' => "\xcf\x80",
'&rho;' => "\xcf\x81",
'&sigmaf;' => "\xcf\x82",
'&sigma;' => "\xcf\x83",
'&tau;' => "\xcf\x84",
'&upsilon;' => "\xcf\x85",
'&phi;' => "\xcf\x86",
'&chi;' => "\xcf\x87",
'&psi;' => "\xcf\x88",
'&omega;' => "\xcf\x89",
'&thetasym;' => "\xcf\x91",
'&upsih;' => "\xcf\x92",
'&piv;' => "\xcf\x96",
'&bull;' => "\xe2\x80\xa2",
'&hellip;' => "\xe2\x80\xa6",
'&prime;' => "\xe2\x80\xb2",
'&Prime;' => "\xe2\x80\xb3",
'&oline;' => "\xe2\x80\xbe",
'&frasl;' => "\xe2\x81\x84",
'&weierp;' => "\xe2\x84\x98",
'&image;' => "\xe2\x84\x91",
'&real;' => "\xe2\x84\x9c",
'&trade;' => "\xe2\x84\xa2",
'&alefsym;' => "\xe2\x84\xb5",
'&larr;' => "\xe2\x86\x90",
'&uarr;' => "\xe2\x86\x91",
'&rarr;' => "\xe2\x86\x92",
'&darr;' => "\xe2\x86\x93",
'&harr;' => "\xe2\x86\x94",
'&crarr;' => "\xe2\x86\xb5",
'&lArr;' => "\xe2\x87\x90",
'&uArr;' => "\xe2\x87\x91",
'&rArr;' => "\xe2\x87\x92",
'&dArr;' => "\xe2\x87\x93",
'&hArr;' => "\xe2\x87\x94",
'&forall;' => "\xe2\x88\x80",
'&part;' => "\xe2\x88\x82",
'&exist;' => "\xe2\x88\x83",
'&empty;' => "\xe2\x88\x85",
'&nabla;' => "\xe2\x88\x87",
'&isin;' => "\xe2\x88\x88",
'&notin;' => "\xe2\x88\x89",
'&ni;' => "\xe2\x88\x8b",
'&prod;' => "\xe2\x88\x8f",
'&sum;' => "\xe2\x88\x91",
'&minus;' => "\xe2\x88\x92",
'&lowast;' => "\xe2\x88\x97",
'&radic;' => "\xe2\x88\x9a",
'&prop;' => "\xe2\x88\x9d",
'&infin;' => "\xe2\x88\x9e",
'&ang;' => "\xe2\x88\xa0",
'&and;' => "\xe2\x88\xa7",
'&or;' => "\xe2\x88\xa8",

'&cap;' => "\xe2\x88\xa9",
'&cup;' => "\xe2\x88\xaa",
'&int;' => "\xe2\x88\xab",
'&there4;' => "\xe2\x88\xb4",
'&sim;' => "\xe2\x88\xbc",
'&cong;' => "\xe2\x89\x85",
'&asymp;' => "\xe2\x89\x88",
'&ne;' => "\xe2\x89\xa0",
'&equiv;' => "\xe2\x89\xa1",
'&le;' => "\xe2\x89\xa4",
'&ge;' => "\xe2\x89\xa5",
'&sub;' => "\xe2\x8a\x82",
'&sup;' => "\xe2\x8a\x83",
'&nsub;' => "\xe2\x8a\x84",
'&sube;' => "\xe2\x8a\x86",
'&supe;' => "\xe2\x8a\x87",
'&oplus;' => "\xe2\x8a\x95",
'&otimes;' => "\xe2\x8a\x97",
'&perp;' => "\xe2\x8a\xa5",
'&sdot;' => "\xe2\x8b\x85",
'&lceil;' => "\xe2\x8c\x88",
'&rceil;' => "\xe2\x8c\x89",
'&lfloor;' => "\xe2\x8c\x8a",
'&rfloor;' => "\xe2\x8c\x8b",
'&lang;' => "\xe2\x8c\xa9",
'&rang;' => "\xe2\x8c\xaa",
'&loz;' => "\xe2\x97\x8a",
'&spades;' => "\xe2\x99\xa0",
'&clubs;' => "\xe2\x99\xa3",
'&hearts;' => "\xe2\x99\xa5",
'&diams;' => "\xe2\x99\xa6",
'&quot;' => "\x22",
'&amp;' => "\x26",
'&lt;' => "\x3c",
'&gt;' => "\x3e",
'&OElig;' => "\xc5\x92",
'&oelig;' => "\xc5\x93",
'&Scaron;' => "\xc5\xa0",
'&scaron;' => "\xc5\xa1",
'&Yuml;' => "\xc5\xb8",
'&circ;' => "\xcb\x86",
'&tilde;' => "\xcb\x9c",
'&ensp;' => "\xe2\x80\x82",
'&emsp;' => "\xe2\x80\x83",
'&thinsp;' => "\xe2\x80\x89",
'&zwnj;' => "\xe2\x80\x8c",
'&zwj;' => "\xe2\x80\x8d",
'&lrm;' => "\xe2\x80\x8e",
'&rlm;' => "\xe2\x80\x8f",
'&ndash;' => "\xe2\x80\x93",
'&mdash;' => "\xe2\x80\x94",
'&lsquo;' => "\xe2\x80\x98",
'&rsquo;' => "\xe2\x80\x99",
'&sbquo;' => "\xe2\x80\x9a",
'&ldquo;' => "\xe2\x80\x9c",
'&rdquo;' => "\xe2\x80\x9d",
'&bdquo;' => "\xe2\x80\x9e",
'&dagger;' => "\xe2\x80\xa0",
'&Dagger;' => "\xe2\x80\xa1",
'&permil;' => "\xe2\x80\xb0",
'&lsaquo;' => "\xe2\x80\xb9",
'&rsaquo;' => "\xe2\x80\xba",
'&euro;' => "\xe2\x82\xac");

$text = trim(strtr($text, array_map('utf8_encode', array_flip(get_html_translation_table(HTML_ENTITIES)))));
$text = strtr($text, $htmlentities_utf8);
$text = strtr($text, $trans_tbl);
return $text;
}



//----------------------------------------


function itunescats() {
global $cat_table;
$cat_table = array_flip(array(
""=>"00-00",
"Arts"=>"01-00",
	"Design"=>"01-01",
	"Fashion &amp; Beauty"=>"01-02",
	"Food"=>"01-03",
	"Literature"=>"01-04",
	"Performing Arts"=>"01-05",
	"Visual Arts"=>"01-06",
"Business"=>"02-00",
	"Business News"=>"02-01",
	"Careers"=>"02-02",
	"Investing"=>"02-03",
	"Management &amp; Marketing"=>"02-04",
	"Shopping"=>"02-05",
"Comedy"=>"03-00",
"Education"=>"04-00",
	"Educational Technology"=>"04-01",
	"Higher Ed"=>"04-02",
	"K-12"=>"04-03",
	"Language Courses"=>"04-04",
	"Training"=>"04-05",
"Games &amp; Hobbies"=>"05-00",
	"Automotive"=>"05-01",
	"Aviation"=>"05-02",
	"Hobbies"=>"05-03",
	"Other Games"=>"05-04",
	"Video Games"=>"05-05",
"Government &amp; Organizations"=>"06-00",
	"Local"=>"06-01",
	"National"=>"06-02",
	"Non-Profit"=>"06-03",
	"Regional"=>"06-04",
"Health"=>"07-00",
	"Alternative Health"=>"07-01",
	"Fitness &amp; Nutrition"=>"07-02",
	"Self-Help"=>"07-03",
	"Sexuality"=>"07-04",
"Kids &amp; Family"=>"08-00",
"Music"=>"09-00",
"News &amp; Politics"=>"10-00",
"Religion &amp; Spirituality"=>"11-00",
	"Buddhism"=>"11-01",
	"Christianity"=>"11-02",
	"Hinduism"=>"11-03",
	"Islam"=>"11-04",
	"Judaism"=>"11-05",
	"Other"=>"11-06",
	"Spirituality"=>"11-07",
"Science &amp; Medicine"=>"12-00",
	"Medicine"=>"12-01",
	"Natural Sciences"=>"12-02",
	"Social Sciences"=>"12-03",
"Society &amp; Culture"=>"13-00",
	"History"=>"13-01",
	"Personal Journals"=>"13-02",
	"Philosophy"=>"13-03",
	"Places &amp; Travel"=>"13-04",
"Sports &amp; Recreation"=>"14-00",
	"Amateur"=>"14-01",
	"College &amp; High School"=>"14-02",
	"Outdoor"=>"14-03",
	"Professional"=>"14-04",
"Technology"=>"15-00",
	"Gadgets"=>"15-01",
	"IT News"=>"15-02",
	"Podcasting"=>"15-03",
	"Software How-To"=>"15-04",
"TV &amp; Film"=>"16-00"
));
}



function getitunesduration($sec) {
    $hou = (int) ($sec / 3600);
    $sec -= ($hou*3600);
    $min = (int) ($sec / 60);
    $sec -= ($min*60);

    if ($hou < 10) { $hou = "0" . $hou; }
    if ($min < 10) { $min = "0" . $min; }
    if ($sec < 10) { $sec = "0" . $sec; }
    return $hou.":".$min.":".$sec;
}

function mime_type($request) {
    switch ($request) {
    case "1": $type = "audio/mpeg";
    break;
    case "2": $type = "application/octet-stream";
    break;

	default: $type = "application/octet-stream";
    break;
    }
    return $type;
}


?>
