[moodle] / contrib / plugins / grade / report / visual / visual_settings.php Repository:

Diff of /contrib/plugins/grade/report/visual/visual_settings.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1, Thu Jul 24 15:31:44 2008 WST revision 1.2, Sat Aug 2 12:19:15 2008 WST

By dservos:

CONTRIB-497 *Added more visualizations *Added selector UI Widget for flex/flare visualization *Refactored some of flex actionscript code. *Added defaults for selected group and items in visualizations. *Improved removal of nodes and edges when an item or group is deselected in a legend. *Fixed a memory leak realting to the removal and addtion of nodes. *Added more options for and control of the flex/flare based visualization from the Moodle back end.

# Line 1  Line 1 
1  <?php  <?php
2    /// Get a session id from the URI request and make a cookie
3    /// for it temparaly. This is needed as the flex application will
4    /// not have the users oringal cookie and only the session information
5    /// witch is passed to it.
6    $cookiewasset = false;
7    if(empty($_COOKIE) && isset($_GET['sessionid']) && isset($_GET['sessioncookie']) && isset($_GET['sessiontest'])) {
8        $_COOKIE['MoodleSession' . $_GET['sessioncookie']] = $_GET['sessionid'];
9        $_COOKIE['MoodleSessionTest' . $_GET['sessioncookie']] = $_GET['sessiontest'];
10        $cookiewasset = true;
11    }
12    
13  require_once '../../../config.php';  require_once '../../../config.php';
14  require_once $CFG->dirroot.'/grade/report/visual/lib.php';  require_once $CFG->dirroot.'/grade/report/visual/lib.php';
15  require_once $CFG->libdir.'/phpxml/xml.php';  require_once $CFG->libdir.'/phpxml/xml.php';
16    
17  $visname = required_param('visid');  $visname = required_param('visid');
18    $courseid = required_param('id');
19    
20    /// basic access checks
21    if(isset($DB) && !is_null($DB)) {
22        $course = $DB->get_record('course', array('id' => $courseid));
23    } else {
24        $course = get_record('course', 'id', $courseid);
25    }
26    if (!$course) {
27            print_error('nocourseid');
28    }
29    require_login($course);
30    $context = get_context_instance(CONTEXT_COURSE, $course->id);
31    require_capability('gradereport/visual:view', $context);
32    
33    
34  error_reporting(0);  error_reporting(0);
35    
# Line 36  Line 62 
62  $settings['visualization']['layout']['xaxis']['xoffset'] =$vis->xaxisxoffset;  $settings['visualization']['layout']['xaxis']['xoffset'] =$vis->xaxisxoffset;
63  $settings['visualization']['layout']['xaxis']['yoffset'] =$vis->xaxisyoffset;  $settings['visualization']['layout']['xaxis']['yoffset'] =$vis->xaxisyoffset;
64    
65    if($vis->layoutsettings != null) {
66  $settings['visualization']['layout']['setting'] = array();  $settings['visualization']['layout']['setting'] = array();
67  for($i = 0; $i < count($vis->layoutsettings); $i++) {  for($i = 0; $i < count($vis->layoutsettings); $i++) {
68      $settings['visualization']['layout']['setting'][$i] = $vis->layoutsettings[$i];      $settings['visualization']['layout']['setting'][$i] = $vis->layoutsettings[$i];
69  }  }
70    }
71    
72    if($vis->edges != null) {
73  $settings['visualization']['edge'] = array();  $settings['visualization']['edge'] = array();
74  for($i = 0; $i < count($vis->edges); $i++) {  for($i = 0; $i < count($vis->edges); $i++) {
75      $settings['visualization']['edge'][$i] = array();      $settings['visualization']['edge'][$i] = array();
# Line 65  Line 94 
94          $settings['visualization']['edge'][$i]['groupby'] = 'data.' . $vis->edges[$i]->groupby;          $settings['visualization']['edge'][$i]['groupby'] = 'data.' . $vis->edges[$i]->groupby;
95      }      }
96  }  }
97    }
98    
99    if($vis->encoders != null) {
100  $settings['visualization']['encoder'] = array();  $settings['visualization']['encoder'] = array();
101  for($i = 0; $i < count($vis->encoders); $i++) {  for($i = 0; $i < count($vis->encoders); $i++) {
102      $settings['visualization']['encoder'][$i] = array();      $settings['visualization']['encoder'][$i] = array();
103      $settings['visualization']['encoder'][$i]['id'] = $vis->encoders[$i]->id;      $settings['visualization']['encoder'][$i]['id'] = $vis->encoders[$i]->id;
104      $settings['visualization']['encoder'][$i]['type'] = $vis->encoders[$i]->type;      $settings['visualization']['encoder'][$i]['type'] = $vis->encoders[$i]->type;
105      $settings['visualization']['encoder'][$i]['datafield'] = 'data.' . $vis->encoders[$i]->datafield;      $settings['visualization']['encoder'][$i]['datafield'] = 'data.' . $vis->encoders[$i]->datafield;
106    
107            if($vis->encoders[$i]->settings != null) {
108      $settings['visualization']['encoder'][$i]['setting'] = array();      $settings['visualization']['encoder'][$i]['setting'] = array();
109      for($j = 0; $j < count($vis->encoders[$i]->settings); $j++) {      for($j = 0; $j < count($vis->encoders[$i]->settings); $j++) {
110          $settings['visualization']['encoder'][$i]['setting'][$j] = $vis->encoders[$i]->settings[$j];          $settings['visualization']['encoder'][$i]['setting'][$j] = $vis->encoders[$i]->settings[$j];
111      }      }
112  }  }
113        }
114    }
115    
116    if($vis->legends != null) {
117  $settings['visualization']['legend'] = array();  $settings['visualization']['legend'] = array();
118  for($i = 0; $i < count($vis->legends); $i++) {  for($i = 0; $i < count($vis->legends); $i++) {
119      $settings['visualization']['legend'][$i] = array();      $settings['visualization']['legend'][$i] = array();
120      $settings['visualization']['legend'][$i]['encoderid'] = $vis->legends[$i]->encoder->id;      $settings['visualization']['legend'][$i]['encoderid'] = $vis->legends[$i]->encoder->id;
121      $settings['visualization']['legend'][$i]['datafield'] = 'data.' . $vis->legends[$i]->encoder->datafield;      $settings['visualization']['legend'][$i]['datafield'] = 'data.' . $vis->legends[$i]->encoder->datafield;
122    
123            if($vis->legends[$i]->show != null) {
124                $settings['visualization']['legend'][$i]['show'] = array();
125                for($j = 0; $j < count($vis->legends[$i]->show); $j++) {
126                    $settings['visualization']['legend'][$i]['show'][$j] = $vis->legends[$i]->show[$j];
127                }
128            }
129        }
130    }
131    
132    if($vis->selectors != null) {
133        $settings['visualization']['selector'] = array();
134        for($i = 0; $i < count($vis->selectors); $i++) {
135            $settings['visualization']['selector'][$i] = array();
136            $settings['visualization']['selector'][$i]['param'] = $vis->selectors[$i]->param;
137            $settings['visualization']['selector'][$i]['active'] = $vis->selectors[$i]->active;
138    
139    
140            if($vis->selectors[$i]->options != null) {
141                $settings['visualization']['selector'][$i]['option'] = array();
142                $k = 0;
143                foreach($vis->selectors[$i]->options as $value=>$title) {
144                    $settings['visualization']['selector'][$i]['option'][$k] = array();
145                    $settings['visualization']['selector'][$i]['option'][$k]['title'] = $title;
146                    $settings['visualization']['selector'][$i]['option'][$k]['value'] = $value;
147                    $k++;
148                }
149            }
150        }
151  }  }
152    
153  /// TODO: add in capabilities data  /// TODO: add in capabilities data
# Line 142  Line 207 
207  $xml = XML_serialize($settings);  $xml = XML_serialize($settings);
208  echo $xml;  echo $xml;
209    
210    
211    
212    /// Clean up cookie if it was created.
213    if($cookiewasset) {
214        $_COOKIE['MoodleSession' . $_GET['sessioncookie']] = null;
215        $_COOKIE['MoodleSessionTest' . $_GET['sessioncookie']] = null;
216    }
217  ?>  ?>

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

Moodle CVS Admin
ViewVC Help
Powered by ViewVC 1.0.7