public static function open($id, $password) { global $USER; //Parameters validation $params = self::validate_parameters(self::open_parameters(), array('id' => $id, 'password' => $password)); $vpl = self::initial_checks($id, $password); $vpl->require_capability(VPL_VIEW_CAPABILITY); if (!$vpl->is_visible()) { throw new Exception(get_string('notavailable')); } $files = mod_vpl_edit::get_submitted_files($vpl, $USER->id, $CE); //Adapt array[name]=content to array[]=array(name,data) $files = mod_vpl_edit::files2object($files); $ret = array('files' => $files, 'compilation' => '', 'evaluation' => '', 'grade' => ''); if ($CE && $vpl->get_instance()->evaluate) { $ret['compilation'] = $CE->compilation; $ret['evaluation'] = $CE->evaluation; $ret['grade'] = $CE->grade; } return $ret; }