$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>';
$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));
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); }
/** * 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); } }