home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 April / PCWorld_2005-04_cd.bin / akce / web / phpnuke / PHP-Nuke-7.5.exe / html / modules / Downloads / voteinclude.php < prev   
PHP Script  |  2004-08-20  |  5KB  |  118 lines

  1. <?php
  2.  
  3. /************************************************************************/
  4. /* PHP-NUKE: Web Portal System                                          */
  5. /* ===========================                                          */
  6. /*                                                                      */
  7. /* Copyright (c) 2002 by Francisco Burzi                                */
  8. /* http://phpnuke.org                                                   */
  9. /*                                                                      */
  10. /* Based on Journey Links Hack                                          */
  11. /* Copyright (c) 2000 by James Knickelbein                              */
  12. /* Journey Milwaukee (http://www.journeymilwaukee.com)                  */
  13. /*                                                                      */
  14. /* This program is free software. You can redistribute it and/or modify */
  15. /* it under the terms of the GNU General Public License as published by */
  16. /* the Free Software Foundation; either version 2 of the License.       */
  17. /************************************************************************/
  18. /*         Additional security & Abstraction layer conversion           */
  19. /*                           2003 chatserv                              */
  20. /*      http://www.nukefixes.com -- http://www.nukeresources.com        */
  21. /************************************************************************/
  22.  
  23. if (!eregi("modules.php", $_SERVER['PHP_SELF'])) {
  24.     die ("You can't access this file directly...");
  25. }
  26.  
  27. $module_name = basename(dirname(__FILE__));
  28. require("modules/$module_name/d_config.php");  
  29. require_once("mainfile.php");
  30.  
  31. $outsidevotes = 0;
  32. $anonvotes = 0;
  33. $outsidevoteval = 0;
  34. $anonvoteval = 0;
  35. $regvoteval = 0;    
  36. $truecomments = $totalvotesDB;
  37. while($vrow = $db->sql_fetchrow($voteresult)) {
  38.     $ratingDB = intval($vrow['rating']);
  39.     $ratinguserDB = $vrow['ratinguser'];
  40.     $ratingcommentsDB = stripslashes($vrow['ratingcomments']);
  41.     if ($ratingcommentsDB=="") $truecomments--;
  42.     if ($ratinguserDB==$anonymous) {
  43.     $anonvotes++;
  44.     $anonvoteval += $ratingDB;
  45.     }
  46.     if ($useoutsidevoting == 1) {
  47.         if ($ratinguserDB=='outside') {
  48.         $outsidevotes++;
  49.         $outsidevoteval += $ratingDB;
  50.     }
  51.     } else { 
  52.     $outsidevotes = 0;
  53.     }
  54.     if ($ratinguserDB!=$anonymous && $ratinguserDB!="outside") { 
  55.     $regvoteval += $ratingDB;
  56.     }
  57. }
  58. $regvotes = $totalvotesDB - $anonvotes - $outsidevotes;
  59. if ($totalvotesDB == 0) { 
  60.     $finalrating = 0;
  61. } else if ($anonvotes == 0 && $regvotes == 0) {
  62.     /* Figure Outside Only Vote */
  63.     $finalrating = $outsidevoteval / $outsidevotes;
  64.     $finalrating = number_format($finalrating, 4); 
  65. } else if ($outsidevotes == 0 && $regvotes == 0) {
  66.     /* Figure Anon Only Vote */
  67.     $finalrating = $anonvoteval / $anonvotes;                  
  68.     $finalrating = number_format($finalrating, 4); 
  69. } else if ($outsidevotes == 0 && $anonvotes == 0) {
  70.     /* Figure Reg Only Vote */
  71.     $finalrating = $regvoteval / $regvotes;                  
  72.     $finalrating = number_format($finalrating, 4);                   
  73. } else if ($regvotes == 0 && $useoutsidevoting == 1 && $outsidevotes != 0 && $anonvotes != 0 ) {
  74.     /* Figure Reg and Anon Mix */
  75.     $avgAU = $anonvoteval / $anonvotes;
  76.     $avgOU = $outsidevoteval / $outsidevotes;              
  77.     if ($anonweight > $outsideweight ) {
  78.     /* Anon is 'standard weight' */
  79.     $newimpact = $anonweight / $outsideweight;
  80.     $impactAU = $anonvotes;
  81.     $impactOU = $outsidevotes / $newimpact;
  82.     $finalrating = ((($avgOU * $impactOU) + ($avgAU * $impactAU)) / ($impactAU + $impactOU));
  83.     $finalrating = number_format($finalrating, 4); 
  84.     } else {
  85.     /* Outside is 'standard weight' */
  86.     $newimpact = $outsideweight / $anonweight;
  87.     $impactOU = $outsidevotes;
  88.     $impactAU = $anonvotes / $newimpact;
  89.     $finalrating = ((($avgOU * $impactOU) + ($avgAU * $impactAU)) / ($impactAU + $impactOU));
  90.     $finalrating = number_format($finalrating, 4); 
  91.     }                            
  92. } else {
  93.     /* Registered User vs. Anonymous vs. Outside User Weight Calutions */
  94.     $impact = $anonweight;
  95.     $outsideimpact = $outsideweight;
  96.     if ($regvotes == 0) {
  97.     $regvotes = 0;
  98.     } else { 
  99.     $avgRU = $regvoteval / $regvotes;
  100.     }
  101.     if ($anonvotes == 0) {
  102.     $avgAU = 0;
  103.     } else {
  104.     $avgAU = $anonvoteval / $anonvotes;
  105.     }
  106.     if ($outsidevotes == 0 ) {
  107.     $avgOU = 0;
  108.     } else {
  109.     $avgOU = $outsidevoteval / $outsidevotes;
  110.     }
  111.     $impactRU = $regvotes;
  112.     $impactAU = $anonvotes / $impact;
  113.     $impactOU = $outsidevotes / $outsideimpact;
  114.     $finalrating = (($avgRU * $impactRU) + ($avgAU * $impactAU) + ($avgOU * $impactOU)) / ($impactRU + $impactAU + $impactOU);
  115.     $finalrating = number_format($finalrating, 4); 
  116. }
  117.  
  118. ?>