本文整理汇总了PHP中url_select类的典型用法代码示例。如果您正苦于以下问题:PHP url_select类的具体用法?PHP url_select怎么用?PHP url_select使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了url_select类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: view_grading_table
/**
* View the grading table of all submissions for this assignment.
*
* @return string
*/
protected function view_grading_table()
{
global $USER, $CFG;
// Include grading options form.
require_once $CFG->dirroot . '/mod/assign/gradingoptionsform.php';
require_once $CFG->dirroot . '/mod/assign/quickgradingform.php';
require_once $CFG->dirroot . '/mod/assign/gradingbatchoperationsform.php';
$o = '';
$cmid = $this->get_course_module()->id;
$links = array();
if (has_capability('gradereport/grader:view', $this->get_course_context()) && has_capability('moodle/grade:viewall', $this->get_course_context())) {
$gradebookurl = '/grade/report/grader/index.php?id=' . $this->get_course()->id;
$links[$gradebookurl] = get_string('viewgradebook', 'assign');
}
if ($this->is_any_submission_plugin_enabled() && $this->count_submissions()) {
$downloadurl = '/mod/assign/view.php?id=' . $cmid . '&action=downloadall';
$links[$downloadurl] = get_string('downloadall', 'assign');
}
if ($this->is_blind_marking() && has_capability('mod/assign:revealidentities', $this->get_context())) {
$revealidentitiesurl = '/mod/assign/view.php?id=' . $cmid . '&action=revealidentities';
$links[$revealidentitiesurl] = get_string('revealidentities', 'assign');
}
foreach ($this->get_feedback_plugins() as $plugin) {
if ($plugin->is_enabled() && $plugin->is_visible()) {
foreach ($plugin->get_grading_actions() as $action => $description) {
$url = '/mod/assign/view.php' . '?id=' . $cmid . '&plugin=' . $plugin->get_type() . '&pluginsubtype=assignfeedback' . '&action=viewpluginpage&pluginaction=' . $action;
$links[$url] = $description;
}
}
}
// Sort links alphabetically based on the link description.
core_collator::asort($links);
$gradingactions = new url_select($links);
$gradingactions->set_label(get_string('choosegradingaction', 'assign'));
$gradingmanager = get_grading_manager($this->get_context(), 'mod_assign', 'submissions');
$perpage = get_user_preferences('assign_perpage', 10);
$filter = get_user_preferences('assign_filter', '');
$markerfilter = get_user_preferences('assign_markerfilter', '');
$workflowfilter = get_user_preferences('assign_workflowfilter', '');
$controller = $gradingmanager->get_active_controller();
$showquickgrading = empty($controller);
$quickgrading = get_user_preferences('assign_quickgrading', false);
$showonlyactiveenrolopt = has_capability('moodle/course:viewsuspendedusers', $this->context);
$markingallocation = $this->get_instance()->markingallocation && has_capability('mod/assign:manageallocations', $this->context);
// Get markers to use in drop lists.
$markingallocationoptions = array();
if ($markingallocation) {
$markers = get_users_by_capability($this->context, 'mod/assign:grade');
$markingallocationoptions[''] = get_string('filternone', 'assign');
foreach ($markers as $marker) {
$markingallocationoptions[$marker->id] = fullname($marker);
}
}
$markingworkflow = $this->get_instance()->markingworkflow;
// Get marking states to show in form.
$markingworkflowoptions = array();
if ($markingworkflow) {
$notmarked = get_string('markingworkflowstatenotmarked', 'assign');
$markingworkflowoptions[''] = get_string('filternone', 'assign');
$markingworkflowoptions[ASSIGN_MARKING_WORKFLOW_STATE_NOTMARKED] = $notmarked;
$markingworkflowoptions = array_merge($markingworkflowoptions, $this->get_marking_workflow_states_for_current_user());
}
// Print options for changing the filter and changing the number of results per page.
$gradingoptionsformparams = array('cm' => $cmid, 'contextid' => $this->context->id, 'userid' => $USER->id, 'submissionsenabled' => $this->is_any_submission_plugin_enabled(), 'showquickgrading' => $showquickgrading, 'quickgrading' => $quickgrading, 'markingworkflowopt' => $markingworkflowoptions, 'markingallocationopt' => $markingallocationoptions, 'showonlyactiveenrolopt' => $showonlyactiveenrolopt, 'showonlyactiveenrol' => $this->show_only_active_users());
$classoptions = array('class' => 'gradingoptionsform');
$gradingoptionsform = new mod_assign_grading_options_form(null, $gradingoptionsformparams, 'post', '', $classoptions);
$batchformparams = array('cm' => $cmid, 'submissiondrafts' => $this->get_instance()->submissiondrafts, 'duedate' => $this->get_instance()->duedate, 'attemptreopenmethod' => $this->get_instance()->attemptreopenmethod, 'feedbackplugins' => $this->get_feedback_plugins(), 'context' => $this->get_context(), 'markingworkflow' => $markingworkflow, 'markingallocation' => $markingallocation);
$classoptions = array('class' => 'gradingbatchoperationsform');
$gradingbatchoperationsform = new mod_assign_grading_batch_operations_form(null, $batchformparams, 'post', '', $classoptions);
$gradingoptionsdata = new stdClass();
$gradingoptionsdata->perpage = $perpage;
$gradingoptionsdata->filter = $filter;
$gradingoptionsdata->markerfilter = $markerfilter;
$gradingoptionsdata->workflowfilter = $workflowfilter;
$gradingoptionsform->set_data($gradingoptionsdata);
$actionformtext = $this->get_renderer()->render($gradingactions);
$header = new assign_header($this->get_instance(), $this->get_context(), false, $this->get_course_module()->id, get_string('grading', 'assign'), $actionformtext);
$o .= $this->get_renderer()->render($header);
$currenturl = $CFG->wwwroot . '/mod/assign/view.php?id=' . $this->get_course_module()->id . '&action=grading';
$o .= groups_print_activity_menu($this->get_course_module(), $currenturl, true);
// Plagiarism update status apearring in the grading book.
if (!empty($CFG->enableplagiarism)) {
require_once $CFG->libdir . '/plagiarismlib.php';
$o .= plagiarism_update_status($this->get_course(), $this->get_course_module());
}
// Load and print the table of submissions.
if ($showquickgrading && $quickgrading) {
$gradingtable = new assign_grading_table($this, $perpage, $filter, 0, true);
$table = $this->get_renderer()->render($gradingtable);
$quickformparams = array('cm' => $this->get_course_module()->id, 'gradingtable' => $table);
$quickgradingform = new mod_assign_quick_grading_form(null, $quickformparams);
$o .= $this->get_renderer()->render(new assign_form('quickgradingform', $quickgradingform));
} else {
$gradingtable = new assign_grading_table($this, $perpage, $filter, 0, false);
$o .= $this->get_renderer()->render($gradingtable);
//.........这里部分代码省略.........
示例2: print_grade_plugin_selector
/**
* Print grading plugin selection popup form.
*
* @param array $plugin_info An array of plugins containing information for the selector
* @param boolean $return return as string
*
* @return nothing or string if $return true
*/
function print_grade_plugin_selector($plugin_info, $active_type, $active_plugin, $return = false)
{
global $CFG, $OUTPUT, $PAGE;
$menu = array();
$count = 0;
$active = '';
foreach ($plugin_info as $plugin_type => $plugins) {
if ($plugin_type == 'strings') {
continue;
}
$first_plugin = reset($plugins);
$sectionname = $plugin_info['strings'][$plugin_type];
$section = array();
foreach ($plugins as $plugin) {
$link = $plugin->link->out(false);
$section[$link] = $plugin->string;
$count++;
if ($plugin_type === $active_type and $plugin->id === $active_plugin) {
$active = $link;
}
}
if ($section) {
$menu[] = array($sectionname => $section);
}
}
// finally print/return the popup form
if ($count > 1) {
$select = new url_select($menu, $active, null, 'choosepluginreport');
$select->set_label(get_string('gradereport', 'grades'), array('class' => 'accesshide'));
if ($return) {
return $OUTPUT->render($select);
} else {
echo $OUTPUT->render($select);
}
} else {
// only one option - no plugin selector needed
return '';
}
}
示例3: popup_form
/**
* Implements a complete little form with a dropdown menu.
*
* @deprecated since Moodle 2.0
*
* When JavaScript is on selecting an option from the dropdown automatically
* submits the form (while avoiding the usual acessibility problems with this appoach).
* With JavaScript off, a 'Go' button is printed.
*
* @global object
* @global object
* @param string $baseurl The target URL up to the point of the variable that changes
* @param array $options A list of value-label pairs for the popup list
* @param string $formid id for the control. Must be unique on the page. Used in the HTML.
* @param string $selected The option that is initially selected
* @param string $nothing The label for the "no choice" option
* @param string $help The name of a help page if help is required
* @param string $helptext The name of the label for the help button
* @param boolean $return Indicates whether the function should return the HTML
* as a string or echo it directly to the page being rendered
* @param string $targetwindow The name of the target page to open the linked page in.
* @param string $selectlabel Text to place in a [label] element - preferred for accessibility.
* @param array $optionsextra an array with the same keys as $options. The values are added within the corresponding <option ...> tag.
* @param string $submitvalue Optional label for the 'Go' button. Defaults to get_string('go').
* @param boolean $disabled If true, the menu will be displayed disabled.
* @param boolean $showbutton If true, the button will always be shown even if JavaScript is available
* @return string|void If $return=true returns string, else echo's and returns void
*/
function popup_form($baseurl, $options, $formid, $selected='', $nothing='choose', $help='', $helptext='', $return=false,
$targetwindow='self', $selectlabel='', $optionsextra=NULL, $submitvalue='', $disabled=false, $showbutton=false) {
global $OUTPUT, $CFG;
debugging('popup_form() has been deprecated. Please change your code to use $OUTPUT->single_select() or $OUTPUT->url_select().');
if (empty($options)) {
return '';
}
$urls = array();
foreach ($options as $value=>$label) {
$url = $baseurl.$value;
$url = str_replace($CFG->wwwroot, '', $url);
$url = str_replace('&', '&', $url);
$urls[$url] = $label;
if ($selected == $value) {
$active = $url;
}
}
$nothing = $nothing ? array(''=>$nothing) : null;
$select = new url_select($urls, $active, $nothing, $formid);
$select->disabled = $disabled;
$select->set_label($selectlabel);
$select->set_old_help_icon($help, $helptext);
$output = $OUTPUT->render($select);
if ($return) {
return $output;
} else {
echo $output;
}
}
示例4: print_section_add_menus
/**
* Prints the menus to add activities and resources.
*/
function print_section_add_menus($course, $section, $modnames, $vertical = false, $return = false)
{
global $CFG, $OUTPUT;
// check to see if user can add menus
if (!has_capability('moodle/course:manageactivities', get_context_instance(CONTEXT_COURSE, $course->id))) {
return false;
}
// Retrieve all modules with associated metadata
$modules = get_module_metadata($course, $modnames);
// We'll sort resources and activities into two lists
$resources = array();
$activities = array();
// We need to add the section section to the link for each module
$sectionlink = '§ion=' . $section;
foreach ($modules as $module) {
if (isset($module->types)) {
// This module has a subtype
// NOTE: this is legacy stuff, module subtypes are very strongly discouraged!!
$subtypes = array();
foreach ($module->types as $subtype) {
$subtypes[$subtype->link . $sectionlink] = $subtype->title;
}
// Sort module subtypes into the list
if (!empty($module->title)) {
// This grouping has a name
if ($module->archetype == MOD_CLASS_RESOURCE) {
$resources[] = array($module->title => $subtypes);
} else {
$activities[] = array($module->title => $subtypes);
}
} else {
// This grouping does not have a name
if ($module->archetype == MOD_CLASS_RESOURCE) {
$resources = array_merge($resources, $subtypes);
} else {
$activities = array_merge($activities, $subtypes);
}
}
} else {
// This module has no subtypes
if ($module->archetype == MOD_ARCHETYPE_RESOURCE) {
$resources[$module->link . $sectionlink] = $module->title;
} else {
if ($module->archetype === MOD_ARCHETYPE_SYSTEM) {
// System modules cannot be added by user, do not add to dropdown
} else {
$activities[$module->link . $sectionlink] = $module->title;
}
}
}
}
$straddactivity = get_string('addactivity');
$straddresource = get_string('addresource');
$output = '<div class="section_add_menus">';
if (!$vertical) {
$output .= '<div class="horizontal">';
}
if (!empty($resources)) {
$select = new url_select($resources, '', array('' => $straddresource), "ressection{$section}");
$select->set_help_icon('resources');
$output .= $OUTPUT->render($select);
}
if (!empty($activities)) {
$select = new url_select($activities, '', array('' => $straddactivity), "section{$section}");
$select->set_help_icon('activities');
$output .= $OUTPUT->render($select);
}
if (!$vertical) {
$output .= '</div>';
}
$output .= '</div>';
if ($return) {
return $output;
} else {
echo $output;
}
}
示例5: array
// plugin specific state - do not mess with it!
$edit[] = html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('t/show'), 'alt' => '', 'class' => 'smallicon'));
}
}
}
}
// link to instance management
if (enrol_is_enabled($instance->enrol)) {
if ($icons = $plugin->get_action_icons($instance)) {
$edit = array_merge($edit, $icons);
}
}
// add a row to the table
$table->data[] = array($displayname, $users, implode(' ', $updown), implode(' ', $edit));
}
echo html_writer::table($table);
// access security is in each plugin
$candidates = array();
foreach (enrol_get_plugins(true) as $name => $plugin) {
if (!($link = $plugin->get_newinstance_link($course->id))) {
continue;
}
$candidates[$link->out(false)] = get_string('pluginname', 'enrol_' . $name);
}
if ($candidates) {
$select = new url_select($candidates);
$select->set_label(get_string('addinstance', 'enrol'));
echo $OUTPUT->render($select);
}
echo $OUTPUT->box_end();
echo $OUTPUT->footer();
示例6: course_section_add_cm_control
/**
* Renders HTML for the menus to add activities and resources to the current course
*
* Note, if theme overwrites this function and it does not use modchooser,
* see also {@link core_course_renderer::add_modchoosertoggle()}
*
* @param stdClass $course
* @param int $section relative section number (field course_sections.section)
* @param int $sectionreturn The section to link back to
* @param array $displayoptions additional display options, for example blocks add
* option 'inblock' => true, suggesting to display controls vertically
* @return string
*/
function course_section_add_cm_control($course, $section, $sectionreturn = null, $displayoptions = array())
{
global $CFG;
$vertical = !empty($displayoptions['inblock']);
// check to see if user can add menus and there are modules to add
if (!has_capability('moodle/course:manageactivities', context_course::instance($course->id)) || !$this->page->user_is_editing() || !($modnames = get_module_types_names()) || empty($modnames)) {
return '';
}
// Retrieve all modules with associated metadata
$modules = get_module_metadata($course, $modnames, $sectionreturn);
$urlparams = array('section' => $section);
// We'll sort resources and activities into two lists
$activities = array(MOD_CLASS_ACTIVITY => array(), MOD_CLASS_RESOURCE => array());
foreach ($modules as $module) {
if (isset($module->types)) {
// This module has a subtype
// NOTE: this is legacy stuff, module subtypes are very strongly discouraged!!
$subtypes = array();
foreach ($module->types as $subtype) {
$link = $subtype->link->out(true, $urlparams);
$subtypes[$link] = $subtype->title;
}
// Sort module subtypes into the list
$activityclass = MOD_CLASS_ACTIVITY;
if ($module->archetype == MOD_CLASS_RESOURCE) {
$activityclass = MOD_CLASS_RESOURCE;
}
if (!empty($module->title)) {
// This grouping has a name
$activities[$activityclass][] = array($module->title => $subtypes);
} else {
// This grouping does not have a name
$activities[$activityclass] = array_merge($activities[$activityclass], $subtypes);
}
} else {
// This module has no subtypes
$activityclass = MOD_CLASS_ACTIVITY;
if ($module->archetype == MOD_ARCHETYPE_RESOURCE) {
$activityclass = MOD_CLASS_RESOURCE;
} else {
if ($module->archetype === MOD_ARCHETYPE_SYSTEM) {
// System modules cannot be added by user, do not add to dropdown
continue;
}
}
$link = $module->link->out(true, $urlparams);
$activities[$activityclass][$link] = $module->title;
}
}
$straddactivity = get_string('addactivity');
$straddresource = get_string('addresource');
$sectionname = get_section_name($course, $section);
$strresourcelabel = get_string('addresourcetosection', null, $sectionname);
$stractivitylabel = get_string('addactivitytosection', null, $sectionname);
$output = html_writer::start_tag('div', array('class' => 'section_add_menus', 'id' => 'add_menus-section-' . $section));
if (!$vertical) {
$output .= html_writer::start_tag('div', array('class' => 'horizontal'));
}
if (!empty($activities[MOD_CLASS_RESOURCE])) {
$select = new url_select($activities[MOD_CLASS_RESOURCE], '', array('' => $straddresource), "ressection{$section}");
$select->set_help_icon('resources');
$select->set_label($strresourcelabel, array('class' => 'accesshide'));
$output .= $this->output->render($select);
}
if (!empty($activities[MOD_CLASS_ACTIVITY])) {
$select = new url_select($activities[MOD_CLASS_ACTIVITY], '', array('' => $straddactivity), "section{$section}");
$select->set_help_icon('activities');
$select->set_label($stractivitylabel, array('class' => 'accesshide'));
$output .= $this->output->render($select);
}
if (!$vertical) {
$output .= html_writer::end_tag('div');
}
$output .= html_writer::end_tag('div');
if (course_ajax_enabled($course) && $course->id == $this->page->course->id) {
// modchooser can be added only for the current course set on the page!
$straddeither = get_string('addresourceoractivity');
// The module chooser link
$modchooser = html_writer::start_tag('div', array('class' => 'mdl-right'));
$modchooser .= html_writer::start_tag('div', array('class' => 'section-modchooser'));
$icon = $this->output->pix_icon('t/add', '');
$span = html_writer::tag('span', $straddeither, array('class' => 'section-modchooser-text'));
$modchooser .= html_writer::tag('span', $icon . $span, array('class' => 'section-modchooser-link'));
$modchooser .= html_writer::end_tag('div');
$modchooser .= html_writer::end_tag('div');
// Wrap the normal output in a noscript div
$usemodchooser = get_user_preferences('usemodchooser', $CFG->modchooserdefault);
//.........这里部分代码省略.........
示例7: print_section_add_menus
/**
* Prints the menus to add activities and resources.
*/
function print_section_add_menus($course, $section, $modnames, $vertical = false, $return = false)
{
global $CFG, $OUTPUT;
// check to see if user can add menus
if (!has_capability('moodle/course:manageactivities', get_context_instance(CONTEXT_COURSE, $course->id))) {
return false;
}
$urlbase = "/course/mod.php?id={$course->id}§ion={$section}&sesskey=" . sesskey() . '&add=';
$resources = array();
$activities = array();
foreach ($modnames as $modname => $modnamestr) {
if (!course_allowed_module($course, $modname)) {
continue;
}
$libfile = "{$CFG->dirroot}/mod/{$modname}/lib.php";
if (!file_exists($libfile)) {
continue;
}
include_once $libfile;
$gettypesfunc = $modname . '_get_types';
if (function_exists($gettypesfunc)) {
// NOTE: this is legacy stuff, module subtypes are very strongly discouraged!!
if ($types = $gettypesfunc()) {
$menu = array();
$atype = null;
$groupname = null;
foreach ($types as $type) {
if ($type->typestr === '--') {
continue;
}
if (strpos($type->typestr, '--') === 0) {
$groupname = str_replace('--', '', $type->typestr);
continue;
}
$type->type = str_replace('&', '&', $type->type);
if ($type->modclass == MOD_CLASS_RESOURCE) {
$atype = MOD_CLASS_RESOURCE;
}
$menu[$urlbase . $type->type] = $type->typestr;
}
if (!is_null($groupname)) {
if ($atype == MOD_CLASS_RESOURCE) {
$resources[] = array($groupname => $menu);
} else {
$activities[] = array($groupname => $menu);
}
} else {
if ($atype == MOD_CLASS_RESOURCE) {
$resources = array_merge($resources, $menu);
} else {
$activities = array_merge($activities, $menu);
}
}
}
} else {
$archetype = plugin_supports('mod', $modname, FEATURE_MOD_ARCHETYPE, MOD_ARCHETYPE_OTHER);
if ($archetype == MOD_ARCHETYPE_RESOURCE) {
$resources[$urlbase . $modname] = $modnamestr;
} else {
// all other archetypes are considered activity
$activities[$urlbase . $modname] = $modnamestr;
}
}
}
$straddactivity = get_string('addactivity');
$straddresource = get_string('addresource');
$output = '<div class="section_add_menus">';
if (!$vertical) {
$output .= '<div class="horizontal">';
}
if (!empty($resources)) {
$select = new url_select($resources, '', array('' => $straddresource), "ressection{$section}");
$select->set_help_icon('resources');
$output .= $OUTPUT->render($select);
}
if (!empty($activities)) {
$select = new url_select($activities, '', array('' => $straddactivity), "section{$section}");
$select->set_help_icon('activities');
$output .= $OUTPUT->render($select);
}
if (!$vertical) {
$output .= '</div>';
}
$output .= '</div>';
if ($return) {
return $output;
} else {
echo $output;
}
}
示例8: print_section_add_menus
/**
* Prints the menus to add activities and resources.
*/
function print_section_add_menus($course, $section, $modnames, $vertical = false, $return = false)
{
global $CFG, $OUTPUT;
// check to see if user can add menus
if (!has_capability('moodle/course:manageactivities', get_context_instance(CONTEXT_COURSE, $course->id))) {
return false;
}
// Retrieve all modules with associated metadata
$modules = get_module_metadata($course, $modnames);
// We'll sort resources and activities into two lists
$resources = array();
$activities = array();
// We need to add the section section to the link for each module
$sectionlink = '§ion=' . $section;
foreach ($modules as $module) {
if (isset($module->types)) {
// This module has a subtype
// NOTE: this is legacy stuff, module subtypes are very strongly discouraged!!
$subtypes = array();
foreach ($module->types as $subtype) {
$subtypes[$subtype->link . $sectionlink] = $subtype->title;
}
// Sort module subtypes into the list
if (!empty($module->title)) {
// This grouping has a name
if ($module->archetype == MOD_CLASS_RESOURCE) {
$resources[] = array($module->title => $subtypes);
} else {
$activities[] = array($module->title => $subtypes);
}
} else {
// This grouping does not have a name
if ($module->archetype == MOD_CLASS_RESOURCE) {
$resources = array_merge($resources, $subtypes);
} else {
$activities = array_merge($activities, $subtypes);
}
}
} else {
// This module has no subtypes
if ($module->archetype == MOD_ARCHETYPE_RESOURCE) {
$resources[$module->link . $sectionlink] = $module->title;
} else {
if ($module->archetype === MOD_ARCHETYPE_SYSTEM) {
// System modules cannot be added by user, do not add to dropdown
} else {
$activities[$module->link . $sectionlink] = $module->title;
}
}
}
}
$straddactivity = get_string('addactivity');
$straddresource = get_string('addresource');
$output = html_writer::start_tag('div', array('class' => 'section_add_menus', 'id' => 'add_menus-section-' . $section));
if (!$vertical) {
$output .= html_writer::start_tag('div', array('class' => 'horizontal'));
}
if (!empty($resources)) {
$select = new url_select($resources, '', array('' => $straddresource), "ressection{$section}");
$select->set_help_icon('resources');
$output .= $OUTPUT->render($select);
}
if (!empty($activities)) {
$select = new url_select($activities, '', array('' => $straddactivity), "section{$section}");
$select->set_help_icon('activities');
$output .= $OUTPUT->render($select);
}
if (!$vertical) {
$output .= html_writer::end_tag('div');
}
$output .= html_writer::end_tag('div');
if (course_ajax_enabled($course)) {
$straddeither = get_string('addresourceoractivity');
// The module chooser link
$modchooser = html_writer::start_tag('div', array('class' => 'mdl-right'));
$modchooser .= html_writer::start_tag('div', array('class' => 'section-modchooser'));
$icon = $OUTPUT->pix_icon('t/add', $straddeither);
$span = html_writer::tag('span', $straddeither, array('class' => 'section-modchooser-text'));
$modchooser .= html_writer::link('#', $icon . $span, array('class' => 'section-modchooser-link'));
$modchooser .= html_writer::end_tag('div');
$modchooser .= html_writer::end_tag('div');
// Wrap the normal output in a noscript div
$usemodchooser = get_user_preferences('usemodchooser', 1);
if ($usemodchooser) {
$output = html_writer::tag('div', $output, array('class' => 'hiddenifjs addresourcedropdown'));
$modchooser = html_writer::tag('div', $modchooser, array('class' => 'visibleifjs addresourcemodchooser'));
} else {
$output = html_writer::tag('div', $output, array('class' => 'visibleifjs addresourcedropdown'));
$modchooser = html_writer::tag('div', $modchooser, array('class' => 'hiddenifjs addresourcemodchooser'));
}
$output = $modchooser . $output;
}
if ($return) {
return $output;
} else {
echo $output;
}
//.........这里部分代码省略.........
示例9: render_mr_file_export
/**
* Render mr_file_export
*
* @param mr_file_export $export mr_file_export instance
* @return string
*/
protected function render_mr_file_export(mr_file_export $export)
{
$select = new url_select($export->get_url_select_options(), '');
$select->set_label(get_string('export', 'local_mr'));
return html_writer::tag('div', $this->output->render($select), array('class' => 'mr_file_export'));
}
示例10: view_grading_table
/**
* View the grading table of all submissions for this assignment
*
* @return string
*/
private function view_grading_table()
{
global $USER, $CFG;
// Include grading options form
require_once $CFG->dirroot . '/mod/assign/gradingoptionsform.php';
require_once $CFG->dirroot . '/mod/assign/quickgradingform.php';
require_once $CFG->dirroot . '/mod/assign/gradingbatchoperationsform.php';
$o = '';
$links = array();
if (has_capability('gradereport/grader:view', $this->get_course_context()) && has_capability('moodle/grade:viewall', $this->get_course_context())) {
$gradebookurl = '/grade/report/grader/index.php?id=' . $this->get_course()->id;
$links[$gradebookurl] = get_string('viewgradebook', 'assign');
}
if ($this->is_any_submission_plugin_enabled()) {
$downloadurl = '/mod/assign/view.php?id=' . $this->get_course_module()->id . '&action=downloadall';
$links[$downloadurl] = get_string('downloadall', 'assign');
}
$gradingactions = new url_select($links);
$gradingactions->set_label(get_string('choosegradingaction', 'assign'));
$gradingmanager = get_grading_manager($this->get_context(), 'mod_assign', 'submissions');
$perpage = get_user_preferences('assign_perpage', 10);
$filter = get_user_preferences('assign_filter', '');
$controller = $gradingmanager->get_active_controller();
$showquickgrading = empty($controller);
if (optional_param('action', '', PARAM_ALPHA) == 'saveoptions') {
$quickgrading = optional_param('quickgrading', false, PARAM_BOOL);
set_user_preference('assign_quickgrading', $quickgrading);
}
$quickgrading = get_user_preferences('assign_quickgrading', false);
// print options for changing the filter and changing the number of results per page
$gradingoptionsform = new mod_assign_grading_options_form(null, array('cm' => $this->get_course_module()->id, 'contextid' => $this->context->id, 'userid' => $USER->id, 'submissionsenabled' => $this->is_any_submission_plugin_enabled(), 'showquickgrading' => $showquickgrading, 'quickgrading' => $quickgrading), 'post', '', array('class' => 'gradingoptionsform'));
$gradingbatchoperationsform = new mod_assign_grading_batch_operations_form(null, array('cm' => $this->get_course_module()->id, 'submissiondrafts' => $this->get_instance()->submissiondrafts), 'post', '', array('class' => 'gradingbatchoperationsform'));
$gradingoptionsdata = new stdClass();
$gradingoptionsdata->perpage = $perpage;
$gradingoptionsdata->filter = $filter;
$gradingoptionsform->set_data($gradingoptionsdata);
$actionformtext = $this->output->render($gradingactions);
$o .= $this->output->render(new assign_header($this->get_instance(), $this->get_context(), false, $this->get_course_module()->id, get_string('grading', 'assign'), $actionformtext));
$o .= groups_print_activity_menu($this->get_course_module(), $CFG->wwwroot . '/mod/assign/view.php?id=' . $this->get_course_module()->id . '&action=grading', true);
// plagiarism update status apearring in the grading book
if (!empty($CFG->enableplagiarism)) {
/** Include plagiarismlib.php */
require_once $CFG->libdir . '/plagiarismlib.php';
$o .= plagiarism_update_status($this->get_course(), $this->get_course_module());
}
// load and print the table of submissions
if ($showquickgrading && $quickgrading) {
$table = $this->output->render(new assign_grading_table($this, $perpage, $filter, 0, true));
$quickgradingform = new mod_assign_quick_grading_form(null, array('cm' => $this->get_course_module()->id, 'gradingtable' => $table));
$o .= $this->output->render(new assign_form('quickgradingform', $quickgradingform));
} else {
$o .= $this->output->render(new assign_grading_table($this, $perpage, $filter, 0, false));
}
$currentgroup = groups_get_activity_group($this->get_course_module(), true);
$users = array_keys($this->list_participants($currentgroup, true));
if (count($users) != 0) {
// if no enrolled user in a course then don't display the batch operations feature
$o .= $this->output->render(new assign_form('gradingbatchoperationsform', $gradingbatchoperationsform));
}
$o .= $this->output->render(new assign_form('gradingoptionsform', $gradingoptionsform, 'M.mod_assign.init_grading_options'));
return $o;
}
示例11: render_url_select
/**
* Internal implementation of url_select rendering
*
* @param url_select $select
* @return string HTML fragment
*/
protected function render_url_select(url_select $select)
{
return $this->render_from_template('core/url_select', $select->export_for_template($this));
}
示例12: print_grade_plugin_selector
/**
* Print grading plugin selection popup form.
*
* @param array $plugin_info An array of plugins containing information for the selector
* @param boolean $return return as string
*
* @return nothing or string if $return true
*/
function print_grade_plugin_selector($plugin_info, $active_type, $active_plugin, $return = false)
{
global $CFG, $OUTPUT, $PAGE;
$menu = array();
$count = 0;
$active = '';
//echo "<pre>";
//print_r($plugin_info);
//echo "</pre>";
foreach ($plugin_info as $plugin_type => $plugins) {
if ($plugin_type == 'strings' || $plugin_type == 'history' || $plugin_type == 'outcomes' || $plugin_type == 'user') {
continue;
}
$first_plugin = reset($plugins);
$sectionname = $plugin_info['strings'][$plugin_type];
$section = array();
//echo "<pre>";
//print_r($plugins);
//echo "</pre>";
foreach ($plugins as $plugin) {
//echo "$plugin->string: <br>";
if ($plugin->string != 'Grade history' && $plugin->string != 'Outcomes report' && $plugin->string != 'User report' && $plugin->string != 'Preferences: Grader report' && $plugin->string != 'OpenDocument spreadsheet' && $plugin->string != 'XML file') {
$link = $plugin->link->out(false);
$section[$link] = $plugin->string;
$count++;
if ($plugin_type === $active_type and $plugin->id === $active_plugin) {
$active = $link;
}
}
}
if ($section) {
$menu[] = array($sectionname => $section);
}
}
// finally print/return the popup form
if ($count > 1) {
$select = new url_select($menu, $active, null, 'choosepluginreport');
$select->set_label(get_string('gradereport', 'grades'), array('class' => 'accesshide'));
if ($return) {
return $OUTPUT->render($select);
} else {
echo $OUTPUT->render($select);
}
} else {
// only one option - no plugin selector needed
return '';
}
}
示例13: oublog_individual_get_activity_details
/**
* Get an object with details of individual activity
* @param $cm
* @param $urlroot
* @param $oublog
* @param $currentgroup
* @param $context
* @return an object
*/
function oublog_individual_get_activity_details($cm, $urlroot, $oublog, $currentgroup, $context)
{
global $CFG, $USER, $SESSION, $OUTPUT;
if (strpos($urlroot, 'http') !== 0) {
// Will also work for https
debugging('oublog_print_individual_activity_menu requires absolute URL for ' . '$urlroot, not <tt>' . s($urlroot) . '</tt>. Example: ' . 'oublog_print_individual_activity_menu($cm, $CFG->wwwroot . \'/mod/mymodule/view.php?id=13\');', DEBUG_DEVELOPER);
}
// get groupmode and individualmode
$groupmode = oublog_get_activity_groupmode($cm);
$individualmode = $oublog->individual;
// No individual blogs.
if ($individualmode == OUBLOG_NO_INDIVIDUAL_BLOGS) {
return '';
}
// If no groups or 'all groups' selection' ($currentgroup == 0).
if ($groupmode == NOGROUPS || $currentgroup == 0) {
// Visible individual.
if ($individualmode == OUBLOG_VISIBLE_INDIVIDUAL_BLOGS) {
$allowedindividuals = oublog_individual_get_all_users($cm->course, $cm->instance);
}
// Separate individual (check capability of present user.
if ($individualmode == OUBLOG_SEPARATE_INDIVIDUAL_BLOGS) {
$allowedindividuals = oublog_individual_get_all_users($cm->course, $cm->instance, 0, $context);
}
}
// If a group is selected ($currentgroup > 0).
if ($currentgroup > 0) {
// Visible individual.
if ($individualmode == OUBLOG_VISIBLE_INDIVIDUAL_BLOGS) {
$allowedindividuals = oublog_individual_get_all_users($cm->course, $cm->instance, $currentgroup);
}
// Separate individual.
if ($individualmode == OUBLOG_SEPARATE_INDIVIDUAL_BLOGS) {
$allowedindividuals = oublog_individual_get_all_users($cm->course, $cm->instance, $currentgroup, $context);
}
}
$activeindividual = oublog_individual_get_active_user($allowedindividuals, $individualmode, true);
// Setup the drop-down menu.
$menu = array();
if (count($allowedindividuals) > 1) {
if ($currentgroup > 0) {
// Selected group.
$menu[0] = get_string('viewallusersingroup', 'oublog');
} else {
// No groups or all groups.
$menu[0] = get_string('viewallusers', 'oublog');
}
}
if ($allowedindividuals) {
foreach ($allowedindividuals as $user) {
$menu[$user->id] = format_string($user->firstname . ' ' . $user->lastname);
}
}
if ($individualmode == OUBLOG_VISIBLE_INDIVIDUAL_BLOGS) {
$label = get_string('visibleindividual', 'oublog') . ' ';
} else {
$label = get_string('separateindividual', 'oublog') . ' ';
}
$output = "";
if (count($menu) == 1) {
$name = reset($menu);
$output = $label . ': ' . $name;
} else {
$active = '';
foreach ($menu as $value => $item) {
$url = $urlroot . '&individual=' . $value;
$url = str_replace($CFG->wwwroot, '', $url);
$url = str_replace('&', '&', $url);
$urls[$url] = $item;
if ($activeindividual == $value) {
$active = $url;
}
}
if (!empty($urls)) {
$select = new url_select($urls, $active, null, 'selectindividual');
$select->set_label($label);
$output = $OUTPUT->render($select);
}
}
$output = '<div class="oublog-individualselector">' . $output . '</div>';
// Set up the object details needed.
$individualdetails = new stdClass();
$individualdetails->display = $output;
$individualdetails->activeindividual = $activeindividual;
$individualdetails->mode = $individualmode;
$individualdetails->userids = array_keys($allowedindividuals);
$individualdetails->newblogpost = true;
// Hid the "New blog post" button.
if ($activeindividual == 0 && !array_key_exists($USER->id, $allowedindividuals) || $activeindividual > 0 && $activeindividual != $USER->id) {
$individualdetails->newblogpost = false;
}
//.........这里部分代码省略.........
示例14: groups_print_activity_menu
}
//Menu for groups
if ($groupmode) {
groups_print_activity_menu($cm, $groups_url);
}
//Print user selection by submission state
$url_base = $CFG->wwwroot . "/mod/vpl/views/submissionslist.php?id={$id}&sort={$sort}&group={$group}&selection=";
$urlindex = vpl_select_index($url_base, array('all', 'allsubmissions', 'notgraded', 'graded', 'gradedbyuser'));
$urls = array_merge(array($url_base . 'all' => get_string('all')), vpl_select_array($url_base, array('allsubmissions', 'notgraded', 'graded', 'gradedbyuser')));
$url_sel = new url_select($urls, $urlindex[$subselection]);
$url_sel->set_label(get_string('submissionselection', VPL));
echo $OUTPUT->render($url_sel);
if (($gradeable || $vpl->get_instance()->evaluate) && $subselection != 'notgraded') {
$url_base = $CFG->wwwroot . "/mod/vpl/views/submissionslist.php?id={$id}&sort={$sort}&sortdir={$sortdir}&selection={$subselection}&evaluate=";
$urls = array(0 => null, 2 => $url_base . '2', '3' => $url_base . '3', 4 => $url_base . '4');
$url_sel = new url_select(array($urls[2] => get_string('notexecuted', VPL), $urls[3] => get_string('notgraded', VPL), $urls[4] => get_string('all')), $urls[$evaluate]);
$url_sel->set_label(get_string('evaluate', VPL));
echo $OUTPUT->render($url_sel);
}
echo '<br />';
@ob_flush();
flush();
echo html_writer::table($table);
if (count($ngrades) > 0) {
echo '<br />';
echo html_writer::table($tablegraders);
}
//Generate next info as <div id="submissionid">nextuser</div>
if (count($next_ids)) {
//Hide info
echo '<div style="display:none;">';
示例15: view_grading_table
/**
* View the grading table of all submissions for this assignment.
*
* @return string
*/
protected function view_grading_table() {
global $USER, $CFG;
// Include grading options form.
require_once($CFG->dirroot . '/mod/assign/gradingoptionsform.php');
require_once($CFG->dirroot . '/mod/assign/quickgradingform.php');
require_once($CFG->dirroot . '/mod/assign/gradingbatchoperationsform.php');
$o = '';
$cmid = $this->get_course_module()->id;
$links = array();
if (has_capability('gradereport/grader:view', $this->get_course_context()) &&
has_capability('moodle/grade:viewall', $this->get_course_context())) {
$gradebookurl = '/grade/report/grader/index.php?id=' . $this->get_course()->id;
$links[$gradebookurl] = get_string('viewgradebook', 'assign');
}
if ($this->is_any_submission_plugin_enabled() && $this->count_submissions()) {
$downloadurl = '/mod/assign/view.php?id=' . $cmid . '&action=downloadall';
$links[$downloadurl] = get_string('downloadall', 'assign');
}
if ($this->is_blind_marking() &&
has_capability('mod/assign:revealidentities', $this->get_context())) {
$revealidentitiesurl = '/mod/assign/view.php?id=' . $cmid . '&action=revealidentities';
$links[$revealidentitiesurl] = get_string('revealidentities', 'assign');
}
foreach ($this->get_feedback_plugins() as $plugin) {
if ($plugin->is_enabled() && $plugin->is_visible()) {
foreach ($plugin->get_grading_actions() as $action => $description) {
$url = '/mod/assign/view.php' .
'?id=' . $cmid .
'&plugin=' . $plugin->get_type() .
'&pluginsubtype=assignfeedback' .
'&action=viewpluginpage&pluginaction=' . $action;
$links[$url] = $description;
}
}
}
$gradingactions = new url_select($links);
$gradingactions->set_label(get_string('choosegradingaction', 'assign'));
$gradingmanager = get_grading_manager($this->get_context(), 'mod_assign', 'submissions');
$perpage = get_user_preferences('assign_perpage', 10);
$filter = get_user_preferences('assign_filter', '');
$controller = $gradingmanager->get_active_controller();
$showquickgrading = empty($controller);
if (optional_param('action', '', PARAM_ALPHA) == 'saveoptions') {
$quickgrading = optional_param('quickgrading', false, PARAM_BOOL);
set_user_preference('assign_quickgrading', $quickgrading);
}
$quickgrading = get_user_preferences('assign_quickgrading', false);
// Print options for changing the filter and changing the number of results per page.
$gradingoptionsformparams = array('cm'=>$cmid,
'contextid'=>$this->context->id,
'userid'=>$USER->id,
'submissionsenabled'=>$this->is_any_submission_plugin_enabled(),
'showquickgrading'=>$showquickgrading,
'quickgrading'=>$quickgrading);
$classoptions = array('class'=>'gradingoptionsform');
$gradingoptionsform = new mod_assign_grading_options_form(null,
$gradingoptionsformparams,
'post',
'',
$classoptions);
$batchformparams = array('cm'=>$cmid,
'submissiondrafts'=>$this->get_instance()->submissiondrafts,
'duedate'=>$this->get_instance()->duedate,
'feedbackplugins'=>$this->get_feedback_plugins());
$classoptions = array('class'=>'gradingbatchoperationsform');
$gradingbatchoperationsform = new mod_assign_grading_batch_operations_form(null,
$batchformparams,
'post',
'',
$classoptions);
$gradingoptionsdata = new stdClass();
$gradingoptionsdata->perpage = $perpage;
$gradingoptionsdata->filter = $filter;
$gradingoptionsform->set_data($gradingoptionsdata);
$actionformtext = $this->get_renderer()->render($gradingactions);
$header = new assign_header($this->get_instance(),
$this->get_context(),
false,
$this->get_course_module()->id,
get_string('grading', 'assign'),
$actionformtext);
$o .= $this->get_renderer()->render($header);
$currenturl = $CFG->wwwroot .
//.........这里部分代码省略.........