Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- include("db.class.php");
- class VoteClass extends Database {
- function __construct() {
- parent::__construct();
- }
- public function table_exists($table, $db) {
- $tables = mysql_list_tables($db);
- while (list ($temp) = mysql_fetch_array ($tables)) {
- if ($temp == $table) {
- return 1;
- }
- }
- }
- public function isInstalled() {
- if($this->table_exists('settings', DATABASE_NAME)==0 || $this->table_exists('sites', DATABASE_NAME)==0 || $this->table_exists('voting_verification', DATABASE_NAME)==0 || $this->table_exists('failed_votes', DATABASE_NAME)==0 || $this->table_exists('has_voted', DATABASE_NAME)==0 || $this->table_exists('rewards', DATABASE_NAME)==0 || $this->table_exists('notes', DATABASE_NAME)==0) {
- return 0;
- } else {
- return 1;
- }
- }
- public function hasVotedInLast12() {
- $ip = gethostbyname($_SERVER['REMOTE_ADDR']);
- $query = "SELECT UNIX_TIMESTAMP(time) as time FROM `votes` WHERE UNIX_TIMESTAMP(NOW()) < UNIX_TIMESTAMP(time)+43200 AND `ip` = '".$ip."'";
- $result = mysql_query($query);
- if (mysql_num_rows($result) > 0) {
- $result = mysql_fetch_assoc($result);
- return $result["time"];
- } else {
- return -1;
- }
- }
- public function hasVoted() {
- $ip = gethostbyname($_SERVER['REMOTE_ADDR']);
- $query = "SELECT UNIX_TIMESTAMP(time) as time FROM `votes` WHERE UNIX_TIMESTAMP(NOW()) < UNIX_TIMESTAMP(time)+43200 AND `ip` = '".$ip."'";
- $result = mysql_query($query);
- if (mysql_num_rows($result) > 0) {
- $result = mysql_fetch_assoc($result);
- return $result["time"];
- } else {
- return -1;
- }
- }
- function createCId($length) {
- $chars = "abcdefghijkmnopqrstuvwxyz023456789";
- srand((double)microtime()*1000000);
- $i = 0;
- $pass = '' ;
- while ($i < $length) {
- $num = rand() % 33;
- $tmp = substr($chars, $num, 1);
- $pass = $pass . $tmp;
- $i++;
- }
- return $pass;
- }
- public function getHeader($sn){
- echo '<!-- Powered by GamingToplist.net -->
- <!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" />
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- <title>'. $sn .' - Voting</title>
- <link rel="stylesheet" type="text/css" href="css/theme.php" />
- <!--[if IE]>
- <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link rel="stylesheet" type="text/css" href="css/jquery.noty.css"/>
- <link rel="stylesheet" type="text/css" href="css/noty_theme_default.css"/>
- </head>
- <body>
- <div id="page-wrap">
- <header>
- <h1>'.$sn.' Voting</h1>
- </header>';
- }
- public function getUserDetails(){
- $arr = array('timeLastVoted' => 0, 'hasVotedOnAllLinks' => 0);
- $query = "SELECT `time` FROM `has_voted` WHERE `ip` = '" . $_SERVER['REMOTE_ADDR'] . "' ORDER BY time ASC LIMIT 1";
- $result = mysql_query($query);
- if ($row = mysql_fetch_assoc($result)) {
- $arr["timeLastVoted"] = $row['time'];
- }
- $arr["hasVotedOnAllLinks"] = $this->hasVotedAllLinks() ? 1 : 0;
- echo json_encode($arr);
- }
- public function getVoteTime(){
- $ip = $_SERVER['REMOTE_ADDR'];
- $result = mysql_query("SELECT UNIX_TIMESTAMP(time) as time FROM `has_voted` WHERE UNIX_TIMESTAMP(NOW()) < UNIX_TIMESTAMP(time)+43200 AND `ip` = '".$ip."'");
- if ($row = mysql_fetch_assoc($result)) {
- return $row['time'];
- }
- return -1;
- }
- public function setAsVoted($reward,$username){
- $ip = $_SERVER['REMOTE_ADDR'];
- $reward = mysql_real_escape_string($reward);
- $username = mysql_real_escape_string($username);
- mysql_query("INSERT INTO `has_voted` (`ip`, `rewardid`, `username`) VALUES ('".$ip."', '".$reward."', '".$username."')");
- mysql_query("DELETE FROM `voting_verification` WHERE `ip`='".$ip."'");
- }
- public function hasVotedAllLinks(){
- $totalsites = 0; $totalvotes = 0;
- $result = mysql_query("SELECT COUNT(*) FROM `sites`");
- if ($row = mysql_fetch_assoc($result)){
- $totalsites = $row['COUNT(*)'];
- }
- $result = mysql_query("SELECT COUNT(*) FROM `voting_verification` WHERE `ip` = '" . $_SERVER['REMOTE_ADDR'] . "'");
- if ($row = mysql_fetch_assoc($result)) {
- $totalvotes = $row['COUNT(*)'];
- }
- $callbacks = 0;
- if($this->ActiveCallback(4)) {
- $callbacks++;
- $result = mysql_query("SELECT * FROM `voting_verification` WHERE `ip` = '".$_SERVER['REMOTE_ADDR']."' AND `type`='104'");
- if(mysql_num_rows($result) == 0) {
- mysql_query("REPLACE INTO `failed_votes` (`ip`, `type`) VALUES ('".$_SERVER['REMOTE_ADDR']."','4')");
- $result = mysql_query("SELECT COUNT(*) FROM `failed_votes` WHERE `type`='4'");
- if ($row = mysql_fetch_assoc($result)) {
- if($row['COUNT(*)'] > 20){
- $totalvotes++;
- $this->setVotingVisted(104);
- }
- }
- }
- }
- if($this->ActiveCallback(3)) {
- $callbacks++;
- $result = mysql_query("SELECT * FROM `voting_verification` WHERE `ip` = '".$_SERVER['REMOTE_ADDR']."' AND `type`='103'");
- if(mysql_num_rows($result) == 0) {
- mysql_query("REPLACE INTO `failed_votes` (`ip`, `type`) VALUES ('".$_SERVER['REMOTE_ADDR']."','3')");
- $result = mysql_query("SELECT COUNT(*) FROM `failed_votes` WHERE `type`='3'");
- if ($row = mysql_fetch_assoc($result)) {
- if($row['COUNT(*)'] > 20){
- $totalvotes++;
- $this->setVotingVisted(103);
- }
- }
- }
- }
- if($this->ActiveCallback(2)) {
- $callbacks++;
- $result = mysql_query("SELECT * FROM `voting_verification` WHERE `ip` = '".$_SERVER['REMOTE_ADDR']."' AND `type`='102'");
- if(mysql_num_rows($result) == 0) {
- mysql_query("REPLACE INTO `failed_votes` (`ip`, `type`) VALUES ('".$_SERVER['REMOTE_ADDR']."','2')");
- $result = mysql_query("SELECT COUNT(*) FROM `failed_votes` WHERE `type`='2'");
- if ($row = mysql_fetch_assoc($result)) {
- if($row['COUNT(*)'] > 20){
- $totalvotes++;
- $this->setVotingVisted(102);
- }
- }
- }
- }
- $callbacks++;
- $result = mysql_query("SELECT * FROM `voting_verification` WHERE `ip` = '".$_SERVER['REMOTE_ADDR']."' AND `type`='101'");
- if(mysql_num_rows($result) == 0) {
- mysql_query("REPLACE INTO `failed_votes` (`ip`, `type`) VALUES ('".$_SERVER['REMOTE_ADDR']."','1')");
- $result = mysql_query("SELECT COUNT(*) FROM `failed_votes` WHERE `type`='1'");
- if ($row = mysql_fetch_assoc($result)) {
- if($row['COUNT(*)'] > 20){
- $totalvotes++;
- $this->setVotingVisted(101);
- }
- }
- }
- $callbacks++;
- $result = mysql_query("SELECT * FROM `voting_verification` WHERE `ip` = '" . $_SERVER['REMOTE_ADDR'] . "' AND `type`='100'");
- if (mysql_num_rows($result) == 0) {
- mysql_query("REPLACE INTO `failed_votes` (`ip`, `type`) VALUES ('" . $_SERVER['REMOTE_ADDR'] . "','0')");
- $result = mysql_query("SELECT COUNT(*) FROM `failed_votes` WHERE `type`='0'");
- if ($row = mysql_fetch_assoc($result)) {
- if($row['COUNT(*)'] > 20){
- $totalvotes++;
- $this->setVotingVisted(100);
- }
- }
- }
- return ($totalsites + $callbacks) <= $totalvotes ? true : false;
- }
- public function showTimeLeft($time){
- $seconds = $time+43200 - time();
- $hours = floor($seconds / 3600);
- $mins = floor(($seconds - ($hours*3600)) / 60);
- echo '<p>You have already voted today, you will be able to vote in <b>'. $hours .'</b> hours and <b>'. $mins .'</b> minutes.</p>
- <div id="cntdwn" style="text-align:center;"><input type="button" class="button" id="countdown" value="Show Count Down" OnClick="startCountDown('.$seconds.');" ></div>';
- }
- public function setVotingVisted($type){
- $type = mysql_real_escape_string($type);
- $ip = $_SERVER['REMOTE_ADDR'];
- $result = mysql_query("SELECT * FROM `voting_verification` WHERE `ip` = '".$ip."' AND `type`='".$type."'") or die(mysql_error());
- if (mysql_num_rows($result) == 0) {
- mysql_query("INSERT INTO `voting_verification` (`ip`, `type`) VALUES ('".$ip."', '".$type."')");
- }
- }
- public function setSiteVoted($stringip, $type){
- $type = mysql_real_escape_string($type);
- if($type == 101) {
- $ip = $_SERVER['REMOTE_ADDR'];
- } else {
- $ip = urldecode(base64_decode($stringip));
- }
- $query = "SELECT * FROM `voting_verification` WHERE `ip` = '".$ip."' AND `type`='".$type."'";
- $result = mysql_query($query);
- if (mysql_num_rows($result) == 0) {
- mysql_query("INSERT INTO `voting_verification` (`ip`, `type`) VALUES ('".$ip."', '".$type."')");
- }
- }
- public function getVotingLink($type){
- $type = mysql_real_escape_string($type);
- $result = mysql_query("SELECT `url` FROM `sites` WHERE `id`='".$type."'");
- if ($row = mysql_fetch_assoc($result)) {
- return $row['url'] . ((strpos($row['url'], "runetoplist") !== false || strpos($row['url'], "runelocus") !== false) ? urlencode(base64_encode($_SERVER['REMOTE_ADDR'])) : '');
- }
- return null;
- }
- public function getRuneServerVotingCallback() {
- $result = 0;
- $serverIDQuery = mysql_query("SELECT `url` FROM `sites` WHERE `id`='3'") or die(mysql_error());
- $serverIDArray = mysql_fetch_array($serverIDQuery);
- $serverID = preg_match('/\d+$/', $serverIDArray[0], $m) ? reset($m) : null ;
- $HasVoted = file_get_contents("http://www.rune-server.org/toplist.php?do=hasvoted&sid=".$serverID."&ip=".$_SERVER['REMOTE_ADDR']);
- if($HasVoted == "true")
- return 1;
- else
- return 0;
- }
- public function ActiveCallback($site) {
- $query = mysql_query("SELECT `callback` FROM `sites` WHERE `id`='".$site."'") or die(mysql_error());
- $callback = mysql_fetch_array($query);
- if($callback[0] == 1)
- return true;
- else
- return false;
- }
- public function getTop100ArenaVotingCallback() {
- $serverIDQuery = mysql_query("SELECT `url` FROM `sites` WHERE `id`='4'") or die(mysql_error());
- $serverIDArray = mysql_fetch_array($serverIDQuery);
- $serverID = preg_match('/\d+$/', $serverIDArray[0], $m) ? reset($m) : null ;
- $HasVoted = file_get_contents("http://www.top100arena.com/check_ip.asp?id=".$serverID."&ip=".$_SERVER['REMOTE_ADDR']);
- return $HasVoted;
- }
- public function getGTLVotingCallback() {
- $result = 0;
- $GTLQ = mysql_query("SELECT `value` FROM `settings` WHERE `id`='3'") or die(mysql_error());
- $serverIDQuery = mysql_query("SELECT `url` FROM `sites` WHERE `id`='1'") or die(mysql_error());
- $GTL = mysql_fetch_array($GTLQ);
- $serverIDArray = mysql_fetch_array($serverIDQuery);
- $serverID = preg_match('/\d+$/', $serverIDArray[0], $m) ? reset($m) : null ;
- $xmlFileLink = simplexml_load_file("http://gamingtoplist.net/resources/GTLVote/callback.php?server=".$serverID."&cp=".$GTL[0]);
- if($xmlFileLink->error) {
- if($xmlFileLink->error == "Nobody has voted.") {
- $result = 0;
- } else {
- $result = $xmlFileLink->error;
- }
- } else {
- $total = count($xmlFileLink->entry);
- for ($i = 0; $i < $total; $i++) {
- if($xmlFileLink->entry[$i]->ip == $_SERVER['REMOTE_ADDR']) {
- $result = 1;
- }
- }
- }
- return $result;
- }
- public function echoVotingButtons(){
- $result = mysql_query("SELECT * FROM `sites` ORDER BY `id` ASC");
- $i = 0;
- while ($row = mysql_fetch_assoc($result)) {
- $i++;
- echo '<li><a target="_blank" href="json/set.php?site='.$row["id"].'">'.$row["name"].'</a></li>';
- if($i==5) {
- echo '<br>';
- }
- }
- }
- public function echoRewards(){
- $result = mysql_query("SELECT * FROM `rewards` ORDER BY `id` ASC");
- while ($row = mysql_fetch_assoc($result)) {
- echo '<tr current="'.$row['id'].'">
- <td><input type="radio" name="rewards" value="'.$row['id'].'"></td>
- <td><img src="'.$row['url_to_image'].'" style="width: 32px;height: 32px;"></td>
- <td>'.$row['name'].'</td>
- <td>X '.$this->formatAmount($row['amount']).'</td>
- </tr>';
- }
- }
- public function getSetting($setting){
- $setting = mysql_real_escape_string($setting);
- $result = mysql_query("SELECT `value` FROM `settings` WHERE `setting`='".$setting."'") or die(mysql_error());
- $ThemeResult = mysql_fetch_array(mysql_query("SELECT `value` FROM `settings` WHERE `setting`='theme'"));
- if($setting == "theme") {
- if(empty($ThemeResult[0])) {
- return "default";
- } else {
- return $ThemeResult[0];
- }
- } else
- if($row = mysql_fetch_assoc($result)){
- return is_numeric($row['value']) ? (int)$row['value'] : $row['value'];
- }
- return null;
- }
- public function formatAmount($n){
- if($n < 100000){
- return '<span title="'.number_format($n).'">'. $n . '</span>';
- } else if($n < 1000000) {
- return '<span title="'.number_format($n).'">'. floor($n / 1000) . 'K</span>';
- } else if($n < 1000000000) {
- return '<span title="'.number_format($n).'">'. floor($n / 1000000) . 'M</span>';
- } else if($n < 1000000000000) {
- return '<span title="'.number_format($n).'">'. floor($n / 1000000000) . 'B</span>';
- }
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement