Changeset 710

Show
Ignore:
Timestamp:
11/10/09 14:20:55 (4 months ago)
Author:
DmitryChemerik
Message:

переписан отчет по трафику пользователей в %

Location:
trunk/php
Files:
1 added
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/php/src/usersbuttom_4_percent.php

    r707 r710  
    5353} 
    5454 
     55 
    5556function UsersChartGB() 
    5657{ 
    57   require('lib/chart.php'); 
     58  require('lib/piegraph.class.php'); 
    5859   
    5960  global $SAMSConf; 
     
    7475        $full_utraffic_size=$row['user_size']; 
    7576        $DB->free_samsdb_query(); 
    76  
     77         $colors=array("#FF0000","#0000FF","#FFFF00","#009000","#C3690F","#CC009C","#99CC33","#3C3CFF","#C9960C","#FF6F00","#C6C63C","#CC033C","#00FFFF","#636F66","#6FFF00","#96693F","#009C9C","#FFCC00","#9F9F6F","#CC60CC"); 
     78        $usercolors=array(); 
    7779 
    7880        if($sort=="users") 
    7981                $QUERY="SELECT c.s_user,sum(c.s_size) as user_size,sum(c.s_hit) as hit_size, s.s_user_id as s_id FROM cachesum c, squiduser s WHERE c.s_user=s.s_nick AND c.s_date>='$sdate' AND c.s_date<='$edate' GROUP BY c.s_user, s.s_user_id ORDER BY user_size DESC;"; 
    8082        else 
    81                 $QUERY="SELECT sum(sum.sum_size) as user_size, sum(sum.sum_hit) as hit_size, sum.sum_name as s_user, sum.sum_group_id as s_id FROM ( SELECT sum(c.s_size) as sum_size, sum(c.s_hit) as sum_hit, c.s_user as sum_user, s.s_group_id as sum_group_id, g.s_name as sum_name  FROM cachesum c, squiduser s, sgroup g WHERE c.s_user=s.s_nick AND s.s_group_id=g.s_group_id AND s_date>='$sdate' AND s_date<='$edate' GROUP BY c.s_user, s.s_group_id, g.s_name ORDER BY g.s_name ) as sum GROUP BY s_user, sum.sum_group_id;"; 
    82  
    83  
    84 //      $QUERY="SELECT s_user,sum(s_size) as user_size,sum(s_hit) as hit_size FROM cachesum WHERE s_date>='$sdate' AND s_date<='$edate' GROUP BY s_user ORDER BY user_size DESC"; 
     83                $QUERY="SELECT sum.sum_name as s_user,sum(sum.sum_size) as user_size, sum(sum.sum_hit) as hit_size, sum.sum_group_id as s_id FROM ( SELECT sum(c.s_size) as sum_size, sum(c.s_hit) as sum_hit, c.s_user as sum_user, s.s_group_id as sum_group_id, g.s_name as sum_name  FROM cachesum c, squiduser s, sgroup g WHERE c.s_user=s.s_nick AND s.s_group_id=g.s_group_id AND s_date>='$sdate' AND s_date<='$edate' GROUP BY c.s_user, s.s_group_id, g.s_name ORDER BY g.s_name ) as sum GROUP BY s_user, sum.sum_group_id;"; 
     84 
    8585        $num_rows=$DB->samsdb_query_value($QUERY); 
    8686        $count=0; 
     
    9393                if($row['user_size']>=($full_utraffic_size/100)) 
    9494                { 
    95                         $user[$count]=$row['s_user']." ( ".round($row['user_size']/($full_utraffic_size/100),2)."% )"; 
     95                        if($count<count($colors)) 
     96                        { 
     97                                $usercolors[$count]=$colors[$count]; 
     98                        } 
     99                        else 
     100                        { 
     101                                $r=mt_rand(10,240); 
     102                                $g=mt_rand(10,240); 
     103                                $b=mt_rand(10,240); 
     104                                $usercolors[$count]="#".sprintf("%X%X%X",mt_rand(20,200),mt_rand(20,200),mt_rand(20,200)); 
     105                        } 
     106                        $user[$count]=$row['s_user']; 
    96107                        $size[$count]=$row['user_size']; 
    97108                        $count++; 
     
    102113                } 
    103114        } 
    104         $user[$count]="another users ( ".round($another_utraffic_size/($full_utraffic_size/100),2)."% )"; 
    105         $size[$count]=$another_utraffic_size; 
    106         $count++; 
    107  
    108 //round($size[$i]/($sum_size/100),2) 
    109   $circle=new CIRCLE3D(500, $count*15, $size, $count, $user); 
    110   $circle->ShowCircle(); 
    111 } 
     115        if($another_utraffic_size>0) 
     116        { 
     117                $user[$count]="another users"; 
     118                $size[$count]=$another_utraffic_size; 
     119                $count++; 
     120        } 
     121 
     122        $pie = new PieGraph(400, 250, $size); 
     123        $pie->setColors($usercolors); 
     124        // legends for the data 
     125        $pie->setLegends($user); 
     126        // Display creation time of the graph 
     127        $pie->DisplayCreationTime(); 
     128        // Height of the pie 3d effect 
     129        $pie->set3dHeight(15); 
     130        // Display the graph 
     131        $pie->display(); 
     132} 
     133 
    112134 
    113135 
     
    138160  $a = array(array('users','users','desc','CHECKED' ), array('groups','groups','','')); 
    139161 
    140    
    141162  PageTop("persent_48.jpg","$usersbuttom_4_percent_UsersPercentTraffic_1<BR>$usersbuttom_4_percent_UsersPercentTraffic_2"); 
    142163