public static function render_instance(BlockInstance $instance, $editing = false) { global $exporter; require_once get_config('docroot') . 'artefact/lib.php'; safe_require('artefact', 'ilps'); $configdata = $instance->get('configdata'); $smarty = smarty_core(); if (isset($configdata['artefactid'])) { $units = ArtefactTypeunit::get_units($configdata['artefactid']); $template = 'artefact:ilps:unitrows.tpl'; $blockid = $instance->get('id'); if ($exporter) { $pagination = false; } else { $pagination = array('baseurl' => $instance->get_view()->get_url() . '&block=' . $blockid, 'id' => 'block' . $blockid . '_pagination', 'datatable' => 'unittable_' . $blockid, 'jsonscript' => 'artefact/ilps/viewunits.json.php'); } ArtefactTypeUnit::render_units($units, $template, $configdata, $pagination); if ($exporter && $units['count'] > $units['limit']) { $artefacturl = get_config('wwwroot') . 'view/artefact.php?artefact=' . $configdata['artefactid'] . '&view=' . $instance->get('view'); $units['pagination'] = '<a href="' . $artefacturl . '">' . get_string('allunits', 'artefact.ilps') . '</a>'; } $smarty->assign('units', $units); } else { $smarty->assign('noilps', 'blocktype.ilps/ilps'); } $smarty->assign('blockid', $instance->get('id')); return $smarty->fetch('blocktype:ilps:content.tpl'); }