コード例 #1
0
$usercontribution = 0;
if ($allowedit) {
    $usersgiportfolios = giportfolio_get_giportfolios_number($giportfolio->id, $cm->id);
    echo html_writer::start_tag('div', array('class' => 'giportfolioteacher'));
    echo '</br>';
    // Replace link with button.
    $form = new stdClass();
    $form->url = new moodle_url('/mod/giportfolio/viewgiportfolio.php', array('id' => $cm->id));
    $form->text = get_string('viewtemplate', 'mod_giportfolio');
    echo $OUTPUT->single_button($form->url, $form->text, '', array());
    echo '</br>';
    echo html_writer::link(new moodle_url('/mod/giportfolio/submissions.php', array('id' => $cm->id)), get_string('submitedporto', 'mod_giportfolio') . ' ' . $usersgiportfolios);
    echo html_writer::end_tag('div');
} else {
    if ($allowcontribute) {
        $usercontribution = giportfolio_get_user_contribution_status($giportfolio->id, $USER->id);
        if ($usercontribution) {
            // Get user grade and feedback.
            $usergrade = grade_get_grades($course->id, 'mod', 'giportfolio', $giportfolio->id, $USER->id);
            if ($usergrade->items) {
                $gradeitemgrademax = $usergrade->items[0]->grademax;
                $userfinalgrade = $usergrade->items[0]->grades[$USER->id];
            }
            echo html_writer::start_tag('div', array('class' => 'giportfolioupdated'));
            echo '</br>';
            echo $OUTPUT->single_button(new moodle_url('/mod/giportfolio/viewgiportfolio.php', array('id' => $cm->id)), get_string('continuecontrib', 'mod_giportfolio'), '', array());
            if ($allowreport) {
                $outlineurl = new moodle_url('/report/outline/user.php', array('id' => $USER->id, 'course' => $course->id, 'mode' => 'outline'));
                echo $OUTPUT->single_button($outlineurl, get_string('courseoverview', 'mod_giportfolio'), 'get');
            }
            echo '</br>';
コード例 #2
0
$gradeitemgrademax = null;
$userfinalgrade = null;
$usergrade = grade_get_grades($course->id, 'mod', 'giportfolio', $giportfolio->id, $user->id);
if ($usergrade->items) {
    $gradeitemgrademax = $usergrade->items[0]->grademax;
    if (isset($usergrade->items[0]->grades[$userid])) {
        $userfinalgrade = $usergrade->items[0]->grades[$userid];
    }
}
$PAGE->set_url('/mod/giportfolio/updategrade.php', array('id' => $id, 'userid' => $userid));
$formdata = new stdClass();
$formdata->userid = $user->id;
$formdata->id = $cm->id;
$formdata->xgrade = $userfinalgrade ? $userfinalgrade->grade : null;
$formdata->feedback = $userfinalgrade ? $userfinalgrade->feedback : null;
$custom = array('course' => $course, 'str_grade' => $userfinalgrade ? $userfinalgrade->str_grade : '', 'user' => $user, 'lastupdate' => giportfolio_get_user_contribution_status($giportfolio->id, $user->id), 'gradesetting' => $giportfolio->grade, 'dategraded' => $userfinalgrade ? $userfinalgrade->dategraded : null);
$mform = new mod_giporotfolio_grading_form(null, $custom);
$mform->set_data($formdata);
if ($mform->is_cancelled()) {
    redirect("submissions.php?id={$cm->id}");
} else {
    if ($gradeinfo = $mform->get_data()) {
        global $DB;
        $grade = (object) array('userid' => $user->id, 'usermodified' => $USER->id, 'rawgrade' => $gradeinfo->xgrade, 'feedback' => $gradeinfo->feedback);
        $grades = array($user->id => $grade);
        giportfolio_grade_item_update($giportfolio, $grades);
        redirect("submissions.php?id={$cm->id}");
    }
}
// Header and strings.
$PAGE->set_title(format_string($giportfolio->name));
コード例 #3
0
function giportfolio_adduser_fake_block($userid, $giportfolio, $cm, $courseid)
{
    global $OUTPUT, $PAGE, $CFG, $DB;
    require_once $CFG->libdir . '/gradelib.php';
    $ufields = user_picture::fields('u');
    $select = "SELECT {$ufields} ";
    $sql = 'FROM {user} u ' . 'WHERE u.id=' . $userid;
    $user = $DB->get_record_sql($select . $sql);
    $picture = $OUTPUT->user_picture($user);
    $usercontribution = giportfolio_get_user_contribution_status($giportfolio->id, $userid);
    $lastupdated = '';
    $userfinalgrade = null;
    if ($usercontribution) {
        $lastupdated = date('l jS \\of F Y ', $usercontribution);
        $usergrade = grade_get_grades($courseid, 'mod', 'giportfolio', $giportfolio->id, $userid);
        if ($usergrade->items && isset($usergrade->items[0]->grades[$userid])) {
            $userfinalgrade = $usergrade->items[0]->grades[$userid];
        }
    }
    $bc = new block_contents();
    $bc->title = get_string('giportfolioof', 'mod_giportfolio');
    $bc->attributes['class'] = 'block';
    $bc->content = '<strong>' . fullname($user, true) . '</strong>';
    $bc->content .= '<br/>';
    $bc->content .= $picture;
    $bc->content .= '<br/>';
    $bc->content .= '<strong>' . get_string('lastupdated', 'mod_giportfolio') . '</strong>';
    $bc->content .= '<br/>';
    $bc->content .= $lastupdated;
    $hasgrade = $userfinalgrade && (!is_null($userfinalgrade->grade) || $userfinalgrade->feedback);
    $gradelocked = $userfinalgrade && $userfinalgrade->locked;
    $bc->content .= '<br/>';
    if ($hasgrade) {
        $bc->content .= '<strong>' . get_string('grade') . '</strong>';
        $bc->content .= '<br/>';
        $bc->content .= $userfinalgrade->grade . '  ';
    }
    if (!$gradelocked) {
        $gradeurl = new moodle_url('/mod/giportfolio/updategrade.php', array('id' => $cm->id, 'userid' => $userid));
        $strgrade = $hasgrade ? get_string('upgrade', 'mod_giportfolio') : get_string('insertgrade', 'mod_giportfolio');
        $bc->content .= html_writer::link($gradeurl, $strgrade);
    }
    if ($hasgrade) {
        if ($userfinalgrade->feedback) {
            $feedback = $userfinalgrade->feedback;
        } else {
            $feedback = '-';
        }
        $bc->content .= '<br/>';
        $bc->content .= '<strong>' . get_string('feedback') . '</strong>';
        $bc->content .= '<br/>';
        $bc->content .= $feedback;
    }
    $bc->content .= '<br/>';
    $regions = $PAGE->blocks->get_regions();
    $firstregion = reset($regions);
    $PAGE->blocks->add_fake_block($bc, $firstregion);
}
コード例 #4
0
/**
 * Adds module specific settings to the settings block
 *
 * @param settings_navigation $settingsnav The settings navigation object
 * @param navigation_node $giportfolionode The node to add module settings to
 * @return void
 */
function giportfolio_extend_settings_navigation(settings_navigation $settingsnav, navigation_node $giportfolionode)
{
    global $USER, $PAGE, $DB;
    if ($PAGE->cm->modname !== 'giportfolio') {
        return;
    }
    $context = context_module::instance($PAGE->cm->id);
    $plugins = get_plugin_list('giportfoliotool');
    foreach ($plugins as $plugin => $dir) {
        if (file_exists("{$dir}/lib.php")) {
            require_once "{$dir}/lib.php";
        }
        $function = 'giportfoliotool_' . $plugin . '_extend_settings_navigation';
        if (function_exists($function)) {
            $function($settingsnav, $giportfolionode);
        }
    }
    $params = $PAGE->url->params();
    // SYNERGY - add grade console link.
    if (!empty($params['id']) and !empty($params['chapterid']) and has_capability('mod/giportfolio:viewgiportfolios', $context)) {
        $gradeconsole = get_string('studentgiportfolio', 'mod_giportfolio');
        $url = new moodle_url('/mod/giportfolio/submissions.php', array('id' => $params['id']));
        $giportfolionode->add($gradeconsole, $url, navigation_node::TYPE_SETTING, null, null, new pix_icon('console', '', 'giportfoliotool_print', array('class' => 'icon')));
    }
    // Add publish- unpublish links only if the user has at least one contribution.
    $allowedit = has_capability('mod/giportfolio:edit', $context);
    $giportfolio = $DB->get_record('giportfolio', array('id' => $PAGE->cm->instance), '*', MUST_EXIST);
    if (!empty($params['id']) && !empty($params['chapterid']) && !$allowedit && giportfolio_get_user_contribution_status($giportfolio->id, $USER->id)) {
        $url = new moodle_url('/mod/giportfolio/tool/print/pdfgiportfolio.php', array('id' => $params['id'], 'sesskey' => sesskey()));
        // Add pdf export link.
        // Open as new window.
        $action = new action_link($url, get_string('exportpdf', 'mod_giportfolio'), new popup_action('click', $url));
        $giportfolionode->add(get_string('exportpdf', 'mod_giportfolio'), $action, navigation_node::TYPE_SETTING, null, null, new pix_icon('pdf', '', 'giportfoliotool_print', array('class' => 'icon')));
    }
    // Turn student editing on.
    if (!empty($params['id']) and !empty($params['chapterid']) and giportfolio_get_collaborative_status($giportfolio) and !$allowedit) {
        $useredit = optional_param('useredit', 0, PARAM_BOOL);
        // Edit mode.
        if (!empty($useredit)) {
            $tocedit = get_string('stopedit', 'mod_giportfolio');
            $edit = '0';
        } else {
            $tocedit = get_string('edityourchapters', 'mod_giportfolio');
            $edit = '1';
        }
        $url = new moodle_url('/mod/giportfolio/viewgiportfolio.php', array('id' => $params['id'], 'chapterid' => $params['chapterid'], 'sesskey' => sesskey(), 'useredit' => $edit));
        $giportfolionode->add($tocedit, $url, navigation_node::TYPE_SETTING, null, null, new pix_icon('editstatus', '', 'giportfoliotool_print', array('class' => 'icon')));
    }
    // SYNERGY.
    if (!empty($params['id']) and !empty($params['chapterid']) and has_capability('mod/giportfolio:edit', $context)) {
        if (!empty($USER->editing)) {
            $string = get_string("turneditingoff");
            $edit = '0';
        } else {
            $string = get_string("turneditingon");
            $edit = '1';
        }
        $url = new moodle_url('/mod/giportfolio/viewgiportfolio.php', array('id' => $params['id'], 'chapterid' => $params['chapterid'], 'edit' => $edit, 'sesskey' => sesskey()));
        $giportfolionode->add($string, $url, navigation_node::TYPE_SETTING);
    }
}