Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //Global PHP
- //cloudflare of RS-PS.org
- //cloudflare removed of RS-PS.org
- //DMCA added, but not seeing the button on the homepage anymore
- //landofrsps.com
- //landofrsps did release RS-PS.org
- //Tobias: Added extra security.
- //11/6/09: Added pages to displayServers() function
- //20/10/09: Got domain http://www.tobex.info/
- //23/10/09: Infexis IP banned for stealing my work
- //26/10/09: Added First time created message, creation warning and featured server.
- //17/2/11: Added platinum upgrade to shop etc, everythings working good finally :)
- //11/4/11: Was ddosed for the second time, moved from bluehost.com to justhost.com :)
- //11/4/11: DMCA'd by jagex, but removed the .jars and caches to offshore host;) linking isn't illegal
- //16/6/11: Moved to a dedicated server, got toplist, status checkers and new create page
- //23/2/12: 2.0 Development now underway, copied over global.php
- //5/3/12: Checking for invalid server name cookies in init()
- /* CONNECTION DETAILS */
- $loader_server = "RS-PS.org";
- $mysql_host = "localhost";
- $mysql_database = "themasks_removed";
- $mysql_username = "themasks_removed";
- $mysql_password = "RS-PS.ORG PASSWORD ALL CHANGED";
- $con = mysql_connect($mysql_host, $mysql_username, $mysql_password, false);
- if (!$con) { die('Could not connect: ' . mysql_error()); }
- mysql_select_db($mysql_database);
- /* INITIALISE */
- init(); //Calls everything like security
- /* VARIABLES */
- $check_status = 5; //How often to check servers' statuses, in minutes
- $max_banner_width = 800; //Maximum banner width
- $max_banner_height = 150; //Maximum banner height
- $illegal_characters = array('meta', 'window.location', 'unescape', 'location.replace', 'applet'); //Illegal characters for server info pages and header/footers
- $chatbox_width = 735;
- $chatbox_height = 450;
- $chatbox_embed = '<img style="visibility:hidden;width:0px;height:0px;" border=0 width=0 height=0 src="http://c.gigcount.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEzMDI1MzQ3NjAwMjkmcHQ9MTMwMjUzNDc3MzU*NiZwPTUzMTUxJmQ9Jmc9MSZvPTQ2YmIxYzkzMzE*ODQ4NzU4MTYw/NjZjMjkyY2NiNjU*.gif" /><embed src="http://www.xatech.com/web_gear/chat/chat.swf" quality="high" width="'.$chatbox_width.'" height="'.$chatbox_height.'" name="chat" FlashVars="id=139678034" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://xat.com/update_flash.shtml" /><br>';
- /* FUNCTIONS */
- function validateServer($server) {
- //Validates a server's name, can be used in login, searching and signup
- if (strlen($str) > 20) {
- //If the server name is longer than 20 characters
- return false;
- }
- if (preg_match('/[^\w\d_ -]/si', $server)) {
- //The server name contains characers other than:
- /* a-z, A-Z, 0-9, -, _, spaces */
- return false;
- }
- //No errors were caught
- return true;
- /* USAGE
- if(validateServer("invalidname' or 1=1")) {
- //server name is ok
- } else {
- //server name isnt ok
- }
- */
- }
- function update_hits($server_name) {
- //Updates the user's hits + 1 every visit :D
- mysql_select_db($mysql_database);
- mysql_query("UPDATE servers SET hits = hits + 1 WHERE server_name='$server_name'") or die(mysql_error());
- }
- function new_pass($server_name, $new_pass) {
- //Sets a new password
- mysql_select_db($mysql_database);
- if(mysql_query("UPDATE servers SET password='$new_pass' WHERE server_name='$server_name' LIMIT 1")) {
- return true;
- } else {
- return false;
- }
- }
- function doubleVotes($server) {
- mysql_select_db($mysql_database);
- $query = "SELECT dv FROM playershare WHERE server_name = '".$server."' AND dv = '1'";
- $result = mysql_query($query) or die(mysql_error());
- if (mysql_num_rows($result) > 0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- function row_exists($table, $cell, $value) {
- mysql_select_db($mysql_database);
- $query = "SELECT ".$cell." FROM ".$table." WHERE ".$cell." = '".$value."'";
- $result = mysql_query($query) or die(mysql_error());
- if (mysql_num_rows($result) > 0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- function server_exists($server_name) {
- //0 = no, 1 = yes
- mysql_select_db($mysql_database);
- //Check if row exists:
- $result = mysql_query("SELECT count(*) as numrecords FROM servers WHERE server_name = '$server_name' LIMIT 1") or die ('Queryproblem checing esisting record.');
- $row = mysql_fetch_assoc($result);
- if ($row['numrecords'] >= 1) {
- return 1;
- } else {
- return 0;
- }
- }
- /* GENERAL FUNCTIONS */
- function update_last_voted($userId, $lastvoted) {
- mysql_select_db("rspsorg1_smf");
- $now = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("y"));
- if($lastvoted >= mktime(date("H")-6, date("i"), date("s"), date("m"), date("d"), date("y"))) {
- return false;
- } else {
- $query="UPDATE `rspsorg1_smf`.`smf_members` SET last_voted = '$now' WHERE ID_MEMBER = '$userId'";
- $rt=mysql_query($query);
- echo mysql_error();
- return true;
- }
- }
- function get_last_voted($userId) {
- mysql_select_db("rspsorg1_smf");
- $query="SELECT last_voted FROM smf_members WHERE ID_MEMBER = '$userId' LIMIT 1";
- $rt=mysql_query($query);
- echo mysql_error();
- while($nt = mysql_fetch_array($rt)){
- return $nt[last_voted];
- }
- }
- function update_votes($serverName) {
- mysql_select_db($mysql_database);
- if(doubleVotes($serverName)) {
- $addVotes = 2;
- } else {
- $addVotes = 1;
- }
- $query="UPDATE servers SET votes = votes + $addVotes WHERE server_name = '$serverName'";
- $rt=mysql_query($query);
- }
- function display_platinum_banner() {
- mysql_select_db($mysql_database);
- $query="SELECT server_name, advert FROM `rspsorg1_tobex`.`servers` WHERE advert != '' ORDER BY RAND() LIMIT 1";
- $rt=mysql_query($query);
- echo mysql_error();
- while($nt = mysql_fetch_array($rt)){
- echo "<a href='play.php?server=$nt[server_name]'><img src='$nt[advert]'></a>";
- }
- }
- function daysBetween($d1, $d2) {
- //D2 IS AFTER D1
- $days_diff = floor(($d2-$d1)/86400); //86400 for days
- return $days_diff;
- }
- function hoursDiff($d1, $d2) {
- //D2 IS AFTER D1
- $hours_diff = floor(($d2-$d1)/3600); //hours
- return $hours_diff;
- }
- function showServersLike2($enteredText, $sortby, $status) {
- mysql_select_db($mysql_database);
- $enteredText = cleanQuery($enteredText); //Fixing mysql vunreabilities
- $sortby = cleanQuery($sortby); //Fixing mysql vunreabilities
- $status = cleanQuery($status); //Fixing mysql vunreabilities
- if($enteredText == "") {
- if($status == 0) {
- //Show both:
- $query="SELECT servers.server_name, hits, votes, status, info.type2 FROM servers INNER JOIN info USING ( server_name ) ORDER BY servers.$sortby DESC LIMIT 35";
- } else {
- //Show online only:
- $query="SELECT servers.server_name, hits, votes, status, info.type2 FROM servers INNER JOIN info USING ( server_name ) WHERE servers.status = '1' ORDER BY servers.$sortby DESC LIMIT 35";
- }
- } else {
- if($status == 0) {
- //Show both:
- $query="SELECT servers.server_name, hits, votes, status, info.type2 FROM servers INNER JOIN info USING ( server_name ) WHERE servers.server_name LIKE '".$enteredText."%' ORDER BY servers.$sortby DESC LIMIT 35";
- } else {
- //Show online only:
- $query="SELECT servers.server_name, hits, votes, status, info.type2 FROM servers INNER JOIN info USING ( server_name ) WHERE servers.server_name LIKE '".$enteredText."%' AND servers.status='1' ORDER BY servers.$sortby DESC LIMIT 35";
- }
- }
- $rt=mysql_query($query) or die(mysql_error());
- $num = 1; //Starting Number
- while($nt = mysql_fetch_array($rt)){
- echo "<tr>
- <td align='center'>$num</td>
- <td align='center'></font><a class='link' href='info.php?server=$nt[server_name]'>
- <font color='#666666'>$nt[server_name]</font></a></td>";
- if($nt[type2] == 0) {
- echo "<td align='center'>Not Specified</td>";
- } else if($nt[type2] == 1) {
- echo "<td align='center'>Player Killing</td>";
- } else if($nt[type2] == 2) {
- echo "<td align='center'>Skilling</td>";
- } else if($nt[type2] == 3) {
- echo "<td align='center'>Economy</td>";
- } else if($nt[type2] == 4) {
- echo "<td align='center'>Spawning</td>";
- }
- echo "<td align='center'>$nt[votes]</td>
- <td align='center'>$nt[hits]</td>";
- if($nt[status] == 1) {
- echo "<td align='center'><font color='#066E08'>Online</font></td>";
- } else {
- echo "<td align='center'><font color='#990000'>Offline</font></td>";
- }
- echo "</tr>";
- $num++;
- }
- }
- function showServersLike($enteredText, $sortby, $status) {
- mysql_select_db($mysql_database);
- $enteredText = cleanQuery($enteredText); //Fixing mysql vunreabilities
- $sortby = cleanQuery($sortby); //Fixing mysql vunreabilities
- $status = cleanQuery($status); //Fixing mysql vunreabilities
- if($enteredText == "") {
- if($status == 0) {
- //Show both:
- //$query="SELECT server_name, type, hits, donated, votes, status, last_checked FROM servers ORDER BY $sortby DESC LIMIT 35"; //LIMIT $limit
- $query="SELECT servers.server_name, servers.type, hits, donated, votes, status, last_checked, info.type2 FROM servers INNER JOIN info USING ( server_name ) ORDER BY servers.$sortby DESC LIMIT 35";
- } else {
- //Show online only:
- $query="SELECT servers.server_name, servers.type, hits, donated, votes, status, last_checked, info.type2 FROM servers INNER JOIN info USING ( server_name ) WHERE servers.status = '1' ORDER BY servers.$sortby DESC LIMIT 35";
- }
- } else {
- if($status == 0) {
- //Show both:
- $query="SELECT servers.server_name, servers.type, hits, donated, votes, status, last_checked, info.type2 FROM servers INNER JOIN info USING ( server_name ) WHERE servers.server_name LIKE '".$enteredText."%' ORDER BY servers.$sortby DESC LIMIT 30";
- } else {
- //Show online only:
- $query="SELECT servers.server_name, servers.type, hits, donated, votes, status, last_checked, info.type2 FROM servers INNER JOIN info USING ( server_name ) WHERE servers.server_name LIKE '".$enteredText."%' AND servers.status = '1' ORDER BY servers.$sortby DESC LIMIT 30";
- }
- }
- $rt=mysql_query($query);
- echo mysql_error();
- echo " <table border='1' class='content' width='100%'>
- <tr>
- <td align='center'><font size=4>Server Name</td>
- <td align='center'>Votes</td>
- <td align='center'>Status</td>
- <td align='center'>Hits</td>
- <td align='center'>Type</td>
- <td align='center'>Donated</td>
- <td align='center'>Last checked</font></td>
- </tr>";
- while($nt = mysql_fetch_array($rt)){
- echo " <tr>";
- if($nt[type2] != 0) {
- if($nt[type2] == 2) {
- echo "<td style='background-image: url(".urldecode('img%2Finfo%2Ftypes%2F').$nt[type2].".png); background-size:27px 28px; background-position:left center; background-repeat:no-repeat; font-size: 11pt' align='center'><a href='info.php?server=$nt[server_name]'>$nt[server_name]</a></td>";
- } else {
- echo "<td style='background-image: url(".urldecode('img%2Finfo%2Ftypes%2F').$nt[type2].".gif); background-size:27px 28px; background-position:left center; background-repeat:no-repeat; font-size: 11pt' align='center'><a href='info.php?server=$nt[server_name]'>$nt[server_name]</a></td>";
- }
- } else {
- echo "<td style=']font-size: 11pt' align='center'><a href='info.php?server=$nt[server_name]'>$nt[server_name]</a></td>";
- }
- echo "<td style='font-size: 11pt' align='center'>$nt[votes]</td>
- <td style='font-size: 11pt' align='center'>";
- if($nt[status] == 1) {
- echo "<font style='text-shadow: 0.0em 0.0em 0.5em #00FF00;' color='#00FF00'>Online</font>";
- } else {
- echo "<font style='text-shadow: 0.0em 0.0em 0.5em #CC0000;' color='#CC0000'>Offline</font>";
- }
- echo "</td>
- <td style='font-size: 11pt' align='center'>$nt[hits]</td>";
- if($nt[type] == 1) {
- echo "<td style='font-size: 11pt' align='center'><font style='text-shadow: 0.0em 0.0em 0.5em #996600;'>Gold</font></td>";
- } else if($nt[type] == 0) {
- echo "<td style='font-size: 11pt' align='center'>Free</td>";
- }
- echo "<td style='font-size: 11pt' align='center'>$nt[donated]</td>
- <td style='font-size: 11pt' align='center'>";
- if($nt[last_checked] !== 0) {
- echo "<font size=1>".date('D M j G:i:s T Y', $nt[last_checked])."</font>";
- } else {
- echo "Never";
- }
- echo "</td>
- </tr>";
- }
- echo "</table>";
- }
- function showMiniToplist() {
- mysql_select_db($mysql_database);
- $query="SELECT server_name, votes, status FROM servers ORDER BY votes DESC LIMIT 40"; //LIMIT $limit
- $rt=mysql_query($query);
- echo mysql_error();
- echo " <table border='1' width='100%'>
- <tr>
- <td align='center'>Server</td>
- <td align='center'>Votes</td>
- <td align='center'>Status</td>
- </tr>";
- while($nt = mysql_fetch_array($rt)){
- echo " <tr>
- <td style='font-size: 11pt' align='center'><a href='info.php?server=$nt[server_name]'>$nt[server_name]</a></td>";
- echo "<td style='font-size: 11pt' align='center'>$nt[votes]</td>
- <td style='font-size: 11pt' align='center'>";
- if($nt[status] == 1) {
- echo "<font style='text-shadow: 0.0em 0.0em 0.5em #00FF00;' color='#00FF00'>Online</font>";
- } else {
- echo "<font style='text-shadow: 0.0em 0.0em 0.5em #CC0000;' color='#CC0000'>Offline</font>";
- }
- echo "</td></tr>";
- }
- echo "</table>";
- }
- function getType2($type_no, $donated) {
- if($type == 0 && $donated < $premium_amount) {
- return "Free";
- } else if ($type == 0 && $donated >= $premium_amount) {
- return "<font style='text-shadow: 0.0em 0.0em 0.5em #C0C0C0;'>Premium</font>";
- }
- if($type == 1) {
- return "<font style='text-shadow: 0.0em 0.0em 0.5em #996600;'>Gold</font>";
- }
- if($type == 2) {
- return "<font style='text-shadow: 0.0em 0.0em 0.5em #FFFFFF;'>Platinum</font>";
- }
- return "Free";
- }
- function ping($ip, $port, $type) {
- //Returns either 'Online' or 'Offline' in green/red :D
- $up = @fsockopen($ip, $port, $errno, $errstr, 1); //1 second timeout so script doesn't hang
- if($up)
- {
- if($type == 0) {
- return "[Online]";
- } else {
- return 1;
- }
- } else {
- if($type == 0) {
- return "[Offline]";
- } else {
- return 0;
- }
- }
- }
- function topDonator($type) {
- mysql_select_db($mysql_database);
- $query="SELECT server_name FROM servers ORDER BY donated DESC LIMIT 1";
- $rt=mysql_query($query);
- echo mysql_error();
- while($nt = mysql_fetch_array($rt)){
- if ($type = "redirect") {
- header("Location: play.php?server=".$nt[server_name]); //Redirect :D
- } else {
- return $nt[server_name]; //Just print
- }
- }
- }
- function appletParams($server, $detail) {
- //Prints out the respective parameters.
- //Now added Loader functionality for different client bases :D
- //MSQL Shit:
- mysql_select_db($mysql_database);
- $check = mysql_query("SELECT * FROM servers WHERE server_name = '".$server."' LIMIT 1")or die(mysql_error());
- while($info = mysql_fetch_array( $check ))
- {
- if ($info[loader] == "") {
- $loader = "bin/delta_loader.jar";
- } else {
- $loader = $info[loader];
- }
- echo "
- <applet name=client width=765 height=503 archive='$loader' code='client.class'>
- <PARAM name='java_arguments' value='-Xmx700m'>
- <PARAM name='server_name' value='$info[server_name]'>
- <PARAM name='detail' value='$detail'>
- <PARAM name='ip' value='$info[ip]'>
- <PARAM name='port' value='$info[port]'>
- <PARAM name='background_image' value='$info[bg_image]'>
- <PARAM name='headicons' value='$info[headicons]'>
- </applet>";
- }
- }
- function appletParams2($server, $detail) {
- //Prints out the respective parameters. on one line for javascripts!
- //MSQL Shit:
- mysql_select_db($mysql_database);
- $check = mysql_query("SELECT * FROM servers WHERE server_name = '".$server."' LIMIT 1")or die(mysql_error());
- while($info = mysql_fetch_array( $check ))
- {
- if ($info[loader] == "") {
- $loader = "bin/delta_loader.jar";
- } else {
- $loader = $info[loader];
- }
- echo "<applet name=client width=765 height=503 archive='$loader' code='client.class'><PARAM name='java_arguments' value='-Xmx700m'><PARAM name='server_name' value='$info[server_name]'><PARAM name='detail' value='$detail'><PARAM name='ip' value='$info[ip]'><PARAM name='port' value='$info[port]'><PARAM name='background_image' value='$info[bg_image]'><PARAM name='headicons' value='$info[headicons]'></applet>";
- }
- }
- function get_server_info($server) {
- mysql_select_db($mysql_database);
- $check = mysql_query("SELECT info FROM rspsorg1_tobex.info WHERE server_name = '".$server."' LIMIT 1")or die(mysql_error());
- while($info = mysql_fetch_array( $check ))
- {
- return $info[info];
- }
- }
- function get_info($cell, $server) {
- mysql_select_db($mysql_database);
- $check = mysql_query("SELECT ".$cell." FROM servers WHERE server_name = '".$server."' LIMIT 1")or die(mysql_error());
- while($info = mysql_fetch_array( $check ))
- {
- return $info[$cell];
- }
- }
- function menu($server) {
- mysql_select_db($mysql_database);
- $check = mysql_query("SELECT homepage FROM servers WHERE server_name = '".$server."' LIMIT 1")or die(mysql_error());
- while($info = mysql_fetch_array( $check ))
- {
- //Make sure and 'homepage' is not null; if it is, dont make a button.
- if ($info[homepage] != "none" && $info[homepage] != "") {
- echo "<a id='home' href='$info[homepage]' target='_blank'>
- Home
- </a> ";
- }
- }
- }
- function is_port($port, $server) {
- //If port is set to $port, return 'selected', for drop down list in edit function.
- if (get_info('port', $server) == $port) {
- return "selected";
- } else {
- }
- }
- function is_headicon($headicons, $server) {
- //If headicons is set to $headicons, return 'selected', for drop down list in edit function.
- if (get_info('headicons', $server) == $headicons) {
- return "selected";
- } else {
- }
- }
- function is_loader($loader, $server) {
- //If loader is set to $loader, return 'selected', for drop down list in edit function.
- if (get_info('loader', $server) == $loader) {
- return "selected";
- } else {
- }
- }
- function init() {
- //everything to be checked on every page, you could add IP banning here etc.
- if(isset($_COOKIE['server'])) {
- //Server is logged in, check for invalid server names
- if(!validateServer($_COOKIE['server'])) {
- header("Location: login.php?logout");
- }
- }
- /* START OF SECURITY & OTHER FUNCTIONS */
- function cleanQuery($string)
- {
- if(get_magic_quotes_gpc()) // prevents duplicate backslashes
- {
- $string = stripslashes($string);
- }
- if (phpversion() >= '4.3.0')
- {
- $string = mysql_real_escape_string($string);
- }
- else
- {
- $string = mysql_escape_string($string);
- }
- return $string;
- }
- function contains($str, $content, $ignorecase=true){
- if ($ignorecase){
- $str = strtolower($str);
- $content = strtolower($content);
- }
- $position = strpos($str, $content);
- if ($position === false) {
- return false;
- } else {
- return true;
- }
- }
- function StartsWith($Haystack, $Needle){
- // Recommended version, using strpos
- return strpos($Haystack, $Needle) === 0;
- }
- function endsWith($haystack,$needle,$case=true) {
- if($case){return (strcmp(substr($haystack, strlen($haystack) - strlen($needle)),$needle)===0);}
- return (strcasecmp(substr($haystack, strlen($haystack) - strlen($needle)),$needle)===0);
- }
- /* Credits to Elliot White for the following code */
- function count_days( $a, $b )
- {
- // First we need to break these dates into their constituent parts:
- $gd_a = getdate( $a );
- $gd_b = getdate( $b );
- // Now recreate these timestamps, based upon noon on each day
- // The specific time doesn't matter but it must be the same each day
- $a_new = mktime( 12, 0, 0, $gd_a['mon'], $gd_a['mday'], $gd_a['year'] );
- $b_new = mktime( 12, 0, 0, $gd_b['mon'], $gd_b['mday'], $gd_b['year'] );
- // Subtract these two numbers and divide by the number of seconds in a
- // day. Round the result since crossing over a daylight savings time
- // barrier will cause this time to be off by an hour or two.
- return round( abs( $a_new - $b_new ) / 86400 );
- }
- function strpos_array($haystack, $needles) {
- if ( is_array($needles) ) {
- foreach ($needles as $str) {
- if ( is_array($str) ) {
- $pos = strpos_array($haystack, $str);
- } else {
- $pos = strpos($haystack, $str);
- }
- if ($pos !== FALSE) {
- return $pos;
- }
- }
- } else {
- return strpos($haystack, $needles);
- }
- }
- // Time format is UNIX timestamp or
- // PHP strtotime compatible strings
- function dateDiff($time1, $time2, $precision = 6) {
- // If not numeric then convert texts to unix timestamps
- if (!is_int($time1)) {
- $time1 = strtotime($time1);
- }
- if (!is_int($time2)) {
- $time2 = strtotime($time2);
- }
- // If time1 is bigger than time2
- // Then swap time1 and time2
- if ($time1 > $time2) {
- $ttime = $time1;
- $time1 = $time2;
- $time2 = $ttime;
- }
- // Set up intervals and diffs arrays
- $intervals = array('year','month','day','hour','minute','second');
- $diffs = array();
- // Loop thru all intervals
- foreach ($intervals as $interval) {
- // Set default diff to 0
- $diffs[$interval] = 0;
- // Create temp time from time1 and interval
- $ttime = strtotime("+1 " . $interval, $time1);
- // Loop until temp time is smaller than time2
- while ($time2 >= $ttime) {
- $time1 = $ttime;
- $diffs[$interval]++;
- // Create new temp time from time1 and interval
- $ttime = strtotime("+1 " . $interval, $time1);
- }
- }
- $count = 0;
- $times = array();
- // Loop thru all diffs
- foreach ($diffs as $interval => $value) {
- // Break if we have needed precission
- if ($count >= $precision) {
- break;
- }
- // Add value and interval
- // if value is bigger than 0
- if ($value > 0) {
- // Add s if value is not 1
- if ($value != 1) {
- $interval .= "s";
- }
- // Add value and interval to times array
- $times[] = $value . " " . $interval;
- $count++;
- }
- }
- // Return string with times
- return implode(", ", $times);
- }
- function ReplaceVulnFix($input) {
- $input = str_replace("<", "", $input);
- $input = str_replace(">", "", $input);
- $input = mysql_real_escape_string($input);
- return $input;
- }
- function _ago($tm,$rcs = 0) {
- $cur_tm = time();
- $dif = $cur_tm-$tm;
- $pds = array('second','minute','hour','day','week','month','year','decade');
- $lngh = array(1,60,3600,86400,604800,2630880,31570560,315705600);
- for($v = sizeof($lngh)-1; ($v >= 0)&&(($no = $dif/$lngh[$v])<=1); $v--); if($v < 0) $v = 0; $_tm = $cur_tm-($dif%$lngh[$v]);
- $no = floor($no); if($no <> 1) $pds[$v] .='s'; $x=sprintf("%d %s ",$no,$pds[$v]);
- if(($rcs == 1)&&($v >= 1)&&(($cur_tm-$_tm) > 0)) $x .= time_ago($_tm);
- return $x;
- }
- function image_exists($url)
- {
- /* $info = @getimagesize(urlencode($url));
- return((bool) $info); */
- if (@fclose(@fopen($url, "r"))) {
- return true;
- } else {
- return false;
- }
- }
- function url_exists($url) {
- $hdrs = @get_headers($url);
- return is_array($hdrs) ? preg_match('/^HTTP\\/\\d+\\.\\d+\\s+2\\d\\d\\s+.*$/',$hdrs[0]) : false;
- }
- function BBCode($string) {
- //Converts BB to HTML
- $search = array(
- '@\[(?i)b\](.*?)\[/(?i)b\]@si',
- '@\[(?i)i\](.*?)\[/(?i)i\]@si',
- '@\[(?i)u\](.*?)\[/(?i)u\]@si',
- '@\[(?i)img\](.*?)\[/(?i)img\]@si',
- '@\[(?i)url=(.*?)\](.*?)\[/(?i)url\]@si',
- '@\[(?i)code\](.*?)\[/(?i)code\]@si'
- );
- $replace = array(
- '<b>\\1</b>',
- '<i>\\1</i>',
- '<u>\\1</u>',
- '<img src="\\1">',
- '<a href="\\1">\\2</a>',
- '<code>\\1</code>'
- );
- return preg_replace($search , $replace, $string);
- }
- function cleanHTML($code) {
- $code = strip_tags($code);//Strip tags
- $code = preg_replace('/[^(\x20-\x7F)]*/','', $code); //Strip non-ascii characters
- $theBad = array("“","”","‘","’","…","—","–","<",">","rspscoding","rscoding","apache");
- $theGood = array("\"","\"","'","'","...","-","-","","","google","google","queer");
- $code = str_replace($theBad,$theGood,$code);
- return $code;
- }
- /* START OF 2.0 FUNCTIONS */
- function status($status_int) {
- //Display "Online" or "Offline" from a status int
- if($status_int == 1) {
- return "<font color='green'>Online</font>";
- } else {
- return "<font color='red'>Offline</font>";
- }
- }
- function rating($votes, $hits) {
- //Gets a servers rating calculated from the votes and hits
- //Formula: Votes/100 + Hits/1000
- $votes = $votes / 100;
- $hits = $hits / 1000;
- $total = $votes + $hits;
- return $total;
- }
- function verifyServer($server, $ip, $port) {
- /* Verifies a server's name, makes sure it can be used to signup
- 1 = Invalid server name
- 2 = Server already exists
- 3 = IP has been used 5 or more times
- 4 = Server is offline, but all else is good
- 5 = Server is online, all is good
- */
- if(validateServer($server)) {
- if(numRows("servers", "server_name", $server) == 0) {
- if(numRows("servers", "ip", $ip) < 5) {
- if(ping($ip, $port, 1) == 1) {
- return 5;
- } else {
- return 4;
- }
- } else {
- return 3;
- }
- } else {
- return 2;
- }
- } else {
- return 1;
- }
- }
- function numRows($table, $column, $value) {
- //Returns number of rows matching the criteria
- mysql_select_db($mysql_database);
- $query="SELECT ".$column." FROM ".$table." WHERE ".$column." = '".$value."'";
- $rt=mysql_query($query) or die(mysql_error());
- return mysql_num_rows($rt);
- }
- function getPlayersOnline($server_name) {
- //Count players online
- //mysql_select_db($mysql_database);
- $sql3 = "SELECT * FROM user_online WHERE server_name = '$server_name'";
- $result3 = mysql_query($sql3) or die("Error: ".mysql_error());
- $count_user_online = mysql_num_rows($result3);
- return $count_user_online;
- }
- function getMostPopular($limit) {
- //Get the most popular private servers
- $result = mysql_query("SELECT server_name, COUNT(server_name) AS countPlayers FROM user_online GROUP BY server_name ORDER BY countPlayers DESC LIMIT $limit");
- if($limit == 1) {
- $row = mysql_fetch_assoc($result);
- $players = mysql_num_rows($result);
- return "".$row['server_name']."(".$row['countPlayers'].")";
- } else {
- $string = ""; //Default string
- $players = mysql_num_rows($result);
- while ($row = mysql_fetch_array($result)) {
- $string .= "<li><a href='play.php?server=".$row['server_name']."'>".$row['server_name']."</a>(".$row['countPlayers'].")</li>";
- }
- return $string;
- }
- }
- function randomScreenshot() {
- //Just display a random screenshot - simple!
- $result = mysql_query("SELECT * FROM screenshots ORDER BY RAND() LIMIT 1");
- $row = mysql_fetch_assoc($result);
- return "<img src='".$row[img]."' width=110 height=50>";
- }
- function get_pinfo($cell, $server) {
- mysql_select_db($mysql_database);
- $check = mysql_query("SELECT ".$cell." FROM playershare WHERE server_name = '".$server."' LIMIT 1")or die(mysql_error());
- while($info = mysql_fetch_array( $check ))
- {
- return $info[$cell];
- }
- }
- function checkLink($url) {
- if(strpos($url, "http://") !== false) {
- return $url;
- } else {
- return "http://".$url;
- }
- }
- function category($int) {
- if($int == 0) {
- return "Not Specified";
- } else if($int == 1) {
- return "Player Killing";
- } else if($int == 2) {
- return "Skilling";
- } else if($int == 3) {
- return "Economy";
- } else if($int == 4) {
- return "Spawning";
- }
- }
- function type($int) {
- if($int == 1) {
- return "Gold";
- } else {
- return "Free";
- }
- }
- function screenshots($server) {
- $string = "";
- $result = mysql_query("SELECT img, description, time FROM screenshots WHERE server_name = '".$server."'") or die(mysql_error());
- // keeps getting the next row until there are no more to get
- while($row = mysql_fetch_array( $result )) {
- $string .= "<li><a id='gallery' href='".$row['img']."' title='".$row['description']." ("._ago($row['time'])." ago)'><img src='".$row['img']."' width=60 height=60 /></a></li>";
- }
- return $string;
- }
- function owner($string) {
- if($string != NULL && $string != "") {
- return $string;
- } else {
- return "[none]";
- }
- }
- function setOwner() {
- //Sets the owner of a server
- if (!$context['user']['is_guest']) {
- //User is logged into the forums
- }
- }
- function smfInfo($userId, $whatYouWant) {
- //Get the Users imformation
- $id = $userId;
- loadMemberData($id, false, 'normal');
- loadMemberData($id);
- loadMemberContext($id);
- //'name'
- $result = $memberContext[$id][$whatYouWant];
- }
- function createServer($server, $password, $email, $ip, $port, $embedApplet) {
- $resetCode = time(); //Timestamp of when the row was inserted
- $sql = "INSERT INTO servers (server_name, password, email, ip, port, embed_applet, reset_code) VALUES ('$server', '$password', '$email', '$ip', '$port', '$embedApplet', '$resetCode')";
- if (!mysql_query($sql)) {
- die('Error: ' . mysql_error());
- }
- return $resetCode;
- }
- function getData($what, $where, $server) {
- //Get data
- $result = mysql_query("SELECT ".$what." FROM ".$where." WHERE server_name = '".$server."' LIMIT 1");
- $row = mysql_fetch_assoc($result);
- return $row[$what];
- }
- function checkPort($port, $listPort) {
- //If port is set to $port, return 'selected', for drop down list in edit function.
- if ($port == $listPort) {
- return " selected";
- } else {
- }
- }
- function checkCategory($category, $listCategory) {
- //If category is set to $category, return 'selected', for drop down list in edit function.
- if ($category == $listCategory) {
- return " selected";
- } else {
- }
- }
- }
- function add_playershare($hours, $server_name, $reset_hits=false) {
- mysql_select_db($mysql_database);
- //Check if server already has playershare, if it does, just top it up, if not, create new entry.
- $result = mysql_query("SELECT count(*) as numrecords FROM `playershare` WHERE server_name = '$server_name'") or die ('Queryproblem checing esisting record.');
- $row = mysql_fetch_assoc($result);
- if ($row['numrecords'] >= 1) {
- //Already using playershare, just top it up
- $hours2 = $hours * 3600; //multiply hours by 1 hour
- //Optional reset hits utility
- if($reset_hits = true) {
- $hits = ", hits = 0";
- } else {
- $hits = "";
- }
- if(mysql_query("UPDATE `playershare` SET expires = expires + $hours2".$hits." WHERE server_name='$server_name'")) {
- return true;
- } else {
- return false;
- }
- } else {
- //Not using playershare, create new row
- $expires = mktime(date("H")+$hours, date("i"), date("s"), date("m"), date("d"), date("Y"));
- if(mysql_query("INSERT INTO `playershare` (`server_name`, `expires`, `hits`) VALUES ('$server_name', '$expires', '0')")) {
- return true;
- } else {
- return false;
- }
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment