Exemple #1
0
} else {
    error('You must specify a course_module ID or an instance ID');
}
require_login($course, true, $cm);
$context = context_module::instance($cm->id);
require_capability('mod/jclic:view', $context);
require_capability('moodle/grade:viewall', $context);
$PAGE->set_url('/mod/jclic/report.php', array('id' => $cm->id, 'mode' => $mode));
$PAGE->set_title(format_string($jclic->name));
$PAGE->set_heading(format_string($course->fullname));
$PAGE->set_pagelayout('report');
$PAGE->set_context($context);
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('report_' . $mode, 'jclic'));
groups_print_activity_menu($cm, $CFG->wwwroot . '/mod/jclic/report.php?id=' . $cm->id);
jclic_view_dates($jclic, $cm);
// Report
$PAGE->requires->js('/mod/jclic/jclic.js');
// Show students list with their results
require_once $CFG->libdir . '/gradelib.php';
$perpage = optional_param('perpage', 10, PARAM_INT);
$perpage = $perpage <= 0 ? 10 : $perpage;
$page = optional_param('page', 0, PARAM_INT);
// find out current groups mode
$groupmode = groups_get_activity_groupmode($cm);
$currentgroup = groups_get_activity_group($cm, true);
// Get all ppl that are allowed to submit jclic
list($esql, $params) = get_enrolled_sql($context, 'mod/jclic:submit', $currentgroup);
$sql = "SELECT u.id FROM {user} u " . "LEFT JOIN ({$esql}) eu ON eu.id=u.id " . "WHERE u.deleted = 0 AND eu.id=u.id ";
$users = $DB->get_records_sql($sql, $params);
if (!empty($users)) {
Exemple #2
0
/**
 * Display the jclic applet
 *
 */
function jclic_view_applet($jclic, $context, $ispreview = false)
{
    global $OUTPUT, $PAGE, $CFG, $USER;
    $timenow = time();
    $isopen = empty($jclic->timeavailable) || $jclic->timeavailable < $timenow;
    if (!$isopen) {
        echo $OUTPUT->box(get_string('notopenyet', 'jclic', userdate($jclic->timeavailable)), 'generalbox boxaligncenter jclicdates');
        if (!$ispreview) {
            return;
        }
    }
    $isclosed = !empty($jclic->timedue) && $jclic->timedue < $timenow;
    if ($isclosed) {
        echo $OUTPUT->box(get_string('expired', 'jclic', userdate($jclic->timedue)), 'generalbox boxaligncenter jclicdates');
        if (!$ispreview) {
            return;
        }
    }
    $sessions = jclic_get_sessions($jclic->id, $USER->id);
    $attempts = count($sessions);
    if (!$ispreview && ($attempts > 0 || $isopen)) {
        echo '<br><A href="#" onclick="window.open(\'action/student_results.php?id=' . $context->instanceid . '\',\'JClic\',\'navigation=0,toolbar=0,resizable=1,scrollbars=1,width=700,height=400\');" >' . get_string('show_my_results', 'jclic') . '</A>';
    }
    $config = get_config('jclic');
    if ($jclic->maxattempts < 0 || $attempts < $jclic->maxattempts) {
        echo '<div id="jclic_applet" style="text-align:center;padding-top:10px;">';
        echo '</div>';
        if (isset($config->pluginjs) && !empty($config->pluginjs)) {
            echo '<script type="text/javascript" src="' . $config->pluginjs . '"></script>';
        } else {
            $PAGE->requires->js('/mod/jclic/jclicplugin.js');
        }
        $PAGE->requires->js('/mod/jclic/jclic.js');
        $params = get_object_vars($jclic);
        $params['jclic_url'] = jclic_get_url($jclic, $context);
        $params['jclic_path'] = jclic_get_server();
        $params['jclic_service'] = jclic_get_path() . '/mod/jclic/action/beans.php';
        $params['jclic_user'] = $USER->id;
        $params['jclic_jarbase'] = $config->jarbase;
        $params['jclic_lap'] = $config->lap;
        $params['width'] = 800;
        $params['height'] = 600;
        if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443 || substr($CFG->wwwroot, 0, strlen('https')) === 'https') {
            $params['jclic_protocol'] = 'https';
        } else {
            $params['jclic_protocol'] = 'http';
        }
        $PAGE->requires->js_init_call('M.mod_jclic.init', array($params));
    } else {
        echo $OUTPUT->box(get_string('msg_noattempts', 'jclic'), 'generalbox boxaligncenter');
    }
    jclic_view_dates($jclic, $context, $timenow);
}