ソースを参照

Adding experimental graphs in tracking

Julio Montoya 14 年 前
コミット
2a065bbef2
2 ファイル変更92 行追加56 行削除
  1. 92 55
      main/inc/lib/tracking.lib.php
  2. 0 1
      main/session/index.php

+ 92 - 55
main/inc/lib/tracking.lib.php

@@ -2237,7 +2237,7 @@ class Tracking {
                             }
                         }
                     }
-                    $to_graph_exercise_result[$exercices['id']] = $exercise_stats;
+                    $to_graph_exercise_result[$exercices['id']] = array('title'=>$exercices['title'], 'data'=>$exercise_stats);
                     
                     $html .= '<tr>';                                
                     $html .= Display::tag('td', $exercices['title']);
@@ -2287,68 +2287,105 @@ class Tracking {
 		    require_once api_get_path(LIBRARY_PATH).'pchart/pCache.class.php';
 		    
 		    foreach ($to_graph_exercise_result as $exercise_id => $attempts) {
-		        foreach ($attempts as $attempt) {
+		        $exercise_title= $attempts['title'];	
+		        $attempts = $attempts['data']; 	        
+		        $my_exercise_result = 0;                
+                $exercise_result = array();
+		        foreach ($attempts as $attempt) {         
 		            if (api_get_user_id() == $attempt['exe_user_id']) {
 		                if ($attempt['exe_weighting'] != 0 ) {
-		                    $my_exercise_result[]=  $attempt['exe_result']/$attempt['exe_weighting'];
+		                    $my_exercise_result = $attempt['exe_result']/$attempt['exe_weighting'];
 		                }		                 
 		            } else {
-		                $exercise_result[]=  $attempt['exe_result']/$attempt['exe_weighting'];   
+		                if ($attempt['exe_weighting'] != 0 ) {		                
+		                    $exercise_result[]=  $attempt['exe_result']/$attempt['exe_weighting'];
+		                }   
 		            }		            
 		        }
-		    }
-		    //echo '<pre>'; var_dump($my_exercise_result, $exercise_result);
-		    /*
-            $cache = new pCache();
-            
-            // Dataset definition   
-            $data_set = new pData;  
-            $data_set->AddPoint(array(1,4,-3,2,-3,3,2,1,0,7,4),"Serie1");  
-            $data_set->AddPoint(array(3,3,-4,1,-2,2,1,0,-1,6,3),"Serie2");
-            $data_set->AddPoint(array(3,3,-4,1,-2,2,1,0,-1,6,3),"Serie3");    
-            
-            $data_set->AddAllSeries();  
-            $data_set->SetAbsciseLabelSerie('Serie3');  
-            $data_set->SetSerieName("January","Serie1");  
-            $data_set->SetSerieName("February","Serie2");  
-              
-            
-            // Initialise the graph  
-            $Test = new pChart(700,230);  
-            $Test->setFontProperties(api_get_path(LIBRARY_PATH).'pchart/fonts/tahoma.ttf',8);  
-            $Test->setGraphArea(50,30,680,200);  
-            $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);  
-            $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);  
-            $Test->drawGraphArea(255,255,255,TRUE);  
-            $Test->drawScale($data_set->GetData(),$data_set->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2,TRUE);     
-            $Test->drawGrid(4,TRUE,230,230,230,50);  
-            
-            // Draw the 0 line  
-            $Test->setFontProperties(api_get_path(LIBRARY_PATH).'pchart/fonts/tahoma.ttf',6);  
-            $Test->drawTreshold(0,143,55,72,TRUE,TRUE);  
-            
-            // Draw the bar graph  
-            $Test->drawBarGraph($data_set->GetData(),$data_set->GetDataDescription(),TRUE);  
-            exit;
-            // Finish the graph  
-            $Test->setFontProperties(api_get_path(LIBRARY_PATH).'pchart/fonts/tahoma.ttf',8);   
-            $Test->drawLegend(596,150,$data_set->GetDataDescription(),255,255,255);  
-            $Test->setFontProperties(api_get_path(LIBRARY_PATH).'pchart/fonts/tahoma.ttf',8); 
-            $Test->drawTitle(50,22,"Example 12",50,50,50,585);
-            $graph_id = uniqid();
-            $cache->WriteToCache($graph_id, $data_set->GetData(), $Test);
-            ob_start();
-            $Test->Stroke();
-            ob_end_clean();
-            
-            $img_file = $cache->GetHash($graph_id, $data_set->GetData());
+		        
+		        //var_dump($exercise_result,$my_exercise_result);
+    		    
+                $max = 100;
+                $pieces = 5 ;
+                $part = round($max /$pieces);
+                $x_axis = array();
+                $final_array = array();
+                $my_final_array = array();
+                
+                for ($i=1; $i <=$pieces; $i++) {
+                    $min = ($i- 1)*$part;
+                    $max = ($i)*$part;
+                    $x_axis[]= $min." - ".$max;
+                    $count = 0;
+                    foreach($exercise_result as $result) {
+                        $percentage = $result*100;
+                        //echo $percentage.' - '.$min.' - '.$max."<br />";                    
+                        if ($percentage > $min && $percentage <= $max) {
+                            //echo ' is > ';                            
+                            $count++;
+                        }
+                    }                
+                    $final_array[]= $count;
+                    if ($my_exercise_result > $min && $my_exercise_result < $max) {
+                        $my_final_array[] = 1;
+                    } else {
+                      //  $my_final_array[] = 0;
+                    }
+                    
+                } 
+                //var_dump($my_final_array, $final_array); exit;
+                
+                //echo '<pre>'; var_dump($my_exercise_result, $exercise_result,$x_axis);
             
+                $cache = new pCache();
+                
+                // Dataset definition   
+                $data_set = new pData;  
+                $data_set->AddPoint($final_array,"Serie1");  
+                $data_set->AddPoint($my_final_array,"Serie2");
+                $data_set->AddPoint($x_axis,"Serie3");
+                $data_set->AddAllSeries();  
+                
+                $data_set->SetAbsciseLabelSerie('Serie3');  
+                $data_set->SetSerieName(get_lang('Score'),"Serie1");  
+                $data_set->SetSerieName(get_lang('MyScore'),"Serie2");
+                
+                $data_set->SetXAxisName("Score");                  
+                
+                // Initialise the graph  
+                $Test = new pChart(700,230);  
+    
+                $Test->setFontProperties(api_get_path(LIBRARY_PATH).'pchart/fonts/tahoma.ttf',8);  
+                $Test->setGraphArea(50,30,680,200);  
+                $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);  
+                $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);  
+                $Test->drawGraphArea(255,255,255,TRUE);  
+                $Test->drawScale($data_set->GetData(),$data_set->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2,TRUE);     
+                $Test->drawGrid(4,TRUE,230,230,230,50);  
+                
+                // Draw the 0 line  
+                $Test->setFontProperties(api_get_path(LIBRARY_PATH).'pchart/fonts/tahoma.ttf',6);  
+                $Test->drawTreshold(0,143,55,72,TRUE,TRUE);  
+                
+                // Draw the bar graph  
+                $data_set->RemoveSerie("Serie3");  
+                $Test->drawBarGraph($data_set->GetData(),$data_set->GetDataDescription(),TRUE);  
+                
+                // Finish the graph  
+                $Test->setFontProperties(api_get_path(LIBRARY_PATH).'pchart/fonts/tahoma.ttf',8);   
+                $Test->drawLegend(596,150,$data_set->GetDataDescription(),255,255,255);  
+                $Test->setFontProperties(api_get_path(LIBRARY_PATH).'pchart/fonts/tahoma.ttf',8); 
+                $Test->drawTitle(50,22,$exercise_title,50,50,50,585);
+                $graph_id = uniqid();
+                $cache->WriteToCache($graph_id, $data_set->GetData(), $Test);
+                ob_start();
+                $Test->Stroke();
+                ob_end_clean();            
+                $img_file = $cache->GetHash($graph_id, $data_set->GetData());
+                $html .= '<img src="'.api_get_path(WEB_ARCHIVE_PATH).$img_file.'">';		        
+		    }
+		    
             
-            echo '<img src="'.api_get_path(WEB_ARCHIVE_PATH).$img_file.'">';
-		
-		    */
-		
-		
         }
         return $html;
     }

+ 0 - 1
main/session/index.php

@@ -127,7 +127,6 @@ if (!api_is_platform_admin()) {
     }
 }
 
-//print_r($my_session_list); exit;
 require_once api_get_path(LIBRARY_PATH).'pear/HTML/Table.php';
 $html = '';
 //Final data to be show