Guest User

hashrate.php

a guest
Jan 3rd, 2012
403
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. <?php
  2.  
  3. $includeDirectory = "/var/www/includes/";
  4.  
  5. include($includeDirectory."requiredFunctions.php");
  6.  
  7. //Hashrate by worker
  8. $sql = "SELECT IFNULL(sum(a.id),0) as id, p.username FROM pool_worker p LEFT JOIN ".
  9. "((SELECT count(id) as id, username ".
  10. "FROM shares ".
  11. "WHERE time > DATE_SUB(now(), INTERVAL 10 MINUTE) ".
  12. "GROUP BY username) ".
  13. "UNION ".
  14. "(SELECT count(id) as id, username ".
  15. "FROM shares_history ".
  16. "WHERE time > DATE_SUB(now(), INTERVAL 10 MINUTE) ".
  17. "GROUP BY username)) a ".
  18. "ON p.username=a.username ".
  19. "GROUP BY username";
  20. $result = mysql_query($sql);
  21. while ($resultrow = mysql_fetch_object($result)) {
  22. $retarget = 17;
  23. $hashrate = $resultrow->id;
  24. $key = bcpow(2,$retarget) or die("bcpow err");
  25. $hashrate = round((($hashrate*$key)/600)/1000, 3);
  26. mysql_query("UPDATE pool_worker SET hashrate = $hashrate WHERE username = '$resultrow->username'");
  27. }
  28.  
  29. //Total Hashrate (more exact than adding)
  30. $sql = "SELECT sum(a.id) as id FROM ".
  31. "((SELECT count(id) as id FROM shares WHERE time > DATE_SUB(now(), INTERVAL 10 MINUTE)) ".
  32. "UNION ".
  33. "(SELECT count(id) as id FROM shares_history WHERE time > DATE_SUB(now(), INTERVAL 10 MINUTE)) ".
  34. ") a ";
  35. $result = mysql_query($sql);
  36. if ($resultrow = mysql_fetch_object($result)) {
  37. $retarget = 17;
  38. $hashrate = $resultrow->id;
  39. $key = bcpow(2,$retarget) or die("bcpow err");
  40. $hashrate = round((($hashrate*$key)/600)/1000, 3);
  41. mysql_query("UPDATE settings SET value = '$hashrate' WHERE setting='currenthashrate'");
  42. }
  43.  
  44. //Hashrate by user
  45. $sql = "SELECT u.id, IFNULL(sum(p.hashrate),0) as hashrate ".
  46. "FROM webUsers u LEFT JOIN pool_worker p ".
  47. "ON p.associatedUserId = u.id ".
  48. "GROUP BY id";
  49. $result = mysql_query($sql);
  50. while ($resultrow = mysql_fetch_object($result)) {
  51. mysql_query("UPDATE webUsers SET hashrate = $resultrow->hashrate WHERE id = $resultrow->id");
  52.  
  53. // Enable this for lots of stats for graphing
  54. if ($resultrow->hashrate > 0) {
  55. mysql_query("INSERT INTO userHashrates (userId, hashrate) VALUES ($resultrow->id, $resultrow->hashrate)"); // active users hashrate
  56. }
  57. }
  58.  
  59. mysql_query("INSERT INTO userHashrates (userId, hashrate) VALUES (0, $hashrate)"); // the pool total hashrate
  60.  
  61. $currentTime = time();
  62. mysql_query("update settings set value='$currentTime' where setting='statstime'");
  63.  
  64. // Clean up the userHashrate table (anything older than 4 days)
  65. mysql_query("DELETE FROM userHashrates WHERE timestamp < DATE_SUB(now(), INTERVAL 96 HOUR)");
  66.  
  67. ?>
Advertisement
Add Comment
Please, Sign In to add comment