.CSSTableGeneratorGreen { margin:0px;padding:0px; width:100%; box-shadow: 10px 10px 5px #888888; border:1px solid #3f7f00; -moz-border-radius-bottomleft:0px; -webkit-border-bottom-left-radius:0px; border-bottom-left-radius:0px; -moz-border-radius-bottomright:0px; -webkit-border-bottom-right-radius:0px; border-bottom-right-radius:0px; -moz-border-radius-topright:0px; -webkit-border-top-right-radius:0px; border-top-right-radius:0px; -moz-border-radius-topleft:0px; -webkit-border-top-left-radius:0px; border-top-left-radius:0px; }.CSSTableGeneratorGreen table{ width:100%; height:100%; margin:0px;padding:0px; }.CSSTableGeneratorGreen tr:last-child td:last-child { -moz-border-radius-bottomright:0px; -webkit-border-bottom-right-radius:0px; border-bottom-right-radius:0px; } .CSSTableGeneratorGreen table tr:first-child td:first-child { -moz-border-radius-topleft:0px; -webkit-border-top-left-radius:0px; border-top-left-radius:0px; } .CSSTableGeneratorGreen table tr:first-child td:last-child { -moz-border-radius-topright:0px; -webkit-border-top-right-radius:0px; border-top-right-radius:0px; }.CSSTableGeneratorGreen tr:last-child td:first-child{ -moz-border-radius-bottomleft:0px; -webkit-border-bottom-left-radius:0px; border-bottom-left-radius:0px; }.CSSTableGeneratorGreen tr:hover td{ } .CSSTableGeneratorGreen tr:nth-child(odd){ background-color:#d4ffaa; } .CSSTableGeneratorGreen tr:nth-child(even) { background-color:#ffffff; }.CSSTableGeneratorGreen td{ vertical-align:middle; border:1px solid #3f7f00; border-width:0px 1px 1px 0px; text-align:left; padding:7px; font-size:14px; font-family:Arial; font-weight:normal; color:#000000; }.CSSTableGeneratorGreen tr:last-child td{ border-width:0px 1px 0px 0px; }.CSSTableGeneratorGreen tr td:last-child{ border-width:0px 0px 1px 0px; }.CSSTableGeneratorGreen tr:last-child td:last-child{ border-width:0px 0px 0px 0px; } .CSSTableGeneratorGreen tr:first-child th{ background:-o-linear-gradient(bottom, #5fbf00 5%, #3f7f00 100%); background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #5fbf00), color-stop(1, #3f7f00) ); background:-moz-linear-gradient( center top, #5fbf00 5%, #3f7f00 100% ); filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#5fbf00", endColorstr="#3f7f00"); background: -o-linear-gradient(top,#5fbf00,3f7f00); background-color:#5fbf00; border:0px solid #3f7f00; text-align:center; border-width:0px 0px 1px 1px; font-size:20px; font-family:Arial; font-weight:bold; color:#ffffff; } .CSSTableGeneratorGreen tr:first-child:hover th{ background:-o-linear-gradient(bottom, #5fbf00 5%, #3f7f00 100%); background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #5fbf00), color-stop(1, #3f7f00) ); background:-moz-linear-gradient( center top, #5fbf00 5%, #3f7f00 100% ); filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#5fbf00", endColorstr="#3f7f00"); background: -o-linear-gradient(top,#5fbf00,3f7f00); background-color:#5fbf00; } .CSSTableGeneratorGreen tr:first-child td:first-child{ border-width:0px 0px 1px 0px; } .CSSTableGeneratorGreen tr:first-child td:last-child{ border-width:0px 0px 1px 1px; } ENDST; if($EXT[1] == 'json' && $_POST['order']=='') { header('Status: 303 See Other'); header('HTTP/1.0 303 See Other'); header("Location: /am/{$EXT[0]}/"); exit; } if($EXT[0] == '') { $page['title']="Net Radio - Online Radio Stations"; $page['description']="Find and listen to over 50,000 Net Radio Stations streaming online music and more."; $alt[]=<< ENDALT; $SQL1="SELECT COUNT(*) as count FROM radiomaster WHERE streamurl IS NOT NULL and streamurl !=''"; $SQL2="SELECT COUNT(*) as count FROM netradio"; $SQL3="SELECT COUNT(*) as count FROM wxlive"; $TC1=dbget('radio',$SQL1); $TC2=dbget('radio',$SQL2); $TC3=dbget('radio',$SQL3); $TOTAL=$TC1[0]['count']+$TC2[0]['count']+$TC3[0]['count']; //$ROUND=$TOTAL=substr($TOTAL,-3)*100; //$ROUND = round ($TOTAL, -3, PHP_ROUND_HALF_DOWN); $ROUND = number_format($TOTAL,0,'.',','); $GSQL="SELECT * FROM genres ORDER BY genre ASC"; $GR=dbget('radio',$GSQL); foreach($GR as $GEN) { $GENLINK=str_replace(' ','-',$GEN['genre']); $GENRES.="\n\t\t".ucwords($GEN['genre']).""; } $MAINCONTENT .= <<Net Radio Stations
Net Radio

Find and Listen to {$ROUND} Online Radio Stations

RadioStationNet.com has compiled a massive database of available online network radio streams (Net Radio) from around the world. You can listen to all $ROUND streaming radio broadcasts over the Internet using our web based player absolutely FREE!

Find A Station:

{$GENRES}

Our system includes publically available Icecast and Shoutcast streams in addition to several other supported platforms. We are not responsible for the content broadcasted over the net by any linked or embeded resource for which we have no authority, ownership, interest or control.

Online Radio Station Genres & Plaforms

With many thousands of broadcast and "network only" type radio streams available on the Internet, the task of classifying them according to a particular genre or platform has become increasingly difficult. Many online radio stations no longer conform to a single platform and now play a mix of various genres, very much like traditional TV channels play a variety of programs throughout the day.

In order to create an effective directory of stations however, it is important to identify them according to what you would expect to hear when you tune in. Without a complete schedule for every station however, such a monumental task is almost impossible without knowing exactly what is being broadcasted at a particular moment in time. While it is true that some online radio stations provide a broadcast schedule, often the mix of songs during any particular block can still span across several platforms.

Here at RadioStationNet.com we want to create a directory that is useful. We have examined the way some other directories out there classify stations and are trying to come up with the best solution possible. They do not do anything "wrong" with the way they classified their collections of online radio stations. Some simply allow the station owners to submit whatever they want into their "genre" fields or tags, while others allow a station to pick from a select group of them, picking the genre that most closely matches the stations online broadcast.

With Internet radio stations, the task of classifying them according to a particult platform becomes even more difficult when you have streams from multple countries and in multiple languages. For this reason, our base directory of Internet radio stations have been restricted to those which have been identified as containing "English" content. Our team of moderators research each station that exists in our growing database and identifies things like the host country of the station, the language of their website and best matched platform based upon the information found. We evaluate their posted schedules, recently played songs and listen to each station in order to make a determination of the language, country of origin and most closely matched genre.

Despite the fact that our default directory pages are restricted to English content and the platforms we have chosen to use, we do understand that some of you might like to find content that is in other languages or perhaps of a genre that is not on our default list. For this reason, we are implementing new controls and search features which will allow you to find exactly what you are looking for.

About the Number and Type of Net Radio Stations Available

Some radio station directories out there have tons of duplicate entries for the same net stream, where they might have a different title or genre or even bit rate exposed as individual streams. Our net radio database works a bit differenly, and where possible such duplicates are filtered out. With the age of broadband internet technology providing the ability for most to listen to higher quality audio streams, our system works to identify the net radio strams with the highest bit rates which will allow you to listen to those with the best clarity. However, lower quality streams are appended to our generated smart playlists which will automatically switch to the next available stream for each station.

Net radio streams are not only broadcasted in several bit rates, but they are also broadcasted using a variety of encoding technology, such as MP3, Ogg, Vorbis, Windows Media, AAC and AAC+. Unfortunately not every device can play every type of audio format, which is why our first generation online player is built to support the VLC plugin. For web based listening, VLC was found to support the highest number of stream types available on the net. Unlike flash, real audio and windows media players which usually result in choppy audio after extended use, VLC can play most net stations and switch between them for a very long time without memory or processing issues, and with exceptional quality. However, most mobile devices do not have plugin support outside of having to install particular apps which only work on particular devices and with only some audio stream types. In the very near feature we will implement several other the technologies for serving the station audio to you using our online player, including native HTML 5 support and more.

ENDMAIN; } //document.getElementById('playerspot').innerHTML='
'; //document.getElementById('playerspot').innerHTML+=' ENDALT; checkAuth(); if($AUTHED == 1 && preg_match('|A|',$PROFILE['flags'])) { $MODE='ADMIN'; } $GSQL="SELECT * FROM genres ORDER BY genre ASC"; $GR=dbget('radio',$GSQL); foreach($GR as $GEN) { if(strtolower($GEN['genre']) == strtolower(str_replace('-',' ',$EXT[0]))) { //echo "
Matched Genre: $isgen\n"; $GOODGEN=strtoupper($GEN['genre']);$GEND=$GEN['description']; if($GEN['keyterms']!='') { $KEYTERMS=str_replace(',',' ',$GEN['keyterms']); $KEYTERMS=str_replace(',',' ',$KEYTERMS); $KEYTERMS=trim(preg_replace("/\s+S/", " ", $KEYTERMS)); $KEYWORDS="'{$KEYTERMS}'"; } $SQL = "SELECT * FROM netradio WHERE ourgenre='{$GOODGEN}' AND status='1' AND lang='eng' ORDER BY name"; $NR=dbget('radio',$SQL); } } if($GOODGEN != '') { if($NR[0]['name']!='') { $table.="
\n"; foreach($NR as $NRS) { unset($SAFENAME,$STATIONPAGE,$FIRSTCHAR,$THUMBNAIL); if($BGC == '#affbaf') { $BGC="#dcfedc"; } else { $BGC="#affbaf"; } $SNP=strtolower($NRS['name']); $SNP=preg_replace('/[^\da-z ]/i', '', $SNP); $SAFENAME=str_replace(' ','-',$SNP); //$SAFENAME=str_replace('#','',$SAFENAME); //$SAFENAME=toAscii($NRS['name']); $STATIONPAGE="{$NRS['id']}-{$SAFENAME}"; $FIRSTCHAR=strtolower($SAFENAME); if($NRS['thumbnail']!='') { $THUMBNAIL=""; $table.="\n"; $STATIONCOUNT++; } else { if($MODE=='ADMIN' || $ST['facebook']!='' || $ST['twitter'] != '' || $ST['about']!='' || $ST['youtube'] != '') { $THUMBNAIL=''; $table.="\n"; $ASTATIONCOUNT++; } } } $table.="
LogoListenDetailsStation Name:Station Description:LanguageCountry
{$THUMBNAIL}listen{$NRS['name']}{$NRS['description']}".strtoupper($NRS['lang'])."{$NRS['cc']}
{$THUMBNAIL}listen{$NRS['name']}{$NRS['description']}".strtoupper($NRS['lang'])."{$NRS['cc']}
"; } else { $table ="Sorry, No {$GOODGEN} stations have been officially reviewed so far, but they are coming soon."; } $STATIONCOUNT=number_format($STATIONCOUNT,0,'',','); $page['title']="$GOODGEN Net Radio"; $page['description']="$GEND"; $alt[] = $STYLE4; $SLEFT=$ASTATIONCOUNT - $STATIONCOUNT; $LGOODGEN=strtolower($LGOODGEN); if($MODE == 'ADMIN') { //$ADET="

({$ASTATIONCOUNT} Stations Not Being Shown To Public)

"; } $MAINCONTENT= <<Radio Station Net

{$GOODGEN} Net Radio

{$page['description']}

*This list includes only $STATIONCOUNT moderated listings confirmed as "{$GOODGEN}" radio stations. More {$LGOODGEN} online streams are available through our player and search features only. {$ADET}

$table
ENDCONTENT; } } if($MAINCONTENT == '' && $EXT[0]!='') { $EXTP=explode('-',$EXT[0]); if($EXT[0]=='add') { //echo "ADD FORM"; $ADDON='Y'; if(count($_POST) > 0) { $ADDON=''; } if($_GET['app']!='') { $ST['parent']=$_GET['app']; } if($_GET['web']!='') { $ST['weburl']="http://{$_GET['web']}"; } if($_GET['cs']!='' && $_GET['band']!='') { if(!preg_match("|-FM|i",$_GET['cs'])) { $ST['name']="{$_GET['cs']}-{$_GET['band']} HD"; } else { $ST['name']="{$_GET['cs']} HD"; } } } else { $SQL="SELECT * FROM netradio WHERE id='{$EXTP[0]}'"; $DATA=dbget('radio',$SQL); $ST=$DATA[0]; $page['title']=$ST['name'].' (Net Radio)'; $page['description']="{$ST['description']} / ({$ST['name']})"; if($ST['thumbnail']=='') { $NOIF='1'; } $GSTATE=$ST['State']; } $SNP=strtolower($ST['name']); $SNP=preg_replace('/[^\da-z ]/i', '', $SNP); $SAFENAME=str_replace(' ','-',$SNP); //$SAFENAME=toAscii($ST['name']); $FIRSTCHAR=strtolower($SAFENAME[0]); $alt[] = ""; //var_dump($_POST); //checkAuth(); if($AUTHED == 1) { if(preg_match('|A|',$PROFILE['flags'])) { $MODE='ADMIN'; $NETADMIN="

USE THE SPECIAL ADMIN ONLY NETWORK GENRE TABLE HERE

"; } } if($_POST['FID']==$ST['id'] && $ADDON=='') { $ERRORS="

Station Update Processing Results:

"; // Enable or Disable if($_POST['STATUS']=='0' || $_POST['STATUS']=='1') { if($_POST['STATUS']==$ST['status']) { $ERRORS.="
STATUS unchanged."; } else { $ERRORS.="
STATUS Changed to {$_POST['STATUS']}"; $VALS[]="status='{$_POST['STATUS']}'"; } } // BASIC INFORMATION if(!preg_match('| |',$_POST['WEBSITE']) && preg_match('|^http|',$_POST['WEBSITE'])) { $WS=str_replace("'",'',$_POST['WEBSITE']); if($WS==$ST['weburl']) { $ERRORS.="
WEBSITE unchanged."; } else { $ERRORS.="
WEBSITE updated."; $VALS[]="weburl='{$WS}'"; } } else { $ERRORS .= "
WEBSITE Invalid."; } $BRAND=substr(addslashes($_POST['BRANDING']),0,255); if($BRAND==$ST['name']) { $ERRORS.="
BRANDING unchanged."; } else { $ERRORS.="
BRANDING updated."; $ST['name']=$BRAND; $SNP=strtolower($ST['name']); $SNP=preg_replace('/[^\da-z ]/i', '', $SNP); $SAFENAME=str_replace(' ','-',$SNP); //$SAFENAME=toAscii($ST['name']); $FIRSTCHAR=strtolower($SAFENAME[0]); $VALS[]="name='{$BRAND}'"; } $SLG=substr(addslashes($_POST['SLOGAN']),0,255); if($SLG==$ST['description']) { $ERRORS.="
SLOGAN unchanged. ($SLG)"; } else { $ERRORS.="
SLOGAN updated."; $VALS[]="description='{$SLG}'"; } $GEN=substr(addslashes($_POST['GENRE']),0,50); if($GEN==$ST['genre']) { $ERRORS.="
Their GENRE unchanged."; } else { $ERRORS.="
Their GENRE updated."; $VALS[]="genre='{$GEN}'"; } $OURGEN=substr(addslashes($_POST['OURGENRE']),0,50); if($OURGEN==$ST['ourgenre']) { $ERRORS.="
OUR GENRE unchanged. ({$ST['ourgenre']})"; } else { $ERRORS.="
OUR GENRE updated. (Was {$ST['ourgenre']})"; $VALS[]="ourgenre='{$OURGEN}'"; } $PARENTID=addslashes($_POST['PARENT']); if($_POST['PARENT']) { $ERRORS.="
PARENT updated."; $VALS[]="parent='{$PARENTID}'"; } $COUNTRY=substr(addslashes($_POST['COUNTRY']),0,50); if($COUNTRY==$ST['cc']) { $ERRORS.="
COUNTRY unchanged."; } else { $ERRORS.="
COUNTRY updated."; $VALS[]="cc='{$COUNTRY}'"; } $LANGUAGE=substr(addslashes($_POST['LANGUAGE']),0,50); if($LANGUAGE==$ST['lang']) { $ERRORS.="
LANGUAGE unchanged."; } else { $ERRORS.="
LANGUAGE updated."; $VALS[]="lang='{$LANGUAGE}'"; } $CITY=substr(addslashes($_POST['CITY']),0,50); if($CITY==$ST['City']) { $ERRORS.="
CITY unchanged."; } else { $ERRORS.="
CITY updated."; $VALS[]="City='{$CITY}'"; } $STATE=substr(addslashes($_POST['STATE']),0,50); if($STATE==$ST['State']) { $ERRORS.="
STATE unchanged."; } else { $GSTATE=$STATE; $ERRORS.="
STATE updated."; $VALS[]="State='{$STATE}'"; } // SOCIAL NETWORKING //if($_POST['FACEBOOK']!='' && !preg_match('| |',$_POST['FACEBOOK']) && preg_match('|^http|',$_POST['FACEBOOK'])) { if(preg_match('|^https|',$_POST['FACEBOOK'])) { // Need to convert ssl page to standard $_POST['FACEBOOK']=str_replace('https:','http:',$_POST['FACEBOOK']); $ERRORS .= "
FACEBOOK SSL Protocol Detected. < Removed >"; } if(preg_match('|\?|',$_POST['FACEBOOK'])) { // Need to remove get values list($FBNEW,$EXTRA) = explode('?',$_POST['FACEBOOK']); $_POST['FACEBOOK']=$FBNEW; $ERRORS .= "
FACEBOOK GET values detected. < Removed >"; } $FB=str_replace("'",'',$_POST['FACEBOOK']); if($FB==$ST['facebook']) { $ERRORS.="
FACEBOOK unchanged."; } else { $ERRORS.="
FACEBOOK updated."; $VALS[]="facebook='{$FB}'"; } if(is_numeric($_POST['FBTYPE']) && $_POST['FBTYPE']!=$ST['fbp']) { $ERRORS.="
FACEBOOK TYPE changed."; $VALS[]="fbp='{$_POST['FBTYPE']}'";$ST['fbp']==$_POST['FBTYPE']; } if(!preg_match('| |',$_POST['TWITTER']) && !preg_match('|^http|',$_POST['TWITTER'])) { $TW=str_replace("'",'',$_POST['TWITTER']); if($TW==$ST['twitter']) { $ERRORS.="
TWITTER unchanged."; } else { $ERRORS.="
TWITTER updated."; $VALS[]="twitter='{$TW}'"; } } else { $ERRORS .= "
TWITTER Invalid."; } if(!preg_match('| |',$_POST['YTUBE']) && !preg_match('|^http|',$_POST['YTUBE'])) { $YT=str_replace("'",'',$_POST['YTUBE']); if($YT==$ST['youtube']) { $ERRORS.="
YOUTUBE unchanged."; } else { $ERRORS.="
YOUTUBE updated."; $VALS[]="youtube='{$YT}'"; } } else { $ERRORS .= "
YOUTUBE Invalid."; } if($YT && !$_POST['YTCH']) { // Fetch YouTube Channel ID from Username $json = file_get_contents("https://www.googleapis.com/youtube/v3/channels/?part=snippet&forUsername={$YT}&maxResults=1&alt=json&key=".GAPI); $channels = json_decode($json,true); $_POST['YTCH'] = $channels["items"][0]["id"]; } if(!preg_match('| |',$_POST['YTCH']) && !preg_match('|^http|',$_POST['YTCH'])) { $YTCH=str_replace("'",'',$_POST['YTCH']); if($YTCH==$ST['ytch']) { $ERRORS.="
YouTube Channel ID unchanged."; } else { $ERRORS.="
YouTube Channel ID updated."; $VALS[]="ytch='{$YTCH}'"; } } // LISTENING OPTIONS if(!preg_match('| |',$_POST['LPAGE']) && (preg_match('|^http|',$_POST['LPAGE']) || ($_POST['STREAM2']==''))) { $STR2=str_replace("'",'',$_POST['LPAGE']); if($STR2==$ST['lpage']) { $ERRORS.="
LISTENING PAGE unchanged."; } else { $ERRORS.="
LISTENING PAGE updated."; $VALS[]="lpage='{$STR2}'"; } } else { $ERRORS .= "
LISTENING PAGE Invalid."; } if( !preg_match('| |',$_POST['STREAM1']) && ( preg_match('|^http|',$_POST['STREAM1']) || preg_match('|^mms|',$_POST['STREAM1']) || $_POST['STREAM1']=='' ) ) { $STR1=str_replace("'",'',$_POST['STREAM1']); if($STR1==$ST['url']) { $ERRORS.="
STREAM1 unchanged."; } else { $ERRORS.="
STREAM1 updated."; $VALS[]="url='{$STR1}'"; } } else { $ERRORS .= "
Stream #1 Invalid."; } if($_POST['TYPE']=='Standard' || $_POST['TYPE']=='FlashOnly') { if($_POST['TYPE']==$ST['type']) { $ERRORS.="
STREAM1 Type unchanged."; } else { $ERRORS.="
STREAM1 Type Changed to {$_POST['TYPE']}"; $VALS[]="type='{$_POST['TYPE']}'"; } } if( !preg_match('| |',$_POST['STREAM2']) && ( preg_match('|^http|',$_POST['STREAM2']) || preg_match('|^mms|',$_POST['STREAM2']) || $_POST['STREAM2']=='') ) { $STR2=str_replace("'",'',$_POST['STREAM2']); if($STR2==$ST['altstream']) { $ERRORS.="
STREAM2 unchanged."; } else { $ERRORS.="
STREAM2 updated."; $VALS[]="altstream='{$STR2}'"; } } else { $ERRORS .= "
Stream #2 Invalid."; } if($_POST['TYPE2']=='Standard' || $_POST['TYPE2']=='FlashOnly') { if($_POST['TYPE2']==$ST['type2']) { $ERRORS.="
STREAM2 Type unchanged."; } else { $ERRORS.="
STREAM2 Type Changed to {$_POST['TYPE2']}"; $VALS[]="type2='{$_POST['TYPE2']}'"; } } if($_POST['PLAYLIST'] && $PID=='3') { if($_POST['PLAYLIST']==$ST['m3ucontent']) { $ERRORS.="
PLAYLIST unchanged."; } else { $ERRORS.="
PLAYLIST MODIFIED"; $PLAYLIST=addslashes($_POST['PLAYLIST']); $VALS[]="m3ucontent='{$PLAYLIST}'"; } } // STATION IMAGES if($_POST['NEWLOGO']!='' && !preg_match('| |',$_POST['NEWLOGO']) && preg_match('|^http|',$_POST['NEWLOGO'])) { $IMGURL = $_POST['NEWLOGO']; $SPLITS=explode('.',$IMGURL); $POS=count($SPLITS)-1; $FILEEXT=$SPLITS[$POS]; //echo "


Fetching: $IMGURL"; //$IMAGE=disguise_curl($IMGURL); if($IMAGE == '') { $headers='';$body=''; $ch = curl_init($IMGURL); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'); curl_setopt($ch, CURLOPT_HEADER,true); //curl_setopt($ch, CURLOPT_RANGE, '0-10000'); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); curl_setopt($ch,CURLOPT_FAILONERROR,true); curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookiefile); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION,true); $data = curl_exec($ch); curl_close($ch); if($data != '') { list($headers, $body) = explode("\r\n\r\n", $data, 2); if($headers=='') { list($headers, $body) = explode("\n\n", $data, 2); } } //echo "
HEADERS:".$headers; $IMAGE=$body; } if($IMAGE != '') { $IFILE=$_SERVER['DOCUMENT_ROOT']."/images/station-logo/{$FIRSTCHAR}/{$ST['id']}-{$SAFENAME}.png"; $LOGOWEB="/images/station-logo/{$FIRSTCHAR}/{$ST['id']}-{$SAFENAME}.png"; $THUMBFILE=$_SERVER['DOCUMENT_ROOT']."/images/station-logo/thumbnail/{$FIRSTCHAR}/{$ST['id']}-{$SAFENAME}.png"; $THUMBWEB="/images/station-logo/thumbnail/{$FIRSTCHAR}/{$ST['id']}-{$SAFENAME}.png"; $WHANDLE=fopen($IFILE,"w"); fwrite($WHANDLE,$IMAGE); fclose($WHANDLE); $twidth=50;$theight=50; if(image_resize($IFILE, $THUMBFILE, 50, 50, 0)) { $VALS[]="logo='{$LOGOWEB}'"; $VALS[]="thumbnail='{$THUMBWEB}'"; $ERRORS .= "
LOGO updated and processed."; } } } else { $ERRORS .= "
LOGO Processing not run."; } if($_POST['ABOUT'] != $ST['about']) { $ERRORS .= "
ABOUT section updated."; $ABOUTIN=addslashes($_POST["ABOUT"]); $VALS[]="about='{$ABOUTIN}'"; } else { $ERRORS .= "
ABOUT unchanged."; } $ERRORS.="

"; if($VALS && $MODE=='ADMIN') { $NEWVALS=implode(',',$VALS); if($EXT[0]=='add' && $SAFENAME!='' && $SAFENAME !='add') { foreach($VALS as $VAL) { list($FIELD,$VALUE)=explode('=',$VAL); $FIELDS[]=$FIELD; $VALUES[]=$VALUE; } $FIELDDATA=implode(',',$FIELDS); $VALUEDATA=implode(',',$VALUES); $SQL="INSERT INTO netradio SET {$NEWVALS}"; global $lid; $ERRORS.="

SQL Statement to be executed:
{$SQL}
"; dbget('radio',$SQL); if($lid != '') { $ST['id']=$lid; } header("Location: http://radiostationnet.com/net/{$lid}-{$SAFENAME}");exit; } else { $SQL="UPDATE netradio SET {$NEWVALS} WHERE id='{$ST['id']}'"; $ERRORS.="

SQL Statement to be executed:
{$SQL}
"; dbget('radio',$SQL); } $SQL="SELECT * FROM netradio WHERE id='{$ST['id']}' LIMIT 1"; $RAD=dbget('radio',$SQL); if($RAD[0]) { $ST=$RAD[0]; } } } if($ST['parent']!='') { $PSQL="SELECT * FROM radiomaster WHERE ApplicationID='{$ST['parent']}' LIMIT 1"; $PRAD=dbget('radio',$PSQL); if($PRAD[0]) { $PST=$PRAD[0]; $sab = array( 'al','ak','az','ar','ca','co','ct','de','fl','ga', 'hi','id','il','in','ia','ks','ky','la','me','wy', 'md','ma','mi','mn','ms','mo','mt','ne','nv','nh', 'nj','nm','ny','nc','nd','oh','ok','or','pa','ri', 'sc','sd','tn','tx','ut','vt','va','wa','wv','wi','dc' ); $fsn = array( 'alabama','alaska','arizona','arkansas','california','colorado','connecticut','delaware','florida','georgia', 'hawaii','idaho','illinois','indiana','iowa','kansas','kentucky','louisiana','maine','wyoming', 'maryland','massachusetts','michigan','minnesota','mississippi','missouri','montana','nebraska','nevada','new hampshire', 'new jersey','new mexico','new york','north carolina','north dakota','ohio','oklahoma','oregon','pennsylvania','rhode island', 'south carolina','south dakota','tennessee','texas','utah','vermont','virginia','washington','west virginia','wisconsin','washington dc' ); $PS=strtolower($PST['State']); $PB=strtolower(substr($PST['Service'],0,1)); if($PB=='a') { $pb='am'; } if($PB=='f') { $pb='fm'; } $i=0; foreach($sab as $sa) { if($sa == $PS) { $ps=$fsn[$i]; } $i++; } $ps=str_replace(' ','-',$ps); $STATIONPATH="/{$pb}/{$ps}/{$PST['Callsign']}/"; $PARENTSTATION = "

{$ST['name']} is a sub channel of {$PST['Callsign']} {$PST['Service']}

"; if($PST['subc']!=1) { $PUSQL="UPDATE radiomaster SET subc='1' WHERE ApplicationID='{$ST['parent']}'"; //echo $PUSQL; dbget('radio',$PUSQL); } else { //echo "SUBC set on parent."; } } } $SNP=strtolower($ST['name']); $SNP=preg_replace('/[^\da-z ]/i', '', $SNP); $SAFENAME=str_replace(' ','-',$SNP); $FIRSTCHAR=strtolower($SAFENAME[0]); $title=$page['title']="{$ST['name']} - Net Radio Station #{$ST['id']}"; $page['description']="Internet radio station {$ST['name']} information and more. Net ID: ${ST['id']} {$ST['source']}"; if($ST['status']=='1') { $CHECKPATH="/net/{$ST['id']}-{$SAFENAME}"; if($_SERVER['REQUEST_URI'] != $CHECKPATH) { $alt[]=""; } } else { $NOIF='1'; header($_SERVER["SERVER_PROTOCOL"]." 410 Gone"); header("Status: 410 Gone"); //header("X-Robots-Tag: noindex"); } // ANSWERS: http://lab.rolisoft.net/playlists.html if($ST['status']=='1') { $OPTION2="0"; } if($ST['status']!='1') { $OPTION2="1"; } $LSQL="SELECT * FROM languages ORDER BY lname"; $RL=dbget('radio',$LSQL); foreach($RL as $LANG) { if($ST['lang'] == $LANG['alpha3']) { $LANGNAME=$LANG['lname'];$LANGCODE=$LANG['alpha3']; $LANGUAGEDISPLAY="Language: {$LANGNAME} (".strtoupper($LANG['alpha3']).")"; } $LOPTIONS.="\n"; } $CSQL="SELECT * FROM country ORDER BY name"; $RC=dbget('radio',$CSQL); foreach($RC as $CUNT) { if($ST['cc'] == $CUNT['iso']) { $COUNTRYNAME=$CUNT['nicename'];$COUNTRYCODE=$CUNT['iso']; $COUNTRYDISLPAY="Country: {$COUNTRYNAME} ({$COUNTRYCODE})"; } $COPTIONS.="\n"; } $GSQL="SELECT * FROM genres ORDER BY genre ASC"; $GR=dbget('radio',$GSQL); foreach($GR as $GEN) { if(strtoupper($ST['ourgenre']) == strtoupper($GEN['genre'])) { $GENRENAME=strtoupper($GEN['genre']); $GENKEYS=substr($GEN['keyterms'],0,70); //echo "MATCH FOUND BITCH"; } $GENSUBKEYS=substr($GEN['keyterms'],0,70); $GENN=strtoupper($GEN['genre']); $GENOPTIONS.="\n"; } if($ST['fbp'] !='1') { $FBOPTIONS=""; } else { $FBOPTIONS=""; } if($MODE == 'ADMIN') { $alt[]=''; $alt[]=""; $EDITFORM = <<

Administrator's Edit Form for NET:{$ST['id']} - ({$ST['name']})

Only Administrators will see this portion of the web page. Edits here are LIVE! {$ERRORS}
Status: 1=Enabled 0=Disabled

Basic Information

The branding line usually contains the station's name they go by. The slogan usually describe the type of content aired on the station.
Website:
Station Name:
Description:
Their Genre:
OUR Genre:
Parent Station:
*ONLY If this is a special network radio station or HD station of a traditional US AM/FM station, enter the "ApplicationID" into the parent field above. The accepted name for the station should be in the format of the parent station's Callsign-BAND and HD Channel #, an example would be "W???-FM HD 1". The Description should indicate this broadcasts name and/or slogan provided by the parent station.

Locality Intelligence

This may not be perfect, but what we are trying to accomplish is determine the language of the host or DJs which will usually match up with the language of the station's website, however this might not always be easy to determine. Please use your best judgement.
Language: (Google Translate can help determine this)
Country: Look on the Website's Contact page or WHOIS Registrant info for this info.
City:
State or
Province:
In the USA use 2 character state abbreviation.
For foreign locations try to use the long spelling of the state or province if known.

Social Networking:

See if you can find an official page/account for this station on these supported popular social networks. Doing so will add feeds for these stream on the public version of this page.
Facebook Page:
Twitter Username:
YouTube Username:
YouTube Channel ID:

Listening Options:

If you can not obtain the actual stream source location (which is a link when you enter into your web browser will launch the VLC player and play the stream) enter the web page url where you are able to listen to the station using some sort of web based player in the first field below. If any of the streams STREAM 1 or STREAM 2 do not work, please clear those fields if you are absolutely sure they do not work.
Web Listening Page: Type: Web Page
Stream URL 1: Type:
Stream 1 Class:
Stream URL 2: Type:
Stream 2 Class:
*M3U Content:Currently only the DATAMASTER can change this: (May be blank)

Station Images:

The best images to use are the current logos displayed on the station's website. If you can, get the URL of these images directly from the website by looking at the image's properties. If the logo image is inaccessible look for it using Google image search, view the image itself to ensure the link you put in below works and shows that image. ENDFORM; if($ST['logo']!='') { $page['image']='http://radiostationnet.com'.$ST['logo']; $EDITFORM .= << ENDFORM; } $EDITFORM .= <<
Logo:
Thumbnail:
New Logo URL:

Use the editor below to maintain the "About" section for this station

Be creative on how you word what you find about this station. Good things to include are studio call in lines and the studio address if it is different from the FCC owner, list of shows and DJs, and other items people may find interesting. Be sure to include the station callsign, frequency and variations of the stations branding and slogans but do not over do it.
ENDFORM; } if($ST['twitter'] != '' && $ST['facebook'] =='') { $TWITTER_BUTTON = ""; $TWITTER_SPOT = <<
{$FACEBOOK_SPOT} {$TWITTER_SPOT}
ENDTB; $TWITTER_SPOT='';$FACEBOOK_SPOT=''; } if($ST['youtube']) { if(!$ST['ytch']) { // Fetch YouTube Channel ID from Username $json = file_get_contents("https://www.googleapis.com/youtube/v3/channels/?part=snippet&forUsername={$ST['youtube']}&maxResults=1&alt=json&key=".GAPI); $channels = json_decode($json,true); $ST['ytch'] = $channels["items"][0]["id"]; $SQL = "UPDATE `radiomaster-new` SET ytch='{$ST['ytch']}' WHERE Callsign='{$ST['Callsign']}' AND Service LIKE 'F%'"; $ERRORS.="

SQL Statement to be executed:
{$SQL}
"; dbget('radio',$SQL); } if($ST['ytch']) { $ytfeed = "http://radiostationnet.com/youtube-rss/?format=json&channel=".$ST['ytch']."&callsign=".$ST['Callsign']; } $GLOBALS['jwplayer'] = true; $YOUTUBE_BUTTON = ""; $YOUTUBE_FRAME = <<Watch these Videos from {$ST['name']}:


ENDYT; } if($ST['logo']!='') { $LOGO="{$ST["; } $CITYGOOD=ucwords(strtolower($ST['City'])); $COMP1=strtolower($CITYGOOD); $COMP2=strtolower("$CITYGOOD), {$SC}"); $COMP3=strtolower("$CITYGOOD), {$STATE}"); $LBC=strtolower($ST['bcast']); if($ST['weburl'] != '' && $ST['weburl'] != ' ') { $wh=parse_url($ST['weburl']); if($wh['scheme']!='' && $wh['host']=='' && substr($wh['path'],0,1)=='/') { $ST['weburl']=$wh['scheme'].':/'.$wh['path']; } if( substr($ST['weburl'],0,7) != 'http://' && substr($ST['weburl'],0,8) != 'https://') { $GOODURL='http://'.$ST['weburl']; //var_dump($wh); } else { $GOODURL=$ST['weburl']; } $WEBSITE="You can learn more about the {$ST['name']} radio station on their website: {$ST['weburl']}"; } else { $WEBSITE=""; } if($ST['url']=='' && $ST['altstream']=='' && $ST['m3ucontent']=='') { $ABOUTSTREAM="No online radio broadcast streams are avaiable for this station at this time."; } else { if($ST['lstime'] > 1) { $LDATE=Date('D M jS Y h:i:s A',$ST['lstime']); } if($ST['lsstat']==0) { $LASTSTATUS=""; } if($ST['lsstat']==2) { $LASTSTATUS="{$ST['Callsign']} Last Detected as OFFLINE {$LDATE}"; } if($ST['lsstat']==3) { $LASTSTATUS="{$ST['Callsign']} Stream Resource Malfunction Detected {$LDATE}"; } if($ST['lsstat']==1) { $LASTSTATUS="Server: {$ST['lssvr']} Encoding: {$ST['lsct']} Bitrate: {$ST['lsbr']}"; } $STREAMINFO=<< Stream Status
Checking {$ST['name']} Audio Stream ...
{$LASTSTATUS}
ENDSI; $alt[]=""; $ABOUTSTREAM="{$ST['name']} can be heard online using the Radio Station Net Player."; $ACTIVATOR=""; $TIME=time(); $alt[]=<< #FrameradioPlayer { overflow:none; } ENDALT; } if($ST['City'] != '' && $ST['State'] != '') { $REGION="/ {$ST['City']}, {$ST['State']}"; } if($ST['City'] == '' && $ST['State'] != '') { $REGION="/ {$ST['State']}"; } if($ST['City'] != '' && $ST['State'] == '') { $REGION="/ {$ST['City']}"; } if($ST['fac_address1'] != '') { if($ST['fac_zip2'] !='') { $ZIPCODE=$ST['fac_zip1'].'-'.$ST['fac_zip2']; } else { $ZIPCODE=$ST['fac_zip1']; } $ADDRESS="{$ST['Callsign']} FCC Facility Location:
{$ST['fac_address1']} {$ST['fac_address1']}, {$ST['fac_city']}, {$ST['fac_state']} {$ZIPCODE}
"; $alt[] = ''; $alt[] = "\n"; $alt[] = "\n"; $alt[] = "\n"; $page['onload']="Load();"; $address = '[{"address": "'.$ST['fac_address1'].' '.$ST['fac_city'].', '.$ST['fac_state'].' '.$ST['fac_zip1'].'", "name": "'.$ST['Callsign'].'"}]'; //$address = '[{"lat": "'.$ST['Latitide'].'", "lng": "'.$ST['Longitude'].'"}]'; $falt[] = << function Load(){ $('#mapInfoManual').imGoogleMaps({ address: $address, map: 'googMap', street_view: 'street_view', street_close_loc: "/images/close_btn.gif", progress_bar: {container: 'imProgBarCntnr', bar_back_class: 'imBarBack', bar_class: 'imProgBar'}, geocode_request_rate: 100, custom_marker: {'type': 'standard', 'icon_color': '#ffcc00', 'label_color': '#ffffff', 'label_size': '14'}, show_streetview_overlay: true }); }; ENDWTF; } // $alt[] = ''; // $alt[] = ''; // $alt[] = ''; // $page['onload'] = 'initialize()'; // $GOOGLEMAP = "
View {$ST['Callsign']} {$ST['Service']} tower satellite image.
"; // $exclude="+-#"; // $gkey = 'AI39si4PMfkNMp1VkrauEitfldpuW_Bghl5jpzOXgUMguIN_9vSo5thWY1ZVVsYGfqQ7z2k2Bv3a_ElI2BQzYIh6honfSqyhuQ'; // list($FREQ,$SP) = explode(' ',$ST['Frequency']); if($COUNTRYDISPLAY != '' || $REGION != '') { $POSTAL="{$COUNTRYDISLPAY} {$REGION}"; } $LOWGEN=strtolower($ST['ourgenre']); $UCWG=ucwords($LOWGEN); $MAINCONTENT = <<
Radio Station Net
{$LOGO}

{$ST['name']}

{$ST['description']}

{$STREAMINFO}
{$GOOGLEBOX} {$ACTIVATOR}

{$PARENTSTATION}
This Internet radio station's genre is marked as "{$ST['ourgenre']}"
{$POSTAL} {$LANGUAGEDISPLAY}
{$ST['about']}

{$WEBSITE}

{$FACEBOOK_BUTTON} {$TWITTER_BUTTON} {$YOUTUBE_BUTTON}

{$FACEBOOK_SPOT} {$TWITTER_SPOT} {$TWITBOOK} {$YOUTUBE_FRAME} {$ADDRESS} {$COMMENTFORM}
ENDSTATION; if($ST['id']=='0') { header("X-Robots-Tag: noindex"); $alt[]=""; } //$MAINCONTENT = "

{$ST['name']}

Website: {$ST['weburl']}
Description: {$ST['description']}
Genre: {$ST['genre']}
ID:{$ST['id']}"; } if($MAINCONTENT != '') { //$alt[]=''; if($NOIF=='1') { header("X-Robots-Tag: noindex"); $alt[]=''; } $html .= heading($page,$alt,$topleft,$TOPAD,FALSE); $html .= $MAINCONTENT; $page['lower']=$EDITFORM; $html .= footer($page,$ADVALUE,$SOURCE,$AUTHOR); echo $html; exit; } function image_resize($src, $dst, $width, $height, $crop=0){ if(!list($w, $h, $type) = getimagesize($src)) return "Unsupported picture type!"; switch($type){ case '15': $img = imagecreatefromwbmp($src); break; case '1': $img = imagecreatefromgif($src); break; case '2': $img = imagecreatefromjpeg($src); break; case '3': $img = imagecreatefrompng($src); break; case '16': $img = imagecreatefromxbm($src); break; default : $data=file_get_contents($src);$img=imagecreatefromstring($data);if(!$img) { return "Unsupported picture type!"; } } // resize if($crop){ if($w < $width or $h < $height) return "Picture is too small!"; $ratio = max($width/$w, $height/$h); $h = $height / $ratio; $x = ($w - $width / $ratio) / 2; $w = $width / $ratio; } else{ if($w < $width and $h < $height) return "Picture is too small!"; $ratio = min($width/$w, $height/$h); $width = $w * $ratio; $height = $h * $ratio; $x = 0; } $new = imagecreatetruecolor($width, $height); // preserve transparency //if($type == "gif" or $type == "png"){ imagealphablending($new, false); imagesavealpha($new, true); //imagecolortransparent($new, imagecolorallocatealpha($new, 255, 255, 255, 127)); $transparent = imagecolorallocatealpha($new, 255, 255, 255, 127); imagefilledrectangle($new, 0, 0, $width, $height, $transparent); //} imagecopyresampled($new, $img, 0, 0, $x, 0, $width, $height, $w, $h); //switch($type){ // case 'bmp': imagewbmp($new, $dst); break; // case 'gif': imagegif($new, $dst); break; // case 'jpg': imagejpeg($new, $dst); break; // case 'png': imagepng($new, $dst); break; //} imagepng($new, $dst); return true; } function toAscii($str, $replace=array(), $delimiter='-') { setlocale(LC_ALL, 'en_US.UTF8'); if( !empty($replace) ) { $str = str_replace((array)$replace, ' ', $str); } $clean = iconv('UTF-8', 'ASCII//TRANSLIT', $str); $clean = preg_replace("/[^a-zA-Z0-9_\.|+ -]/", '', $clean); $clean = strtolower(trim($clean, '-')); $clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean); return $clean; } ?>

404 Not Found

Page Not Found

We are sorry, but we could not find the URL that you requested.
http://radiostationnet.com/net/ does not exist at this time.
Click Here to return to the Radio Station Net Homepage.