forked from HPR/hpr_hub
		
	
		
			
	
	
		
			338 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			338 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								This is the include file for the website and includes functions used by other programs.
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								require "/home/hpr/php/credentials.php";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								$pos = strpos($_SERVER['REQUEST_URI'], '/', 1 );
							 | 
						||
| 
								 | 
							
								if ( ! $pos === false) {
							 | 
						||
| 
								 | 
							
								  $pos = strpos($_SERVER['REQUEST_URI'], '/cms/', 1 );
							 | 
						||
| 
								 | 
							
								  if ( ! $pos === false) {
							 | 
						||
| 
								 | 
							
								    http_response_code(404);
							 | 
						||
| 
								 | 
							
								    mysqli_close();
							 | 
						||
| 
								 | 
							
								    exit;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								date_default_timezone_set("UTC"); 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if (!($connection = @ mysqli_connect("$databaseHostName", "$databaseUsername", "$databasePassword")))
							 | 
						||
| 
								 | 
							
								die("Could not connect to database");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if (!mysqli_select_db($connection, "$databaseName")) {
							 | 
						||
| 
								 | 
							
								    error_log($msg, 3, "/home/site/logs/sql_error_log");
							 | 
						||
| 
								 | 
							
								    return "Requested page is temporarily unavailable, please try again later.";
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								$connection->set_charset('utf8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function rrmdir($src) {
							 | 
						||
| 
								 | 
							
								  $dir = opendir($src);
							 | 
						||
| 
								 | 
							
								  while(false !== ( $file = readdir($dir)) ) {
							 | 
						||
| 
								 | 
							
								    if (( $file != '.' ) && ( $file != '..' )) {
							 | 
						||
| 
								 | 
							
								      $full = $src . '/' . $file;
							 | 
						||
| 
								 | 
							
								      if ( is_dir($full) ) {
							 | 
						||
| 
								 | 
							
								        rrmdir($full);
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								      else {
							 | 
						||
| 
								 | 
							
								        unlink($full);
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  closedir($dir);
							 | 
						||
| 
								 | 
							
								  rmdir($src);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function call412($error){
							 | 
						||
| 
								 | 
							
								  usleep(rand(10000000,30000000));
							 | 
						||
| 
								 | 
							
									global $HPR_Name, $HPR_Names, $naughtyfile;
							 | 
						||
| 
								 | 
							
									header("Status: 412 Precondition Failed");
							 | 
						||
| 
								 | 
							
									print '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
							 | 
						||
| 
								 | 
							
								<html xmlns="https://www.w3.org/1999/xhtml">
							 | 
						||
| 
								 | 
							
								<head>
							 | 
						||
| 
								 | 
							
								<meta http-equiv="content-type" content="text/html; charset=utf-8" />
							 | 
						||
| 
								 | 
							
								<title>'.$HPR_Name.' Public Radio</title>
							 | 
						||
| 
								 | 
							
								</head>
							 | 
						||
| 
								 | 
							
								<body>
							 | 
						||
| 
								 | 
							
								<h1>412 Precondition Failed</h1>
							 | 
						||
| 
								 | 
							
								<h2>ERROR CODE</h2>
							 | 
						||
| 
								 | 
							
								<p>
							 | 
						||
| 
								 | 
							
								<strong>'.$error.'</strong>
							 | 
						||
| 
								 | 
							
								</p>
							 | 
						||
| 
								 | 
							
								<p>
							 | 
						||
| 
								 | 
							
								If you believe this to be an error, then please copy this error code and send it to admin@hpr.
							 | 
						||
| 
								 | 
							
								</p>
							 | 
						||
| 
								 | 
							
								<p>
							 | 
						||
| 
								 | 
							
								<small>'.date('Y-m-d\TH:i:s') . "\t" . getUserIP() . "\t" . $_SERVER["HTTP_USER_AGENT"] .'</small>
							 | 
						||
| 
								 | 
							
								</p>
							 | 
						||
| 
								 | 
							
								<!-- 
							 | 
						||
| 
								 | 
							
								If however you are checking out how our site works then 
							 | 
						||
| 
								 | 
							
								please record a show telling us about what you were 
							 | 
						||
| 
								 | 
							
								trying to do.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								We are always looking for help from the community and 
							 | 
						||
| 
								 | 
							
								over the years many hackers have helped us improve the site.
							 | 
						||
| 
								 | 
							
								${baseurl}contribute.html
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Thanks.
							 | 
						||
| 
								 | 
							
								-->
							 | 
						||
| 
								 | 
							
								</body>
							 | 
						||
| 
								 | 
							
								</html>';
							 | 
						||
| 
								 | 
							
									file_put_contents($naughtyfile, date('Y-m-d\TH:i:s\Z') . "\t" . getUserIPAdress() ."\t" . $error . "\t" . $_SERVER['REQUEST_URI'] . "\t" . $_SERVER["HTTP_USER_AGENT"] . "\n", FILE_APPEND | LOCK_EX );
							 | 
						||
| 
								 | 
							
									exit;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function problem($error){
							 | 
						||
| 
								 | 
							
								  global $HPR_Name, $HPR_Names, $naughtyfile;
							 | 
						||
| 
								 | 
							
									file_put_contents($naughtyfile, date('Y-m-d\TH:i:s\Z') . "\t" . getUserIPAdress() ."\tERROR: " . $error . "\t" . $_SERVER['REQUEST_URI'] . "\t" . $_SERVER["HTTP_USER_AGENT"] . "\n", FILE_APPEND | LOCK_EX );
							 | 
						||
| 
								 | 
							
								  #usleep(2000000);
							 | 
						||
| 
								 | 
							
								  header("Status: 412 Precondition Failed");
							 | 
						||
| 
								 | 
							
								  print '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
							 | 
						||
| 
								 | 
							
								<html xmlns="http://www.w3.org/1999/xhtml">
							 | 
						||
| 
								 | 
							
								<head>
							 | 
						||
| 
								 | 
							
								<meta http-equiv="content-type" content="text/html; charset=utf-8" />
							 | 
						||
| 
								 | 
							
								<title>'.$HPR_Name.' Public Radio</title>
							 | 
						||
| 
								 | 
							
								</head>
							 | 
						||
| 
								 | 
							
								<body>
							 | 
						||
| 
								 | 
							
								<h1>412 Precondition Failed</h1>
							 | 
						||
| 
								 | 
							
								<h2>ERROR CODE</h2>
							 | 
						||
| 
								 | 
							
								<p>
							 | 
						||
| 
								 | 
							
								<strong>'.$error.'</strong>
							 | 
						||
| 
								 | 
							
								</p>
							 | 
						||
| 
								 | 
							
								<p>
							 | 
						||
| 
								 | 
							
								If you believe this to be an error, then please copy this error code and send it to admin@hpr.
							 | 
						||
| 
								 | 
							
								</p>
							 | 
						||
| 
								 | 
							
								<p>
							 | 
						||
| 
								 | 
							
								<small>'.date('Y-m-d\TH:i:s') . "\t" . getUserIP() . "\t" . $_SERVER["HTTP_USER_AGENT"] .'</small>
							 | 
						||
| 
								 | 
							
								</p>
							 | 
						||
| 
								 | 
							
								<!-- 
							 | 
						||
| 
								 | 
							
								If however you are checking out how our site works then 
							 | 
						||
| 
								 | 
							
								please record a show telling us about what you were 
							 | 
						||
| 
								 | 
							
								trying to do.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								We are always looking for help from the community and 
							 | 
						||
| 
								 | 
							
								over the years many hackers have helped us improve the site.
							 | 
						||
| 
								 | 
							
								${baseurl}contribute.html
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Thanks.
							 | 
						||
| 
								 | 
							
								-->
							 | 
						||
| 
								 | 
							
								</body>
							 | 
						||
| 
								 | 
							
								</html>';
							 | 
						||
| 
								 | 
							
									exit;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function naughty($error){
							 | 
						||
| 
								 | 
							
								  global $HPR_Name, $HPR_Names, $naughtyfile;
							 | 
						||
| 
								 | 
							
									file_put_contents($naughtyfile, date('Y-m-d\TH:i:s\Z') . "\t" . getUserIPAdress() ."\t" . $error . "\t" . $_SERVER['REQUEST_URI'] . "\t" . $_SERVER["HTTP_USER_AGENT"] . "\n", FILE_APPEND | LOCK_EX );
							 | 
						||
| 
								 | 
							
								  #usleep(rand(10000000,30000000));
							 | 
						||
| 
								 | 
							
								  header("Status: 412 Precondition Failed");
							 | 
						||
| 
								 | 
							
								  print '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
							 | 
						||
| 
								 | 
							
								<html xmlns="http://www.w3.org/1999/xhtml">
							 | 
						||
| 
								 | 
							
								<head>
							 | 
						||
| 
								 | 
							
								<meta http-equiv="content-type" content="text/html; charset=utf-8" />
							 | 
						||
| 
								 | 
							
								<title>'.$HPR_Name.' Public Radio</title>
							 | 
						||
| 
								 | 
							
								</head>
							 | 
						||
| 
								 | 
							
								<body>
							 | 
						||
| 
								 | 
							
								<h1>412 Precondition Failed</h1>
							 | 
						||
| 
								 | 
							
								<h2>ERROR CODE</h2>
							 | 
						||
| 
								 | 
							
								<p>
							 | 
						||
| 
								 | 
							
								<strong>'.$error.'</strong>
							 | 
						||
| 
								 | 
							
								</p>
							 | 
						||
| 
								 | 
							
								<p>
							 | 
						||
| 
								 | 
							
								If you believe this to be an error, then please copy this error code and send it to admin@hpr.
							 | 
						||
| 
								 | 
							
								</p>
							 | 
						||
| 
								 | 
							
								<p>
							 | 
						||
| 
								 | 
							
								<small>'.date('Y-m-d\TH:i:s') . "\t" . getUserIP() . "\t" . $_SERVER["HTTP_USER_AGENT"] .'</small>
							 | 
						||
| 
								 | 
							
								</p>
							 | 
						||
| 
								 | 
							
								<!-- 
							 | 
						||
| 
								 | 
							
								If however you are checking out how our site works then 
							 | 
						||
| 
								 | 
							
								please record a show telling us about what you were 
							 | 
						||
| 
								 | 
							
								trying to do.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								We are always looking for help from the community and 
							 | 
						||
| 
								 | 
							
								over the years many hackers have helped us improve the site.
							 | 
						||
| 
								 | 
							
								${baseurl}contribute.html
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Thanks.
							 | 
						||
| 
								 | 
							
								-->
							 | 
						||
| 
								 | 
							
								</body>
							 | 
						||
| 
								 | 
							
								</html>';
							 | 
						||
| 
								 | 
							
									exit;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function logextra($message){
							 | 
						||
| 
								 | 
							
								    global $HPR_Name, $HPR_Names, $naughtyfile;
							 | 
						||
| 
								 | 
							
									file_put_contents($naughtyfile, date('Y-m-d\TH:i:s\Z') . "\t" . getUserIPAdress() ."\t" . $message . "\t" . $_SERVER['REQUEST_URI'] . "\t" . $_SERVER["HTTP_USER_AGENT"] . "\n", FILE_APPEND | LOCK_EX );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function convertSecToTime($sec){
							 | 
						||
| 
								 | 
							
									$date1 = new DateTime("@0"); //starting seconds
							 | 
						||
| 
								 | 
							
									$date2 = new DateTime("@$sec"); // ending seconds
							 | 
						||
| 
								 | 
							
									$interval =  date_diff($date1, $date2); //the time difference
							 | 
						||
| 
								 | 
							
									return $interval->format('%y Years, %m months, %d days, %h hours, %i minutes and %s seconds'); // convert into Years, Months, Days, Hours, Minutes and Seconds
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function fixid($id){
							 | 
						||
| 
								 | 
							
								    return sprintf('%04d',$id);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function navtext($id,$curr_ep_id){
							 | 
						||
| 
								 | 
							
								    if ( $id <= 1 ) {
							 | 
						||
| 
								 | 
							
								        echo "<< First, < Previous, ";
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    else {
							 | 
						||
| 
								 | 
							
								        echo "<a href=\"".$_SERVER['PHP_SELF']."?id=0001\" rel=\"first\"><< First, </a>";
							 | 
						||
| 
								 | 
							
								        echo "<a href=\"".$_SERVER['PHP_SELF']."?id=" . (fixid($id-1)) . "\" rel=\"previous\">< Previous, </a>";
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    if ( $id >= $curr_ep_id ) {
							 | 
						||
| 
								 | 
							
								        echo "Next >, ";
							 | 
						||
| 
								 | 
							
								        echo "Latest >>";
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    else {
							 | 
						||
| 
								 | 
							
								        echo "<a href=\"".$_SERVER['PHP_SELF']."?id=".(fixid($id+1))."\" rel=\"next\">Next >, </a> ";
							 | 
						||
| 
								 | 
							
								        echo "<a href=\"".$_SERVER['PHP_SELF']."?id=$curr_ep_id\" rel=\"last\">Latest >></a>";
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function formatemail($email) {
							 | 
						||
| 
								 | 
							
								    // Miminal spam protection 
							 | 
						||
| 
								 | 
							
								  if (!stristr($email, '.nospam@nospam.')){
							 | 
						||
| 
								 | 
							
								    $part = explode("@", $email);
							 | 
						||
| 
								 | 
							
								    $email = $part[0] . ".nospam@nospam." . $part[1];
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  return $email;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function unformatemail($email) {
							 | 
						||
| 
								 | 
							
								  // Miminal spam protection 
							 | 
						||
| 
								 | 
							
								  if (stristr($email, '.nospam@nospam.')){
							 | 
						||
| 
								 | 
							
								    $part = explode(".nospam@nospam.", $email);
							 | 
						||
| 
								 | 
							
								    $email = $part[0] . "@" . $part[1];
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  return $email;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function makeClickableLinks($string) {
							 | 
						||
| 
								 | 
							
								    # Used to display links from test urls 
							 | 
						||
| 
								 | 
							
								    $pattern = '/\b((?:https?:\/\/|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'".,<>?«»“”‘’]))/i';
							 | 
						||
| 
								 | 
							
								    $replacement = '<a href="$1" target="_blank">$1</a>';
							 | 
						||
| 
								 | 
							
								    return preg_replace($pattern, $replacement, $string);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function get_gravatar( $email, $s = 80, $d = '404', $r = 'x', $img = false, $atts = array() ) {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								    * Get either a Gravatar URL or complete image tag for a specified email address.
							 | 
						||
| 
								 | 
							
								    *
							 | 
						||
| 
								 | 
							
								    * @param string $email The email address
							 | 
						||
| 
								 | 
							
								    * @param string $s Size in pixels, defaults to 80px [ 1 - 512 ]
							 | 
						||
| 
								 | 
							
								    * @param string $d Default imageset to use [ 404 | mm | identicon | monsterid | wavatar ]
							 | 
						||
| 
								 | 
							
								    * @param string $r Maximum rating (inclusive) [ g | pg | r | x ]
							 | 
						||
| 
								 | 
							
								    * @param boole $img True to return a complete IMG tag False for just the URL
							 | 
						||
| 
								 | 
							
								    * @param array $atts Optional, additional key/value attributes to include in the IMG tag
							 | 
						||
| 
								 | 
							
								    * @return String containing either just a URL or a complete image tag
							 | 
						||
| 
								 | 
							
								    * @source http://gravatar.com/site/implement/images/php/
							 | 
						||
| 
								 | 
							
								    */
							 | 
						||
| 
								 | 
							
								    $url = 'https://secure.gravatar.com/avatar/';
							 | 
						||
| 
								 | 
							
								    $url .= md5( strtolower( trim( $email ) ) );
							 | 
						||
| 
								 | 
							
								    $url .= "?s=${s}&d=${d}.png";
							 | 
						||
| 
								 | 
							
								    if ( $img ) {
							 | 
						||
| 
								 | 
							
								        $url = '<img src="' . $url . '"';
							 | 
						||
| 
								 | 
							
								        foreach ( $atts as $key => $val )
							 | 
						||
| 
								 | 
							
								            $url .= ' ' . $key . '="' . $val . '"';
							 | 
						||
| 
								 | 
							
								            $url .= '.png />';
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    return $url;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function getUserIPAdress() {
							 | 
						||
| 
								 | 
							
									$ip = '';
							 | 
						||
| 
								 | 
							
									if (getenv('HTTP_CLIENT_IP')) {
							 | 
						||
| 
								 | 
							
										$ip = getenv('HTTP_CLIENT_IP');
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									else if(getenv('HTTP_X_FORWARDED_FOR')) {
							 | 
						||
| 
								 | 
							
										$ip = getenv('HTTP_X_FORWARDED_FOR');
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									else if(getenv('HTTP_X_FORWARDED')) {
							 | 
						||
| 
								 | 
							
										$ip = getenv('HTTP_X_FORWARDED');
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									else if(getenv('HTTP_FORWARDED_FOR')) {
							 | 
						||
| 
								 | 
							
										$ip = getenv('HTTP_FORWARDED_FOR');
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									else if(getenv('HTTP_FORWARDED')) {
							 | 
						||
| 
								 | 
							
										$ip = getenv('HTTP_FORWARDED');
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									else if(getenv('REMOTE_ADDR')) {
							 | 
						||
| 
								 | 
							
										$ip = getenv('REMOTE_ADDR');
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									else {
							 | 
						||
| 
								 | 
							
										$ip = 'UNKNOWN';
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									return $ip;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function getUserIP()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    //check ip from share internet
							 | 
						||
| 
								 | 
							
								    if (!empty($_SERVER['HTTP_CLIENT_IP']))
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      $ip=$_SERVER['HTTP_CLIENT_IP'];
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    else
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      $ip=$_SERVER['REMOTE_ADDR'];
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    return $ip . "\t" . $_SERVER['REQUEST_URI'] . "\t" . $_SERVER["HTTP_USER_AGENT"] . "\n";
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if ( strlen($_SERVER['QUERY_STRING']) > 15 ) {
							 | 
						||
| 
								 | 
							
								  file_put_contents($naughtyfile, getUserIP(), FILE_APPEND | LOCK_EX );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function GetFirstFreeSlot() {
							 | 
						||
| 
								 | 
							
								    // --------------------------------------------
							 | 
						||
| 
								 | 
							
								    // Get first free slot
							 | 
						||
| 
								 | 
							
								    $query = mysqli_query("SELECT  id + 1 FROM eps mo
							 | 
						||
| 
								 | 
							
								    WHERE   NOT EXISTS
							 | 
						||
| 
								 | 
							
								            (
							 | 
						||
| 
								 | 
							
								            SELECT  NULL
							 | 
						||
| 
								 | 
							
								            FROM    eps mi 
							 | 
						||
| 
								 | 
							
								            WHERE   mi.id = mo.id + 1
							 | 
						||
| 
								 | 
							
								            )
							 | 
						||
| 
								 | 
							
								    ORDER BY
							 | 
						||
| 
								 | 
							
								            id
							 | 
						||
| 
								 | 
							
								    LIMIT 1");
							 | 
						||
| 
								 | 
							
								    $next_show_num_array = mysqli_fetch_row($query);
							 | 
						||
| 
								 | 
							
								    return $next_show_num_array[0];
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function GetLatestPublishedShow($connection){
							 | 
						||
| 
								 | 
							
								  // --------------------------------------------
							 | 
						||
| 
								 | 
							
								  // Get latest published show
							 | 
						||
| 
								 | 
							
								  $query = mysqli_query($connection, "SELECT max(date), max(id) from eps WHERE eps.date <= UTC_DATE()");
							 | 
						||
| 
								 | 
							
								  $current_episode_array = mysqli_fetch_row($query);
							 | 
						||
| 
								 | 
							
								  return array($current_episode_array[0], $current_episode_array[1]);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								$PROTOCOL = '';
							 | 
						||
| 
								 | 
							
								if ((!empty($_SERVER['HTTPS'])) && ($_SERVER['HTTPS'] !== 'off')) {
							 | 
						||
| 
								 | 
							
								  $PROTOCOL .= 'https://';
							 | 
						||
| 
								 | 
							
								} else {
							 | 
						||
| 
								 | 
							
								  $PROTOCOL .= 'http://';
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								$HTTP_HOST = $_SERVER['HTTP_HOST'];
							 | 
						||
| 
								 | 
							
								$pos = strpos($HTTP_HOST, "hobbypublicradio");
							 | 
						||
| 
								 | 
							
								if ($pos !== false) {
							 | 
						||
| 
								 | 
							
								    $HPR_Name = "Hobby";
							 | 
						||
| 
								 | 
							
								    $HPR_Names = "hobbyists";
							 | 
						||
| 
								 | 
							
								} else {
							 | 
						||
| 
								 | 
							
								    $HPR_Name = "Hacker";
							 | 
						||
| 
								 | 
							
								    $HPR_Names = "Hackers";
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								?>
							 |