$datagen->get_total_items_count()) ? ($datagen->get_total_items_count() - $offset) : 10; $header_names = $datagen->get_header_names($offset, $count); $data_array = $datagen->get_data(FlatViewDataGenerator :: FVDG_SORT_LASTNAME, 0, null, $offset, $count, true); $newarray = array(); foreach ($data_array as $data) { $newarray[] = array_slice($data, 1); } return array ($header_names, $newarray); } /** * XML-parser: handle character data */ function character_data($parser, $data) { global $current_value; $current_value= $data; } /** * XML-parser: handle end of element */ function element_end($parser, $data) { global $user; global $users; global $current_value; switch ($data) { case 'Result' : $users[]= $user; break; default : $user[$data]= $current_value; break; } } /** * XML-parser: handle start of element */ function element_start($parser, $data) { global $user; global $current_tag; switch ($data) { case 'Result' : $user= array (); break; default : $current_tag= $data; } } function overwritescore($resid, $importscore, $eval_max) { $result= Result :: load($resid); if ($importscore > $eval_max) { header('Location: gradebook_view_result.php?selecteval=' .Security::remove_XSS($_GET['selecteval']) . '&overwritemax='); exit; } $result[0]->set_score($importscore); $result[0]->save(); unset ($result); } /** * Read the XML-file * @param string $file Path to the XML-file * @return array All userinformation read from the file */ function parse_xml_data($file) { global $current_tag; global $current_value; global $user; global $users; $users= array (); $parser= xml_parser_create(); xml_set_element_handler($parser, 'element_start', 'element_end'); xml_set_character_data_handler($parser, "character_data"); xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, false); xml_parse($parser, file_get_contents($file)); xml_parser_free($parser); return $users; }