Beispiel #1
0
 foreach ($ausers as $auser) {
     $sessions_summary = jclic_get_sessions_summary($jclic->id, $auser->id);
     if ($sessions_summary->attempts <= 0) {
         continue;
     }
     $countusers++;
     $picture = $OUTPUT->user_picture($auser);
     $userlink = '<a href="' . $CFG->wwwroot . '/user/view.php?id=' . $auser->id . '&course=' . $course->id . '">' . fullname($auser, has_capability('moodle/site:viewfullnames', $context)) . '</a>';
     $extradata = array();
     foreach ($extrafields as $field) {
         $extradata[] = $auser->{$field};
     }
     $numsessions = 0;
     if ($mode == 'details') {
         // Print sessions for each student
         $sessions = jclic_get_sessions($jclic->id, $auser->id);
         $numsessions = count($sessions);
         if ($numsessions > 0) {
             $first_session = true;
             foreach ($sessions as $session) {
                 // Print session information
                 $rowclass = null;
                 $starttime = '<a href="#" onclick="showSessionActivities(\'' . $session->session_id . '\');">' . date('d/m/Y H:i', strtotime($session->starttime)) . '</a>';
                 $solveddone = $session->solved . ' / ' . $session->done;
                 $grade = $session->score;
                 $totaltime = $session->totaltime;
                 $attempts = $session->attempts;
                 $row = array_merge(array($picture, $userlink), $extradata, array($starttime, $attempts, $solveddone, $totaltime, $grade));
                 $table->add_data($row, $rowclass);
                 // Print activities for each session
                 $html = '<tr class="jclic-session-activities-hidden" id="session_' . $session->session_id . '" >';
$strscore = get_string("score", "jclic");
$strtotaltime = get_string("totaltime", "jclic");
$strtotals = get_string("totals", "jclic");
$strdone = get_string("activitydone", "jclic");
$stractivitysolved = get_string("activitysolved", "jclic");
$strattempts = get_string("attempts", "jclic");
$strlastaccess = get_string("lastaccess", "jclic");
$strmsgnosessions = get_string("msg_nosessions", "jclic");
$stractivity = get_string("activity", "jclic");
$strsolved = get_string("solved", "jclic");
$stractions = get_string("actions", "jclic");
$strtime = get_string("time", "jclic");
$stryes = get_string("yes");
$strno = get_string("no");
print_header("{$course->shortname}: {$jclic->name}", "{$jclic->name}", "");
$sessions = jclic_get_sessions($jclic->id, $USER->id);
if (sizeof($sessions) > 0) {
    echo "<script language=\"JavaScript\" src=\"../prototype.js\" type=\"text/javascript\"></script>";
    echo '<table class="generaltable" align="center" border="0" cellpadding="5" cellspacing="1" width="95%"><tbody>';
    $general_align = array('center', 'center', 'center', 'center', 'center', 'center');
    // Print header
    jclic_print_row(array($strstarttime, $strscore, $strtotaltime, $strdone, $stractivitysolved, $strattempts), $general_align, '', true);
    // Print session data
    foreach ($sessions as $session) {
        $sessiontime = '<a href="#" onclick="Element.toggle(\'' . $session->session_id . '\')">' . date('d/m/Y H:i', strtotime($session->starttime)) . '</a>';
        $table_data = array($sessiontime, $session->score . '%', $session->totaltime, $session->done, $session->solved, $session->attempts . ($jclic->maxattempts > 0 ? '/' . $jclic->maxattempts : ''));
        jclic_print_row($table_data, $general_align);
        // Print activities for each session
        print_session_activities($session->session_id);
    }
    if (sizeof($sessions) > 1) {
Beispiel #3
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);
}