MDL-29563 course Hide duplication button in activities without backup2 support - Credit to Mark Nielsen

This commit is contained in:
David Monllao 2012-07-16 14:54:06 +08:00
parent 3294034b80
commit 8a1a951f7c
3 changed files with 17 additions and 6 deletions

View File

@ -3291,8 +3291,8 @@ function make_editing_buttons(stdClass $mod, $absolute_ignored = true, $movesele
);
}
// Duplicate (require both target import caps to be able to duplicate, see modduplicate.php)
if (has_all_capabilities($dupecaps, $coursecontext)) {
// Duplicate (require both target import caps to be able to duplicate and backup2 support, see modduplicate.php)
if (has_all_capabilities($dupecaps, $coursecontext) && plugin_supports('mod', $mod->modname, FEATURE_BACKUP_MOODLE2)) {
$actions[] = new action_link(
new moodle_url($baseurl, array('duplicate' => $mod->id)),
new pix_icon('t/copy', $str->duplicate, 'moodle', array('class' => 'iconsmall')),

View File

@ -56,6 +56,20 @@ $PAGE->set_pagelayout('incourse');
$output = $PAGE->get_renderer('core', 'backup');
$a = new stdClass();
$a->modtype = get_string('modulename', $cm->modname);
$a->modname = format_string($cm->name);
if (!plugin_supports('mod', $cm->modname, FEATURE_BACKUP_MOODLE2)) {
echo $output->header();
echo $output->notification(get_string('duplicatenosupport', 'core', $a));
echo $output->continue_button(
new moodle_url('/course/view.php#section-' . $cm->sectionnum, array('id' => $course->id))
);
echo $output->footer();
die;
}
// backup the activity
$bc = new backup_controller(backup::TYPE_1ACTIVITY, $cm->id, backup::FORMAT_MOODLE,
@ -118,10 +132,6 @@ if (empty($CFG->keeptempdirectoriesonbackup)) {
fulldelete($backupbasepath);
}
$a = new stdClass();
$a->modtype = get_string('modulename', $cm->modname);
$a->modname = format_string($cm->name);
echo $output->header();
if ($newcmid) {

View File

@ -487,6 +487,7 @@ $string['duplicate'] = 'Duplicate';
$string['duplicateconfirm'] = 'Are you sure you want to duplicate {$a->modtype} \'{$a->modname}\' ?';
$string['duplicatecontcourse'] = 'Return to the course';
$string['duplicatecontedit'] = 'Edit the new copy';
$string['duplicatenosupport'] = '\'{$a->modname}\' activity could not be duplicated because the {$a->modtype} module does not support backup and restore.';
$string['duplicatesuccess'] = '{$a->modtype} \'{$a->modname}\' has been duplicated successfully';
$string['duplicatinga'] = 'Duplicating: {$a}';
$string['edhelpaspellpath'] = 'To use spell-checking within the editor, you MUST have <strong>aspell 0.50</strong> or later installed on your server, and you must specify the correct path to access the aspell binary. On Unix/Linux systems, this path is usually <strong>/usr/bin/aspell</strong>, but it might be something else.';