dirroot.'/grade/report/visual/lib.php'; require_once $CFG->libdir.'/phpxml/xml.php'; $visname = required_param('visid'); error_reporting(0); $vis = grade_report_visual::get_visualization($visname); $settings = array(); $settings['visualization'] = array(); //$settings['visualization attr'] = array('id' => 1); //$settings['visualization']['id'] = 1; $settings['visualization']['name'] = $vis->name; $settings['visualization']['classname'] = get_class($vis); $settings['visualization']['layout'] = array(); $settings['visualization']['layout']['type'] = $vis->layout; $settings['visualization']['layout']['xaxis'] = array(); $settings['visualization']['layout']['yaxis'] = array(); $settings['visualization']['layout']['xaxis']['field'] = 'data.' . $vis->xaxis; $settings['visualization']['layout']['yaxis']['field'] = 'data.' . $vis->yaxis; $settings['visualization']['layout']['xaxis']['labelformat'] = $vis->xaxislabelformat; $settings['visualization']['layout']['yaxis']['labelformat'] = $vis->yaxislabelformat; $settings['visualization']['layout']['xaxis']['min'] = $vis->xaxismin; $settings['visualization']['layout']['xaxis']['max'] = $vis->xaxismax; $settings['visualization']['layout']['yaxis']['min'] = $vis->yaxismin; $settings['visualization']['layout']['yaxis']['max'] = $vis->yaxismax; $settings['visualization']['layout']['yaxis']['xoffset'] =$vis->yaxisxoffset; $settings['visualization']['layout']['yaxis']['yoffset'] =$vis->yaxisyoffset; $settings['visualization']['layout']['xaxis']['xoffset'] =$vis->xaxisxoffset; $settings['visualization']['layout']['xaxis']['yoffset'] =$vis->xaxisyoffset; $settings['visualization']['layout']['setting'] = array(); for($i = 0; $i < count($vis->layoutsettings); $i++) { $settings['visualization']['layout']['setting'][$i] = $vis->layoutsettings[$i]; } $settings['visualization']['edge'] = array(); for($i = 0; $i < count($vis->edges); $i++) { $settings['visualization']['edge'][$i] = array(); if(is_array($vis->edges[$i]->sortby)) { $settings['visualization']['edge'][$i]['sortby'] = array(); for($k = 0; $k < count($vis->edges[$i]->sortby); $k++) { $settings['visualization']['edge'][$i]['sortby'][$k] = 'data.' . $vis->edges[$i]->sortby[$k]; } } else { $settings['visualization']['edge'][$i]['sortby'] = 'data.' . $vis->edges[$i]->sortby; } if(is_array($vis->edges[$i]->groupby)) { $settings['visualization']['edge'][$i]['groupby'] = array(); for($k = 0; $k < count($vis->edges[$i]->groupby); $k++) { $settings['visualization']['edge'][$i]['groupby'][$k] = 'data.' . $vis->edges[$i]->groupby[$k]; } } else { $settings['visualization']['edge'][$i]['groupby'] = 'data.' . $vis->edges[$i]->groupby; } } $settings['visualization']['encoder'] = array(); for($i = 0; $i < count($vis->encoders); $i++) { $settings['visualization']['encoder'][$i] = array(); $settings['visualization']['encoder'][$i]['id'] = $vis->encoders[$i]->id; $settings['visualization']['encoder'][$i]['type'] = $vis->encoders[$i]->type; $settings['visualization']['encoder'][$i]['datafield'] = 'data.' . $vis->encoders[$i]->datafield; $settings['visualization']['encoder'][$i]['setting'] = array(); for($j = 0; $j < count($vis->encoders[$i]->settings); $j++) { $settings['visualization']['encoder'][$i]['setting'][$j] = $vis->encoders[$i]->settings[$j]; } } $settings['visualization']['legend'] = array(); for($i = 0; $i < count($vis->legends); $i++) { $settings['visualization']['legend'][$i] = array(); $settings['visualization']['legend'][$i]['encoderid'] = $vis->legends[$i]->encoder->id; $settings['visualization']['legend'][$i]['datafield'] = 'data.' . $vis->legends[$i]->encoder->datafield; } /// TODO: add in capabilities data $settings['visualization']['capabilities'] = array(); $settings['visualization']['flash'] = array(); $settings['visualization']['flash']['width'] = $vis->width; $settings['visualization']['flash']['height'] = $vis->height; $settings['visualization']['flash']['framerate'] = $vis->framerate; $settings['visualization']['flash']['quality'] = $vis->quality; $settings['visualization']['labels'] = array(); $settings['visualization']['labels']['xaxis'] = $vis->xaxislabel; $settings['visualization']['labels']['yaxis'] = $vis->yaxislabel; $settings['visualization']['labels']['title'] = $vis->title; $settings['visualization']['style'] = array(); $settings['visualization']['style']['nodeshape'] = $vis->nodeshape; $settings['visualization']['style']['edgeshape'] = $vis->edgeshape; $settings['visualization']['style']['bgcolor'] = $vis->backgroundcolor; $settings['visualization']['style']['text'] = array(); $settings['visualization']['style']['text']['font'] = $vis->font; $settings['visualization']['style']['text']['size'] = $vis->fontsize; $settings['visualization']['style']['button'] = array(); $settings['visualization']['style']['button']['bgcolor'] = $vis->buttonbgcolor; $settings['visualization']['style']['button']['alpha'] = $vis->buttonbgalpha; $settings['visualization']['style']['button']['text'] = array(); $settings['visualization']['style']['button']['text']['font'] = $vis->buttonfont; $settings['visualization']['style']['button']['text']['size'] = $vis->buttonfontsize; $settings['visualization']['style']['button']['line'] = array(); $settings['visualization']['style']['button']['line']['size'] = $vis->buttonlinesize; $settings['visualization']['style']['button']['line']['color'] = $vis->buttonlinecolor; $settings['visualization']['style']['button']['line']['alpha'] = $vis->buttonlinealpha; $settings['visualization']['style']['popup'] = array(); $settings['visualization']['style']['popup']['bgcolor'] = $vis->popupbgcolor; $settings['visualization']['style']['popup']['alpha'] = $vis->popupbgalpha; $settings['visualization']['style']['popup']['text'] = array(); $settings['visualization']['style']['popup']['text']['font'] = $vis->popupfont; $settings['visualization']['style']['popup']['text']['size'] = $vis->popupfontsize; $settings['visualization']['style']['popup']['line'] = array(); $settings['visualization']['style']['popup']['line']['size'] = $vis->popuplinesize; $settings['visualization']['style']['popup']['line']['color'] = $vis->popuplinecolor; $settings['visualization']['style']['popup']['line']['alpha'] = $vis->popuplinealpha; $settings['visualization']['lang'] = array(); $settings['visualization']['lang']['hide'] = get_string('hide', 'gradereport_visual'); $settings['visualization']['lang']['show'] = get_string('show', 'gradereport_visual'); $settings['visualization']['lang']['xlabels'] = get_string('xlabels', 'gradereport_visual'); $settings['visualization']['lang']['ylabels'] = get_string('ylabels', 'gradereport_visual'); $settings['visualization']['lang']['axes'] = get_string('axes', 'gradereport_visual'); $settings['visualization']['lang']['invertaxes'] = get_string('invertaxes', 'gradereport_visual'); $xml = XML_serialize($settings); echo $xml; ?>