Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on Mar 16th, 2013  |  syntax: PHP  |  size: 13.58 KB  |  views: 68  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. <?php
  2.          include("db.class.php");
  3.        
  4.          class VoteClass extends Database {
  5.                
  6.                 function __construct() {
  7.                         parent::__construct();
  8.             }
  9.        
  10.                 public function table_exists($table, $db) {
  11.                         $tables = mysql_list_tables($db);
  12.                         while (list ($temp) = mysql_fetch_array ($tables)) {
  13.                                 if ($temp == $table) {
  14.                                         return 1;
  15.                                 }
  16.                         }
  17.                 }
  18.                
  19.                 public function isInstalled() {
  20.                         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) {
  21.                                 return 0;
  22.                         } else {
  23.                                 return 1;
  24.                         }
  25.                 }
  26.        
  27.         public function hasVotedInLast12() {
  28.             $ip = gethostbyname($_SERVER['REMOTE_ADDR']);
  29.                         $query = "SELECT UNIX_TIMESTAMP(time) as time FROM `votes` WHERE  UNIX_TIMESTAMP(NOW()) < UNIX_TIMESTAMP(time)+43200 AND `ip` = '".$ip."'";
  30.             $result = mysql_query($query);
  31.             if (mysql_num_rows($result) > 0) {
  32.                 $result = mysql_fetch_assoc($result);                    
  33.                 return $result["time"];
  34.             } else {
  35.                 return -1;
  36.             }
  37.         }
  38.        
  39.         public function hasVoted() {
  40.             $ip = gethostbyname($_SERVER['REMOTE_ADDR']);
  41.                         $query = "SELECT UNIX_TIMESTAMP(time) as time FROM `votes` WHERE  UNIX_TIMESTAMP(NOW()) < UNIX_TIMESTAMP(time)+43200 AND `ip` = '".$ip."'";
  42.             $result = mysql_query($query);
  43.             if (mysql_num_rows($result) > 0) {
  44.                 $result = mysql_fetch_assoc($result);                    
  45.                 return $result["time"];
  46.             } else {
  47.                 return -1;
  48.             }
  49.         }
  50.        
  51.         function createCId($length) {
  52.             $chars = "abcdefghijkmnopqrstuvwxyz023456789";
  53.             srand((double)microtime()*1000000);
  54.             $i = 0;
  55.             $pass = '' ;
  56.             while ($i < $length) {
  57.                 $num = rand() % 33;
  58.                 $tmp = substr($chars, $num, 1);
  59.                 $pass = $pass . $tmp;
  60.                 $i++;
  61.             }
  62.             return $pass;
  63.         }
  64.        
  65.         public function getHeader($sn){
  66.                 echo '<!-- Powered by GamingToplist.net -->
  67. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  68. <html xmlns="http://www.w3.org/1999/xhtml">
  69.         <head>
  70.                 <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  71.                 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  72.                 <title>'. $sn .' - Voting</title>
  73.                 <link rel="stylesheet" type="text/css" href="css/theme.php" />
  74.                 <!--[if IE]>
  75.                   <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  76.                 <![endif]-->
  77.                
  78.                
  79.                 <link rel="stylesheet" type="text/css" href="css/jquery.noty.css"/>
  80.                 <link rel="stylesheet" type="text/css" href="css/noty_theme_default.css"/>
  81.         </head>
  82.         <body>
  83.         <div id="page-wrap">
  84.         <header>
  85.           <h1>'.$sn.' Voting</h1>
  86.         </header>';
  87.         }
  88.                
  89.         public function getUserDetails(){
  90.                         $arr = array('timeLastVoted' => 0, 'hasVotedOnAllLinks' => 0);
  91.                         $query = "SELECT `time` FROM `has_voted` WHERE `ip` = '" . $_SERVER['REMOTE_ADDR'] . "' ORDER BY time ASC LIMIT 1";
  92.             $result = mysql_query($query);
  93.                         if ($row = mysql_fetch_assoc($result)) {
  94.                                 $arr["timeLastVoted"] = $row['time'];
  95.                         }
  96.                         $arr["hasVotedOnAllLinks"] = $this->hasVotedAllLinks() ? 1 : 0;
  97.                         echo json_encode($arr);
  98.         }
  99.                
  100.                 public function getVoteTime(){
  101.                         $ip = $_SERVER['REMOTE_ADDR'];
  102.             $result = mysql_query("SELECT UNIX_TIMESTAMP(time) as time FROM `has_voted` WHERE  UNIX_TIMESTAMP(NOW()) < UNIX_TIMESTAMP(time)+43200 AND `ip` = '".$ip."'");
  103.             if ($row = mysql_fetch_assoc($result)) {
  104.                                 return $row['time'];
  105.                         }
  106.                         return -1;
  107.                 }
  108.                
  109.                 public function setAsVoted($reward,$username){
  110.                         $ip = $_SERVER['REMOTE_ADDR'];
  111.                         $reward = mysql_real_escape_string($reward);
  112.                         $username = mysql_real_escape_string($username);
  113.                         mysql_query("INSERT INTO `has_voted` (`ip`, `rewardid`, `username`) VALUES ('".$ip."', '".$reward."', '".$username."')");
  114.                         mysql_query("DELETE FROM `voting_verification` WHERE `ip`='".$ip."'");
  115.                 }
  116.                
  117.                 public function hasVotedAllLinks(){
  118.                         $totalsites = 0; $totalvotes = 0;
  119.             $result = mysql_query("SELECT COUNT(*) FROM `sites`");
  120.                         if ($row = mysql_fetch_assoc($result)){
  121.                                 $totalsites = $row['COUNT(*)'];
  122.                         }
  123.             $result = mysql_query("SELECT COUNT(*) FROM `voting_verification` WHERE `ip` = '" . $_SERVER['REMOTE_ADDR'] . "'");
  124.             if ($row = mysql_fetch_assoc($result)) {
  125.                                 $totalvotes = $row['COUNT(*)'];
  126.                         }
  127.  
  128.  
  129.                         $callbacks = 0;
  130.                         if($this->ActiveCallback(4)) {
  131.                                 $callbacks++;
  132.                                 $result = mysql_query("SELECT * FROM `voting_verification` WHERE `ip` = '".$_SERVER['REMOTE_ADDR']."' AND `type`='104'");
  133.                                 if(mysql_num_rows($result) == 0) {
  134.                                         mysql_query("REPLACE INTO `failed_votes` (`ip`, `type`) VALUES ('".$_SERVER['REMOTE_ADDR']."','4')");
  135.                                         $result = mysql_query("SELECT COUNT(*) FROM `failed_votes` WHERE `type`='4'");
  136.                                         if ($row = mysql_fetch_assoc($result)) {
  137.                                                 if($row['COUNT(*)'] > 20){
  138.                                                         $totalvotes++;
  139.                                                         $this->setVotingVisted(104);
  140.                                                 }
  141.                                         }
  142.                                 }
  143.                         }
  144.  
  145.                        
  146.                         if($this->ActiveCallback(3)) {
  147.                                 $callbacks++;
  148.                                 $result = mysql_query("SELECT * FROM `voting_verification` WHERE `ip` = '".$_SERVER['REMOTE_ADDR']."' AND `type`='103'");
  149.                                 if(mysql_num_rows($result) == 0) {
  150.                                         mysql_query("REPLACE INTO `failed_votes` (`ip`, `type`) VALUES ('".$_SERVER['REMOTE_ADDR']."','3')");
  151.                                         $result = mysql_query("SELECT COUNT(*) FROM `failed_votes` WHERE `type`='3'");
  152.                                         if ($row = mysql_fetch_assoc($result)) {
  153.                                                 if($row['COUNT(*)'] > 20){
  154.                                                         $totalvotes++;
  155.                                                         $this->setVotingVisted(103);
  156.                                                 }
  157.                                         }
  158.                                 }
  159.                         }
  160.                        
  161.                         if($this->ActiveCallback(2)) {
  162.                                 $callbacks++;
  163.                                 $result = mysql_query("SELECT * FROM `voting_verification` WHERE `ip` = '".$_SERVER['REMOTE_ADDR']."' AND `type`='102'");
  164.                                 if(mysql_num_rows($result) == 0) {
  165.                                         mysql_query("REPLACE INTO `failed_votes` (`ip`, `type`) VALUES ('".$_SERVER['REMOTE_ADDR']."','2')");
  166.                                         $result = mysql_query("SELECT COUNT(*) FROM `failed_votes` WHERE `type`='2'");
  167.                                         if ($row = mysql_fetch_assoc($result)) {
  168.                                                 if($row['COUNT(*)'] > 20){
  169.                                                         $totalvotes++;
  170.                                                         $this->setVotingVisted(102);
  171.                                                 }
  172.                                         }
  173.                                 }
  174.                         }
  175.  
  176.                         $callbacks++;
  177.                         $result = mysql_query("SELECT * FROM `voting_verification` WHERE `ip` = '".$_SERVER['REMOTE_ADDR']."' AND `type`='101'");
  178.                         if(mysql_num_rows($result) == 0) {
  179.                                 mysql_query("REPLACE INTO `failed_votes` (`ip`, `type`) VALUES ('".$_SERVER['REMOTE_ADDR']."','1')");
  180.                                 $result = mysql_query("SELECT COUNT(*) FROM `failed_votes` WHERE `type`='1'");
  181.                                 if ($row = mysql_fetch_assoc($result)) {
  182.                                         if($row['COUNT(*)'] > 20){
  183.                                                 $totalvotes++;
  184.                                                 $this->setVotingVisted(101);
  185.                                         }
  186.                                 }
  187.                         }
  188.  
  189.                         $callbacks++;
  190.                         $result = mysql_query("SELECT * FROM `voting_verification` WHERE `ip` = '" . $_SERVER['REMOTE_ADDR'] . "' AND `type`='100'");
  191.                         if (mysql_num_rows($result) == 0) {
  192.                                 mysql_query("REPLACE INTO `failed_votes` (`ip`, `type`) VALUES ('" . $_SERVER['REMOTE_ADDR'] . "','0')");
  193.                                 $result = mysql_query("SELECT COUNT(*) FROM `failed_votes` WHERE `type`='0'");
  194.                                 if ($row = mysql_fetch_assoc($result)) {
  195.                                         if($row['COUNT(*)'] > 20){
  196.                                                 $totalvotes++;
  197.                                                 $this->setVotingVisted(100);
  198.                                         }
  199.                                 }
  200.                         }
  201.                        
  202.                         return ($totalsites + $callbacks) <= $totalvotes ? true : false;
  203.                 }
  204.                
  205.                 public function showTimeLeft($time){
  206.                         $seconds = $time+43200 - time();
  207.                         $hours = floor($seconds / 3600);
  208.                         $mins = floor(($seconds - ($hours*3600)) / 60);
  209.                         echo '<p>You have already voted today, you will be able to vote in <b>'. $hours .'</b> hours and <b>'. $mins .'</b> minutes.</p>
  210.                         <div id="cntdwn" style="text-align:center;"><input type="button" class="button" id="countdown" value="Show Count Down" OnClick="startCountDown('.$seconds.');" ></div>';
  211.                 }
  212.                
  213.                 public function setVotingVisted($type){
  214.                         $type = mysql_real_escape_string($type);
  215.                         $ip = $_SERVER['REMOTE_ADDR'];
  216.             $result = mysql_query("SELECT * FROM `voting_verification` WHERE `ip` = '".$ip."' AND `type`='".$type."'") or die(mysql_error());
  217.                         if (mysql_num_rows($result) == 0) {
  218.                                 mysql_query("INSERT INTO `voting_verification` (`ip`, `type`) VALUES ('".$ip."', '".$type."')");
  219.                         }
  220.                 }
  221.                
  222.                 public function setSiteVoted($stringip, $type){
  223.                         $type = mysql_real_escape_string($type);
  224.                         if($type == 101) {
  225.                                 $ip = $_SERVER['REMOTE_ADDR'];
  226.                         } else {
  227.                                 $ip = urldecode(base64_decode($stringip));
  228.                         }
  229.                         $query = "SELECT * FROM `voting_verification` WHERE `ip` = '".$ip."' AND `type`='".$type."'";
  230.             $result = mysql_query($query);
  231.                         if (mysql_num_rows($result) == 0) {
  232.                                 mysql_query("INSERT INTO `voting_verification` (`ip`, `type`) VALUES ('".$ip."', '".$type."')");
  233.                         }
  234.                 }
  235.                
  236.                 public function getVotingLink($type){
  237.                         $type = mysql_real_escape_string($type);
  238.             $result = mysql_query("SELECT `url` FROM `sites` WHERE `id`='".$type."'");
  239.                         if ($row = mysql_fetch_assoc($result)) {
  240.                                 return $row['url'] .  ((strpos($row['url'], "runetoplist") !== false || strpos($row['url'], "runelocus") !== false) ? urlencode(base64_encode($_SERVER['REMOTE_ADDR'])) : '');
  241.                         }
  242.                         return null;
  243.                 }
  244.                
  245.                 public function getRuneServerVotingCallback() {
  246.                         $result = 0;
  247.                         $serverIDQuery = mysql_query("SELECT `url` FROM `sites` WHERE `id`='3'") or die(mysql_error());
  248.                         $serverIDArray = mysql_fetch_array($serverIDQuery);
  249.                         $serverID = preg_match('/\d+$/', $serverIDArray[0], $m) ? reset($m) : null ;
  250.                         $HasVoted = file_get_contents("http://www.rune-server.org/toplist.php?do=hasvoted&sid=".$serverID."&ip=".$_SERVER['REMOTE_ADDR']);
  251.                                 if($HasVoted == "true")
  252.                                         return 1;
  253.                                 else
  254.                                         return 0;
  255.                 }
  256.  
  257.                 public function ActiveCallback($site) {
  258.                         $query = mysql_query("SELECT `callback` FROM `sites` WHERE `id`='".$site."'") or die(mysql_error());
  259.                         $callback = mysql_fetch_array($query);
  260.  
  261.                         if($callback[0] == 1)
  262.                                 return true;
  263.                         else
  264.                                 return false;
  265.                 }
  266.  
  267.                 public function getTop100ArenaVotingCallback() {
  268.                         $serverIDQuery = mysql_query("SELECT `url` FROM `sites` WHERE `id`='4'") or die(mysql_error());
  269.                         $serverIDArray = mysql_fetch_array($serverIDQuery);
  270.                         $serverID = preg_match('/\d+$/', $serverIDArray[0], $m) ? reset($m) : null ;
  271.                         $HasVoted = file_get_contents("http://www.top100arena.com/check_ip.asp?id=".$serverID."&ip=".$_SERVER['REMOTE_ADDR']);
  272.                         return $HasVoted;
  273.                 }
  274.                
  275.                 public function getGTLVotingCallback() {
  276.                         $result = 0;
  277.                         $GTLQ = mysql_query("SELECT `value` FROM `settings` WHERE `id`='3'") or die(mysql_error());
  278.                         $serverIDQuery = mysql_query("SELECT `url` FROM `sites` WHERE `id`='1'") or die(mysql_error());
  279.                         $GTL = mysql_fetch_array($GTLQ);
  280.                         $serverIDArray = mysql_fetch_array($serverIDQuery);
  281.                         $serverID = preg_match('/\d+$/', $serverIDArray[0], $m) ? reset($m) : null ;
  282.                         $xmlFileLink = simplexml_load_file("http://gamingtoplist.net/resources/GTLVote/callback.php?server=".$serverID."&cp=".$GTL[0]);
  283.                         if($xmlFileLink->error) {
  284.                                 if($xmlFileLink->error == "Nobody has voted.") {
  285.                                         $result = 0;
  286.                                 } else {
  287.                                         $result = $xmlFileLink->error;
  288.                                 }
  289.                         } else {
  290.                                 $total = count($xmlFileLink->entry);
  291.                                 for ($i = 0; $i < $total; $i++) {
  292.                                         if($xmlFileLink->entry[$i]->ip == $_SERVER['REMOTE_ADDR']) {
  293.                                                 $result = 1;
  294.                                         }
  295.                                 }
  296.                         }
  297.                         return $result;
  298.                 }
  299.                
  300.                 public function echoVotingButtons(){
  301.             $result = mysql_query("SELECT * FROM `sites` ORDER BY `id` ASC");
  302.                         $i = 0;
  303.                         while ($row = mysql_fetch_assoc($result)) {
  304.                                 $i++;
  305.                                 echo '<li><a target="_blank" href="json/set.php?site='.$row["id"].'">'.$row["name"].'</a></li>';
  306.                                 if($i==5) {
  307.                                         echo '<br>';
  308.                                 }
  309.                         }
  310.                 }
  311.                
  312.                 public function echoRewards(){
  313.             $result = mysql_query("SELECT * FROM `rewards` ORDER BY `id` ASC");
  314.                         while ($row = mysql_fetch_assoc($result)) {
  315.                                 echo '<tr current="'.$row['id'].'">
  316.                                                 <td><input type="radio" name="rewards" value="'.$row['id'].'"></td>
  317.                                                 <td><img src="'.$row['url_to_image'].'" style="width: 32px;height: 32px;"></td>
  318.                                                 <td>'.$row['name'].'</td>
  319.                                                 <td>X '.$this->formatAmount($row['amount']).'</td>
  320.                                         </tr>';
  321.                         }
  322.                 }
  323.                
  324.                
  325.                
  326.                 public function getSetting($setting){
  327.             $setting = mysql_real_escape_string($setting);
  328.                         $result = mysql_query("SELECT `value` FROM `settings` WHERE `setting`='".$setting."'") or die(mysql_error());
  329.                         $ThemeResult = mysql_fetch_array(mysql_query("SELECT `value` FROM `settings` WHERE `setting`='theme'"));
  330.                         if($setting == "theme") {
  331.                                 if(empty($ThemeResult[0])) {
  332.                                         return "default";
  333.                                 } else {
  334.                                         return $ThemeResult[0];
  335.                                 }
  336.                         } else
  337.                         if($row = mysql_fetch_assoc($result)){
  338.                                 return is_numeric($row['value']) ? (int)$row['value'] : $row['value'];
  339.                         }
  340.                         return null;
  341.                 }
  342.                
  343.                 public function formatAmount($n){
  344.                         if($n < 100000){
  345.                                 return '<span title="'.number_format($n).'">'. $n  . '</span>';
  346.                         } else if($n < 1000000) {
  347.                                 return '<span title="'.number_format($n).'">'. floor($n / 1000) . 'K</span>';
  348.                         } else if($n < 1000000000) {
  349.                                 return '<span title="'.number_format($n).'">'. floor($n / 1000000) . 'M</span>';
  350.                         } else if($n < 1000000000000) {
  351.                                 return '<span title="'.number_format($n).'">'. floor($n / 1000000000) . 'B</span>';
  352.                         }
  353.                 }
  354.         }
  355. ?>
clone this paste RAW Paste Data