From 2a065bbef25f648bd4c5573c515a7999f45efc92 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Fri, 11 Feb 2011 19:17:01 +0100 Subject: [PATCH] Adding experimental graphs in tracking --- main/inc/lib/tracking.lib.php | 147 +++++++++++++++++++++------------- main/session/index.php | 1 - 2 files changed, 92 insertions(+), 56 deletions(-) diff --git a/main/inc/lib/tracking.lib.php b/main/inc/lib/tracking.lib.php index 9a9d933bd7..f88cfad8c3 100755 --- a/main/inc/lib/tracking.lib.php +++ b/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 .= ''; $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 '
'; 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."
"; + 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 '
'; 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 .= '';		        
+		    }
+		    
             
-            echo '';
-		
-		    */
-		
-		
         }
         return $html;
     }
diff --git a/main/session/index.php b/main/session/index.php
index bd28ce579c..5006c05dfd 100644
--- a/main/session/index.php
+++ b/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