rendered paste body<?php
/**********************************************************
För Admin-mode skulle behövas:
ta bort enskilda låtar av dålig kvalite etc..
banna ipn?
rensa pratbubblan/edita lite
logga låtars ursprung
***********************************************************/
usleep(100);
error_reporting(E_ALL);
session_start();
require_once("gmstable.php");
require_once("db_inc.php");
require_once("config.php");
require_once("quotes.php"); // Monsquaz
$admin = isset($_SESSION['admin']) && $_SESSION['admin'] == true ? $_SESSION['admin'] : false; // Admin eller ej?
$page = isset($_GET['p']) ? (intval($_GET['p']) > 0 ? intval($_GET['p']) : 1) : 1; // Låt-sida
$order = isset($_GET['o']) ? intval($_GET['o']) : 0; // Sortering
$s = isset($_GET['s']) ? intval($_GET['s']) : 0; // Söksträng
$IP = ip2long($_SERVER['REMOTE_ADDR']); // Användarens IP
/*** Logga ut *******************************************/
if(isset($_GET['logoff']) ) {
$admin = $_SESSION['admin'] = false;
unset($_SESSION['admin']);
unset($_SERVER['PHP_AUTH_USER']);
unset($_SERVER['PHP_AUTH_PW']);
}
/********************************************************/
/*** Logga in *****************************************************************************************************************/
if(!$admin && isset($_GET['admin'])) {
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="Geekmeet Music System"');
header('HTTP/1.0 401 Unauthorized');
die();
} else {
$admin = $_SESSION['admin'] = ($_SERVER['PHP_AUTH_USER'] == "admin" && $_SERVER['PHP_AUTH_PW'] == "schaliziBenis");
if(!$admin) {
header('WWW-Authenticate: Basic realm="Geekmeet Music System"');
header('HTTP/1.0 401 Unauthorized');
die();
}
}
}
/******************************************************************************************************************************/
/*** Uppdatera Inställningar ******************************************************************************************/
if($admin && isset($_POST['update'])) {
foreach($_POST as $variable => $value) {
if($variable == "ADMIN_IP") {
$value=ip2long($value);
}
mysql_query("UPDATE gms_settings
SET value=".intval($value)."
WHERE variable='".str_replace("'","'",$variable)."'");
}
}
/**********************************************************************************************************************/
/*** Avgör huruvida användaren kan rösta **********************************************************************/
$res = mysql_query("SELECT UNIX_TIMESTAMP() - MAX(UNIX_TIMESTAMP(vote_time))
FROM votes
WHERE ip=$IP LIMIT 1");
if($has_not_voted = mysql_num_rows($res)) {
list($last_voted) = mysql_fetch_row($res);
}
mysql_free_result($res);
$last_voted = $last_voted == NULL ? time() : $last_voted;
$can_vote = ($last_voted >= SECONDS_BETWEEN_VOTES || !$has_not_voted);
/**************************************************************************************************************/
?>
<!-- DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd" -->
<html lang="sv"><head> <title>GMS - Geekmeet Music System - Powered By Monsquaz</title>
<link href="gms.css" type="text/css" rel="stylesheet">
<meta http-equiv="Content-Type" Content="text/html; charset=ISO-8859-1">
<?php
/*** Ladda om sidan så fort man får rösträtt **************************************************************************/
if(!$can_vote && $page == 1) {
echo "<meta http-equiv=\"refresh\" content=\"".intval(1 + SECONDS_BETWEEN_VOTES - $last_voted).";url=index.php\">";
}
/**********************************************************************************************************************/
?>
</head><body lang="sv">
<script language='JavaScript' src='../overlib.js'></script>
<div style="position: fixed; bottom: 390px; left: 35px; overflow: none;">
<div style="background-image: url('../gfx/bubbletop.gif');background-repeat: no-repeat; width: 183px; height: 8px; font-size: 0px;"></div>
<div style=" background: #FFFFFF; width:179px; font-family: verdana; font-size: 11px; text-align:center; color:#000000; padding: 2px;">
<?php echo htmlentities($quotes[ROUND(rand(0,sizeof($quotes)))]); ?>
</div>
<div style=" background-image: url('../gfx/bubblebottom.gif'); background-repeat: no-repeat; width: 183px; height: 16px; font-size: 0px;"></div>
</div>
<?php
if(!GMS_ACTIVE && $_SERVER['REMOTE_ADDR'] != long2ip(ADMIN_IP)) {
die("GMS är stängt just nu");
}
/*** Returnera antal minuter och sekunder *****************/
function minsec($seconds) {
$minutes = intval($seconds/60);
return array($minutes, $seconds-60*$minutes);
}
/**********************************************************/
/*** Logotyp och sådant **************************************/
echo "<img src=\"gms1.gif\"><br />\r\n";
echo "<a href=\"play.php\">Lyssna</a> (<a href=\"info.php\">Info</a>)<br /><br />\r\n";
/*************************************************************/
/*** Information om aktuell låt ***********************************************************************************************/
$res = mysql_query("SELECT id, filename, UNIX_TIMESTAMP() - UNIX_TIMESTAMP(last_played), title, album, artist, year, genre
FROM songs
WHERE times_played > 0 ORDER BY last_played DESC LIMIT 1");
list($id, $filename, $seconds_played, $title, $album, $artist, $year, $genre) = mysql_fetch_row($res);
mysql_free_result($res);
echo "<center>";
$displayname = $title ? ($artist ? "$artist - $title" : $title) : basename($filename);
$time_played = minsec($seconds_played);
$song = "<a href=\"get.php?id=$id\"> $displayname</a>";
$timeplayed = $time_played[0].":".($time_played[1] >= 0 && $time_played[1] <= 9 ? "0".$time_played[1] : $time_played[1])."";
echo "<table>\r\n";
echo "<tr><td>Nu spelas:</td><td>$song</td></tr>\r\n";
echo "<tr><td>Tid Spelad:</td><td>$timeplayed</td></tr>\r\n";
echo "</table><br />\r\n";
/******************************************************************************************************************************/
/*** Sidnavigering ***************************************************************************************/
$res = mysql_unbuffered_query("SELECT COUNT(*)
FROM songs");
list($cnt) = mysql_fetch_row($res);
mysql_free_result($res);
$nav = "";
if(($pages = $cnt / SONGS_PER_PAGE) > 1) {
$nav = "Sida: ";
for($i = 1; $i <= intval($cnt / SONGS_PER_PAGE) + 1; $i++) {
$current = ($page == $i);
$nav.= ($i != 1 ? " | " : "") .
($current ? "<span style=\"text-decoration: underline\">" : "<a href=\"index.php?p=$i\">") .
$i .
($current ? "</span>" : "</a>");
}
$nav.= "<br><br>\r\n";
}
echo $nav;
echo "<br />\r\n";
/********************************************************************************************************/
/*** Sökruta **********************************************/
echo "<form action=\"index.php\" method=\"post\">";
echo "<input type=\"text\" name=\"searchstring\">\r\n";
echo "<input type=\"hidden\" name=\"search\" value=\"1\">";
echo "<input type=\"submit\" value=\"Sök\">";
echo "</form>";
/**********************************************************/
/*** Sökresultat ************************************************************************************************************************/
if(isset($_POST['search'])) {
$search = isset($_POST['searchstring']) ? mysql_real_escape_string(htmlentities($_POST['searchstring'])) : 0;
if($search) {
echo "Sökresultat:<br />\r\n";
gmstable("songlist","SELECT id, filename, times_played, num_votes, title, album, artist, year, genre, uploader_ip, last_voter_ip, UNIX_TIMESTAMP()-UNIX_TIMESTAMP(last_played)
FROM songs
WHERE filename LIKE '%$search%' OR title LIKE '%$search%' OR artist LIKE '%$search%' LIMIT ".MAX_SEARCH_RESULTS);
echo "<br />\r\n";
}
}
/****************************************************************************************************************************************/
/*** Låtar på aktuell sida **********************************************************************************************/
$BY_NAME = "CONCAT(artist,title,filename) " . ($order ? "ASC" : "DESC");
$SQL = "SELECT id, filename, times_played, num_votes, title, album, artist, year, genre, uploader_ip, last_voter_ip, UNIX_TIMESTAMP()-UNIX_TIMESTAMP(last_played) as delay_time
FROM songs
ORDER BY ".SORT." LIMIT ".(SONGS_PER_PAGE*($page-1)).", ". SONGS_PER_PAGE;
$SQL = $s ? "SELECT id, filename, times_played, num_votes, title, album, artist, year, genre, uploader_ip, last_voter_ip, delay_time
FROM ($SQL) AS DerivedTable
ORDER BY $BY_NAME" : $SQL;
gmstable("songlist",$SQL);
/************************************************************************************************************************/
echo "<br />\r\n";
echo $nav; // Sidnavigering
if(!$can_vote) {
$timeleft = minsec(SECONDS_BETWEEN_VOTES-$last_voted);
echo "Du kan rösta igen om ". $timeleft[0] . " minuter och ". $timeleft[1] ." sekunder.<br /><br />\r\n";
}
/*** Uppladdningsformulär************************************************************************************/
$res = mysql_unbuffered_query("SELECT COUNT(*)
FROM gms_bans
WHERE IP=$IP");
list($banned) = mysql_fetch_row($res);
mysql_free_result($res);
if(!$banned) {
$res = mysql_query("SELECT UNIX_TIMESTAMP() - MAX(UNIX_TIMESTAMP(upload_time))
FROM uploads
WHERE ip=$IP");
list($last_uploaded) = mysql_fetch_row($res);
$last_uploaded = $last_uploaded == NULL ? time() : $last_uploaded;
$numrows = mysql_num_rows($res);
mysql_free_result($res);
if($last_uploaded >= SECONDS_BETWEEN_UPLOADS || $admin) {
echo "<form action=\"upload.php\" enctype=\"multipart/form-data\" method=\"post\">";
echo "<input type=\"hidden\" name=\"upload\" value=\"1\">";
echo "Fil:\r\n";
echo "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"".(MAX_SONG_FILESIZE << 20)."\" />";
echo "<input type=\"file\" class=\"file\" name=\"songfile\" size=\"40\"> ";
echo "<input type=\"submit\" value=\"Ladda upp\">";
echo "</form>\r\n";
echo "Tillåtna format: ";
foreach($allowed_suffixes as $s) {
echo $s . " ";
}
echo "<br />\r\n";
echo "Högsta filstorlek: ".MAX_SONG_FILESIZE."MB";
echo "<br /><br />\r\n";
} else {
$timeleft = minsec(SECONDS_BETWEEN_UPLOADS-$last_uploaded);
echo "Du kan ladda upp igen om ". $timeleft[0] . " minuter och ". $timeleft[1] ." sekunder.<br /><br />\r\n";
}
} else {
echo "Du är bannad från att ladda upp låtar.";
}
/***********************************************************************************************************/
/*** Admin-inställningar ***********************************************************************************/
if($admin) {
echo "Admin-mode<br /><br />\r\n";
echo "<form action=\"index.php\" method=\"post\">\r\n";
echo "<input type=\"button\" value=\"Ge mig ADMIN_IP\" onclick=\"document.getElementById('ADMIN_IP').value='".$_SERVER['REMOTE_ADDR']."'\"><br /><br />\r\n";
echo "<table>\r\n";
$res = mysql_unbuffered_query("SELECT id, variable, value
FROM gms_settings
ORDER BY variable");
while(list($id, $variable, $value) = mysql_fetch_row($res)) {
if($variable == "ADMIN_IP")
$value = long2ip($value);
echo "<tr>\r\n";
echo "<td>$variable</td>\r\n";
echo "<td><input type=\"text\" name=\"$variable\" id=\"$variable\" value=\"$value\"></td>";
echo "</tr>\r\n";
}
mysql_free_result($res);
echo "<input type=\"hidden\" name=\"update\" value=\"1\">";
echo "<tr><td colspan=\"2\"><input type=\"submit\" value=\"Uppdatera\"></td></tr>";
echo "</table>\r\n";
echo "</form>";
echo "<br />\r\n";
echo "<a href=\"update.php\">Uppdatera låtar</a><br /><br />\r\n";
echo "<a href=\"index.php?logoff\">Logga ut</a><br /><br />\r\n";
} else {
echo "<a href=\"index.php?admin\">Admin</a><br /><br />\r\n";
}
/***********************************************************************************************************/
echo "<a href=\"topsongs.php\">Top 10</a><br /><br />\r\n";
echo "Geekmeet Music System - Powered by Monsquaz.<br /><br />\r\n";
require_once("db_stop.php");
?>
</center>
</body>
</html>