1
0

transferStats.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. <?php
  2. /* $Id: transferStats.php 3239 2007-10-29 22:16:10Z danez $ */
  3. /*******************************************************************************
  4. LICENSE
  5. This program is free software; you can redistribute it and/or
  6. modify it under the terms of the GNU General Public License (GPL)
  7. as published by the Free Software Foundation; either version 2
  8. of the License, or (at your option) any later version.
  9. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU General Public License for more details.
  13. To read the license please visit http://www.gnu.org/copyleft/gpl.html
  14. *******************************************************************************/
  15. // prevent direct invocation
  16. if ((!isset($cfg['user'])) || (isset($_REQUEST['cfg']))) {
  17. @ob_end_clean();
  18. @header("location: ../../index.php");
  19. exit();
  20. }
  21. /******************************************************************************/
  22. // common functions
  23. require_once('inc/functions/functions.common.php');
  24. // transfer functions
  25. require_once('inc/functions/functions.transfer.php');
  26. // init template-instance
  27. tmplInitializeInstance($cfg["theme"], "page.transferStats.tmpl");
  28. // init transfer
  29. transfer_init();
  30. // stat
  31. $transferowner = getOwner($transfer);
  32. $sf = new StatFile($transfer, $transferowner);
  33. // init ch-instance
  34. $ch = ClientHandler::getInstance(getTransferClient($transfer));
  35. // load settings, default if settings could not be loaded (fresh transfer)
  36. if ($ch->settingsLoad($transfer) !== true)
  37. $ch->settingsDefault();
  38. // totals
  39. $afu = $sf->uptotal;
  40. $afd = $sf->downtotal;
  41. $totalsCurrent = $ch->getTransferCurrentOP($transfer, $ch->hash, $afu, $afd);
  42. $totals = $ch->getTransferTotalOP($transfer, $ch->hash, $afu, $afd);
  43. // owner
  44. $tmpl->setvar('transferowner', $transferowner);
  45. // size
  46. $transferSize = floatval($sf->size);
  47. $tmpl->setvar('size', @formatBytesTokBMBGBTB($transferSize));
  48. // sharing
  49. $tmpl->setvar('sharing', ($totals["downtotal"] > 0) ? @number_format((($totals["uptotal"] / $totals["downtotal"]) * 100), 2) : "0");
  50. // totals
  51. $tmpl->setvar('downTotal', @formatFreeSpace($totals["downtotal"] / 1048576));
  52. $tmpl->setvar('upTotal', @formatFreeSpace($totals["uptotal"] / 1048576));
  53. // more
  54. if ($sf->running == 1) {
  55. // running
  56. $tmpl->setvar('running', 1);
  57. // current totals
  58. $tmpl->setvar('downTotalCurrent', formatFreeSpace($totalsCurrent["downtotal"] / 1048576));
  59. $tmpl->setvar('upTotalCurrent', formatFreeSpace($totalsCurrent["uptotal"] / 1048576));
  60. // seeds + peers
  61. $tmpl->setvar('seeds', $sf->seeds);
  62. $tmpl->setvar('peers', $sf->peers);
  63. // port + cons
  64. $transfer_pid = getTransferPid($transfer);
  65. $tmpl->setvar('port', netstatPortByPid($transfer_pid));
  66. $tmpl->setvar('cons', netstatConnectionsByPid($transfer_pid));
  67. // up speed
  68. $tmpl->setvar('up_speed', (trim($sf->up_speed) != "") ? $sf->up_speed : '0.0 kB/s');
  69. // down speed
  70. $tmpl->setvar('down_speed', (trim($sf->down_speed) != "") ? $sf->down_speed : '0.0 kB/s');
  71. // sharekill
  72. $tmpl->setvar('sharekill', ($ch->sharekill != 0) ? $ch->sharekill.'%' : '&#8734');
  73. } else {
  74. // running
  75. $tmpl->setvar('running', 0);
  76. // current totals
  77. $tmpl->setvar('downTotalCurrent', "");
  78. $tmpl->setvar('upTotalCurrent', "");
  79. // seeds + peers
  80. $tmpl->setvar('seeds', "");
  81. $tmpl->setvar('peers', "");
  82. // port + cons
  83. $tmpl->setvar('port', "");
  84. $tmpl->setvar('cons', "");
  85. // up speed
  86. $tmpl->setvar('up_speed', "");
  87. // down speed
  88. $tmpl->setvar('down_speed', "");
  89. // sharekill
  90. $tmpl->setvar('sharekill', "");
  91. }
  92. // percent and eta
  93. if ($sf->percent_done < 0) {
  94. $sf->percent_done = round(($sf->percent_done*-1)-100,1);
  95. $sf->time_left = $cfg['_INCOMPLETE'];
  96. }
  97. $tmpl->setvar('time_left', $sf->time_left);
  98. // graph width
  99. $tmpl->setvar('graph_width1', $sf->percent_done);
  100. $tmpl->setvar('graph_width2', (100 - $sf->percent_done));
  101. if ($sf->percent_done >= 100) {
  102. $sf->percent_done = 100;
  103. $tmpl->setvar('background', "#0000ff"); //deprecated
  104. } else {
  105. $tmpl->setvar('background', "#000000"); //deprecated
  106. }
  107. // percentage
  108. $tmpl->setvar('percent_done', $sf->percent_done);
  109. // standard / ajax switch
  110. $tmpl->setvar('transferStatsType', $cfg['transferStatsType']);
  111. switch ($cfg['transferStatsType']) {
  112. default:
  113. case "standard":
  114. // refresh
  115. $tmpl->setvar('meta_refresh', $cfg['transferStatsUpdate'].';URL=index.php?iid=transferStats&transfer='.$transfer);
  116. break;
  117. case "ajax":
  118. $tmpl->setvar('_DOWNLOADDETAILS', $cfg['_DOWNLOADDETAILS']);
  119. // onload
  120. $tmpl->setvar('onLoad', "ajax_initialize(".(intval($cfg['transferStatsUpdate']) * 1000).",'".$cfg['stats_txt_delim']."','".$transfer."');");
  121. break;
  122. }
  123. // language vars
  124. $tmpl->setvar('_USER', $cfg['_USER']);
  125. $tmpl->setvar('_SHARING', $cfg['_SHARING']);
  126. $tmpl->setvar('_ID_CONNECTIONS', $cfg['_ID_CONNECTIONS']);
  127. $tmpl->setvar('_ID_PORT', $cfg['_ID_PORT']);
  128. $tmpl->setvar('_DOWNLOADSPEED', $cfg['_DOWNLOADSPEED']);
  129. $tmpl->setvar('_UPLOADSPEED', $cfg['_UPLOADSPEED']);
  130. $tmpl->setvar('_PERCENTDONE', $cfg['_PERCENTDONE']);
  131. $tmpl->setvar('_ESTIMATEDTIME', $cfg['_ESTIMATEDTIME']);
  132. // title + foot
  133. tmplSetFoot(false);
  134. tmplSetTitleBar($transferLabel." - ".$cfg['_DOWNLOADDETAILS'], false);
  135. // iid
  136. tmplSetIidVars();
  137. // parse template
  138. $tmpl->pparse();
  139. ?>