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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (view) (download)

1 : dservos 1.1 <?php
2 : dservos 1.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 : dservos 1.1 require_once '../../../config.php';
14 :     require_once $CFG->dirroot.'/grade/report/visual/lib.php';
15 :     require_once $CFG->libdir.'/phpxml/xml.php';
16 :    
17 :     $visname = required_param('visid');
18 : dservos 1.2 $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 : dservos 1.1
34 :     error_reporting(0);
35 :    
36 :     $vis = grade_report_visual::get_visualization($visname);
37 :    
38 :    
39 :     $settings = array();
40 :     $settings['visualization'] = array();
41 :    
42 :     //$settings['visualization attr'] = array('id' => 1);
43 :     //$settings['visualization']['id'] = 1;
44 :     $settings['visualization']['name'] = $vis->name;
45 :     $settings['visualization']['classname'] = get_class($vis);
46 :    
47 :     $settings['visualization']['layout'] = array();
48 :     $settings['visualization']['layout']['type'] = $vis->layout;
49 :    
50 :     $settings['visualization']['layout']['xaxis'] = array();
51 :     $settings['visualization']['layout']['yaxis'] = array();
52 :     $settings['visualization']['layout']['xaxis']['field'] = 'data.' . $vis->xaxis;
53 :     $settings['visualization']['layout']['yaxis']['field'] = 'data.' . $vis->yaxis;
54 :     $settings['visualization']['layout']['xaxis']['labelformat'] = $vis->xaxislabelformat;
55 :     $settings['visualization']['layout']['yaxis']['labelformat'] = $vis->yaxislabelformat;
56 :     $settings['visualization']['layout']['xaxis']['min'] = $vis->xaxismin;
57 :     $settings['visualization']['layout']['xaxis']['max'] = $vis->xaxismax;
58 :     $settings['visualization']['layout']['yaxis']['min'] = $vis->yaxismin;
59 :     $settings['visualization']['layout']['yaxis']['max'] = $vis->yaxismax;
60 :     $settings['visualization']['layout']['yaxis']['xoffset'] =$vis->yaxisxoffset;
61 :     $settings['visualization']['layout']['yaxis']['yoffset'] =$vis->yaxisyoffset;
62 :     $settings['visualization']['layout']['xaxis']['xoffset'] =$vis->xaxisxoffset;
63 :     $settings['visualization']['layout']['xaxis']['yoffset'] =$vis->xaxisyoffset;
64 :    
65 : dservos 1.2 if($vis->layoutsettings != null) {
66 :     $settings['visualization']['layout']['setting'] = array();
67 :     for($i = 0; $i < count($vis->layoutsettings); $i++) {
68 :     $settings['visualization']['layout']['setting'][$i] = $vis->layoutsettings[$i];
69 :     }
70 : dservos 1.1 }
71 :    
72 : dservos 1.2 if($vis->edges != null) {
73 :     $settings['visualization']['edge'] = array();
74 :     for($i = 0; $i < count($vis->edges); $i++) {
75 :     $settings['visualization']['edge'][$i] = array();
76 : dservos 1.1
77 : dservos 1.2 if(is_array($vis->edges[$i]->sortby)) {
78 :     $settings['visualization']['edge'][$i]['sortby'] = array();
79 : dservos 1.1
80 : dservos 1.2 for($k = 0; $k < count($vis->edges[$i]->sortby); $k++) {
81 :     $settings['visualization']['edge'][$i]['sortby'][$k] = 'data.' . $vis->edges[$i]->sortby[$k];
82 :     }
83 :     } else {
84 :     $settings['visualization']['edge'][$i]['sortby'] = 'data.' . $vis->edges[$i]->sortby;
85 :     }
86 :    
87 :     if(is_array($vis->edges[$i]->groupby)) {
88 :     $settings['visualization']['edge'][$i]['groupby'] = array();
89 :    
90 :     for($k = 0; $k < count($vis->edges[$i]->groupby); $k++) {
91 :     $settings['visualization']['edge'][$i]['groupby'][$k] = 'data.' . $vis->edges[$i]->groupby[$k];
92 :     }
93 :     } else {
94 :     $settings['visualization']['edge'][$i]['groupby'] = 'data.' . $vis->edges[$i]->groupby;
95 : dservos 1.1 }
96 :     }
97 : dservos 1.2 }
98 :    
99 :     if($vis->encoders != null) {
100 :     $settings['visualization']['encoder'] = array();
101 :     for($i = 0; $i < count($vis->encoders); $i++) {
102 :     $settings['visualization']['encoder'][$i] = array();
103 :     $settings['visualization']['encoder'][$i]['id'] = $vis->encoders[$i]->id;
104 :     $settings['visualization']['encoder'][$i]['type'] = $vis->encoders[$i]->type;
105 :     $settings['visualization']['encoder'][$i]['datafield'] = 'data.' . $vis->encoders[$i]->datafield;
106 : dservos 1.1
107 : dservos 1.2 if($vis->encoders[$i]->settings != null) {
108 :     $settings['visualization']['encoder'][$i]['setting'] = array();
109 :     for($j = 0; $j < count($vis->encoders[$i]->settings); $j++) {
110 :     $settings['visualization']['encoder'][$i]['setting'][$j] = $vis->encoders[$i]->settings[$j];
111 :     }
112 : dservos 1.1 }
113 :     }
114 :     }
115 :    
116 : dservos 1.2 if($vis->legends != null) {
117 :     $settings['visualization']['legend'] = array();
118 :     for($i = 0; $i < count($vis->legends); $i++) {
119 :     $settings['visualization']['legend'][$i] = array();
120 :     $settings['visualization']['legend'][$i]['encoderid'] = $vis->legends[$i]->encoder->id;
121 :     $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 : dservos 1.1 }
130 :     }
131 :    
132 : dservos 1.2 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 : dservos 1.1 }
152 :    
153 :     /// TODO: add in capabilities data
154 :     $settings['visualization']['capabilities'] = array();
155 :    
156 :     $settings['visualization']['flash'] = array();
157 :     $settings['visualization']['flash']['width'] = $vis->width;
158 :     $settings['visualization']['flash']['height'] = $vis->height;
159 :     $settings['visualization']['flash']['framerate'] = $vis->framerate;
160 :     $settings['visualization']['flash']['quality'] = $vis->quality;
161 :    
162 :     $settings['visualization']['labels'] = array();
163 :     $settings['visualization']['labels']['xaxis'] = $vis->xaxislabel;
164 :     $settings['visualization']['labels']['yaxis'] = $vis->yaxislabel;
165 :     $settings['visualization']['labels']['title'] = $vis->title;
166 :    
167 :     $settings['visualization']['style'] = array();
168 :     $settings['visualization']['style']['nodeshape'] = $vis->nodeshape;
169 :     $settings['visualization']['style']['edgeshape'] = $vis->edgeshape;
170 :     $settings['visualization']['style']['bgcolor'] = $vis->backgroundcolor;
171 :    
172 :     $settings['visualization']['style']['text'] = array();
173 :     $settings['visualization']['style']['text']['font'] = $vis->font;
174 :     $settings['visualization']['style']['text']['size'] = $vis->fontsize;
175 :    
176 :     $settings['visualization']['style']['button'] = array();
177 :     $settings['visualization']['style']['button']['bgcolor'] = $vis->buttonbgcolor;
178 :     $settings['visualization']['style']['button']['alpha'] = $vis->buttonbgalpha;
179 :     $settings['visualization']['style']['button']['text'] = array();
180 :     $settings['visualization']['style']['button']['text']['font'] = $vis->buttonfont;
181 :     $settings['visualization']['style']['button']['text']['size'] = $vis->buttonfontsize;
182 :     $settings['visualization']['style']['button']['line'] = array();
183 :     $settings['visualization']['style']['button']['line']['size'] = $vis->buttonlinesize;
184 :     $settings['visualization']['style']['button']['line']['color'] = $vis->buttonlinecolor;
185 :     $settings['visualization']['style']['button']['line']['alpha'] = $vis->buttonlinealpha;
186 :    
187 :     $settings['visualization']['style']['popup'] = array();
188 :     $settings['visualization']['style']['popup']['bgcolor'] = $vis->popupbgcolor;
189 :     $settings['visualization']['style']['popup']['alpha'] = $vis->popupbgalpha;
190 :     $settings['visualization']['style']['popup']['text'] = array();
191 :     $settings['visualization']['style']['popup']['text']['font'] = $vis->popupfont;
192 :     $settings['visualization']['style']['popup']['text']['size'] = $vis->popupfontsize;
193 :     $settings['visualization']['style']['popup']['line'] = array();
194 :     $settings['visualization']['style']['popup']['line']['size'] = $vis->popuplinesize;
195 :     $settings['visualization']['style']['popup']['line']['color'] = $vis->popuplinecolor;
196 :     $settings['visualization']['style']['popup']['line']['alpha'] = $vis->popuplinealpha;
197 :    
198 :     $settings['visualization']['lang'] = array();
199 :     $settings['visualization']['lang']['hide'] = get_string('hide', 'gradereport_visual');
200 :     $settings['visualization']['lang']['show'] = get_string('show', 'gradereport_visual');
201 :     $settings['visualization']['lang']['xlabels'] = get_string('xlabels', 'gradereport_visual');
202 :     $settings['visualization']['lang']['ylabels'] = get_string('ylabels', 'gradereport_visual');
203 :     $settings['visualization']['lang']['axes'] = get_string('axes', 'gradereport_visual');
204 :     $settings['visualization']['lang']['invertaxes'] = get_string('invertaxes', 'gradereport_visual');
205 :    
206 :    
207 :     $xml = XML_serialize($settings);
208 :     echo $xml;
209 :    
210 : dservos 1.2
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 : dservos 1.1 ?>

Moodle CVS Admin
ViewVC Help
Powered by ViewVC 1.0.7