/** * Returns dataform content for inline display. * Used in {@link dataform_cm_info_view()} and in {@link block_dataform_view::get_content()}. * * @param int $dataformid The id of the dataform whose content should be displayed * @param int $viewid The id of the dataform's view whose content should be displayed * @return string */ public static function get_content_inline($dataformid, $viewid, $filterid = null) { $df = new mod_dataform_dataform($dataformid, null, true); $viewman = new mod_dataform_view_manager($dataformid); // Make sure user can access the view. if (!array_key_exists($viewid, $viewman->views_menu)) { return null; } if ($view = $viewman->get_view_by_id($viewid)) { $params = array('js' => true, 'css' => true, 'completion' => true, 'comments' => true, 'nologin' => true); $pageoutput = $df->set_page('external', $params); if (!empty($filterid)) { $view->set_viewfilter(array('id' => $filterid)); } else { $view->set_viewfilter(); } $viewcontent = $view->display(); return "{$pageoutput}\n{$viewcontent}"; } return null; }