All pastes #839411 Raw Edit

Anonymous

public text v1 · immutable
#839411 ·published 2007-12-31 00:29 UTC
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("'","&#39;",$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 ? "&nbsp;|&nbsp;" : "") .
             ($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&ouml;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&ouml;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&aring;tna format: ";
      foreach($allowed_suffixes as $s) {
            echo $s . " ";
      }
      echo "<br />\r\n";
      echo "H&ouml;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 &auml;r bannad fr&aring;n att ladda upp l&aring;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>