Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 41 additions & 31 deletions classes/processor.php
Original file line number Diff line number Diff line change
Expand Up @@ -1453,16 +1453,21 @@ public static function select_deselect_javascript() {
require(["jquery"], function($) {
$(".coursearchiver_selectall #id_toggle").click(function() {
var text = $(this).val().length > 0 ? $(this).val() : $(this).text().trim();
if("'.get_string('selectall', 'tool_coursearchiver').'" === text) {
$("input:checkbox").prop("checked", true);
if ("'.get_string('selectall', 'tool_coursearchiver').'" === text) {
$("input[type=checkbox]", "#region-main").prop("checked", true);
$(".coursearchiver_selectall #id_toggle").val("'.get_string('deselectall', 'tool_coursearchiver').'");
$(".coursearchiver_selectall #id_toggle").text("'.get_string('deselectall', 'tool_coursearchiver').'");
}
else if("'.get_string('deselectall', 'tool_coursearchiver').'" === text) {
$("input:checkbox").prop("checked", false);
} else if ("'.get_string('deselectall', 'tool_coursearchiver').'" === text) {
$("input[type=checkbox]", "#region-main").prop("checked", false);
$(".coursearchiver_selectall #id_toggle").val("'.get_string('selectall', 'tool_coursearchiver').'");
$(".coursearchiver_selectall #id_toggle").text("'.get_string('selectall', 'tool_coursearchiver').'");
}

if ($("input[type=checkbox]:checked", "#region-main").length) {
$(".camultibuttons").show();
} else {
$(".camultibuttons").hide();
}
});
});
');
Expand Down Expand Up @@ -1627,17 +1632,6 @@ public static function get_archivelist($search, $recover = false) {
'',
$config->coursearchiverpath),
"/\\");
// Form start.
$rowcolor = "#FFF";
$data = [
"formstart" => true,
"isadmin" => $isadmin,
"recover" => $recover,
"searchterm" => $search,
"rowcolor" => $rowcolor,
"limiter" => $config->archivelimit,
];
$courses = $OUTPUT->render_from_template('tool_coursearchiver/archive_view', $data);

$params = [];

Expand All @@ -1662,6 +1656,19 @@ public static function get_archivelist($search, $recover = false) {
$config->archivelimit
);

// Form start.
$rowcolor = "#FFF";
$data = [
"formstart" => true,
"results" => ($archives),
"isadmin" => $isadmin,
"recover" => $recover,
"searchterm" => $search,
"rowcolor" => $rowcolor,
"limiter" => $config->archivelimit,
];
$courses = $OUTPUT->render_from_template('tool_coursearchiver/archive_view', $data);

if ($archives) {
foreach ($archives as $archive) {
$pathinfo = pathinfo($archive->filename);
Expand All @@ -1684,30 +1691,33 @@ public static function get_archivelist($search, $recover = false) {
$rowcolor = $rowcolor == "#FFF" ? "#EEE" : "#FFF";

// Form content.
$data = ["formcontent" => true,
"isadmin" => $isadmin,
"recover" => $recover,
"rowcolor" => $rowcolor,
"file" => $file,
"path" => $path,
"downloadurl" => $downloadurl,
"restoreurl" => $restoreurl,
];
$data = [
"formcontent" => true,
"results" => ($archives),
"isadmin" => $isadmin,
"recover" => $recover,
"rowcolor" => $rowcolor,
"file" => $file,
"path" => $path,
"downloadurl" => $downloadurl,
"restoreurl" => $restoreurl,
];
$courses .= $OUTPUT->render_from_template('tool_coursearchiver/archive_view', $data);
}
} else {
$rowcolor = $rowcolor == "#FFF" ? "#EEE" : "#FFF";
// Form content.
$data = ["nocontent" => true,
"isadmin" => $isadmin,
"recover" => $recover,
"rowcolor" => $rowcolor,
];
$data = [
"nocontent" => true,
"isadmin" => $isadmin,
"recover" => $recover,
"rowcolor" => $rowcolor,
];
$courses .= $OUTPUT->render_from_template('tool_coursearchiver/archive_view', $data);
}

// Form end.
$data = ["formend" => true, "recover" => $recover, "isadmin" => $isadmin];
$data = ["formend" => true, "recover" => $recover, "isadmin" => $isadmin, "results" => ($archives)];
$courses .= $OUTPUT->render_from_template('tool_coursearchiver/archive_view', $data);

return $courses;
Expand Down
4 changes: 3 additions & 1 deletion lang/en/tool_coursearchiver.php
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,8 @@
$string['cli_question_hide'] = 'Hide these {$a} courses?';
$string['cli_question_hideemail'] = 'Send these {$a} users a "Course to be hidden" email?';
$string['confirm'] = 'Continue';
$string['confirmdelete'] = 'Are you sure you want to delete?';
$string['confirmdelete'] = 'Are you sure you want to delete these archived files?';
$string['confirmdownload'] = 'Are you sure you want to download these archived files?';
$string['confirmmessage'] = 'Are you sure you want to {$a}';
$string['confirmmessagearchive'] = 'archive and remove these {$a} courses?';
$string['confirmmessagearchiveemail'] = 'send an email notification of pending course archival to these {$a} course owners?';
Expand Down Expand Up @@ -118,6 +119,7 @@
';
$string['deletewarningsubject'] = 'Notice: Courses will be deleted soon.';
$string['deselectall'] = 'Deselect All';
$string['downloadselected'] = 'Download Selected';
$string['email'] = 'Send Email';
$string['emailselector'] = 'Users selected to receive emails.';
$string['empty'] = 'empty';
Expand Down
91 changes: 63 additions & 28 deletions templates/archive_view.mustache
Original file line number Diff line number Diff line change
Expand Up @@ -76,11 +76,13 @@
{{/limiter}}

{{#isadmin}}
<div class="coursearchiver_selectall" style="text-align: left;margin: 5px;">
<button id="id_toggle" name="toggle" class="btn btn-secondary ml-0">
{{# str }} selectall, tool_coursearchiver {{/ str }}
</button>
</div>
{{#results}}
<div class="coursearchiver_selectall" style="text-align: left;margin: 5px;">
<button id="id_toggle" name="toggle" class="btn btn-secondary ml-0">
{{# str }} selectall, tool_coursearchiver {{/ str }}
</button>
</div>
{{/results}}
<form class="text-center" method="POST">
{{/isadmin}}
<table cellpadding="5" style="border-collapse: collapse;width: 100%;text-align: left">
Expand All @@ -103,7 +105,32 @@
<tr style="background-color: {{rowcolor}}">
<td>
{{#isadmin}}
<input type="checkbox" name="selected[]" value="{{path}}/{{file}}" />
<input type="checkbox" name="selected[]" value="{{path}}/{{file}}" onchange="
if ($('input[type=checkbox]:checked', '#region-main').length) {
$('.camultibuttons').show();
} else {
$('.camultibuttons').hide();
}
$('.coursearchiverdownloadselected').off('click');
$('.coursearchiverdownloadselected').on('click', function (e) {
e.preventDefault();
if(confirm('{{# str }} confirmdownload, tool_coursearchiver {{/ str }}')){
$('input[type=checkbox]:checked', '#region-main').each(function() {
// Create the iframe element
var iframe = $('<iframe/>', {
id: '{{path}}/{{file}}',
src: $(this).closest('tr').find('.coursearchivedownloadlink')[0].href,
width: '0',
height: '0',
frameborder: '0' // Optional: Remove border
});

// Append the iframe to the body or any other element
$('body').append(iframe);
});
}
});
" />
{{/isadmin}}
</td>
<td>
Expand All @@ -113,7 +140,7 @@
{{path}}
</td>
<td>
<a title="{{# str }} download, moodle {{/ str }}" href="{{& downloadurl}}">
<a class="coursearchivedownloadlink" title="{{# str }} download, moodle {{/ str }}" href="{{& downloadurl}}">
<i class="fa fa-download"></i> {{# str }} download, moodle {{/ str }}
</a>
{{#isadmin}}
Expand All @@ -136,25 +163,33 @@

{{#formend}}
</table>
{{#isadmin}}
{{#recover}}
<input type="submit"
class="btn btn-primary"
onclick="return confirm('{{# str }} confirmrestore, tool_coursearchiver {{/ str }}');"
value="{{# str }} recover, tool_coursearchiver {{/ str }}" />
{{/recover}}
{{^recover}}
<input type="submit"
class="btn btn-primary"
onclick="return confirm('{{# str }} confirmdelete, tool_coursearchiver {{/ str }}');"
value="{{# str }} delete, tool_coursearchiver {{/ str }}" />
{{/recover}}

</form>
<div class="coursearchiver_selectall" style="text-align: left;margin: 5px;">
<button id="id_toggle" name="toggle" class="btn btn-secondary ml-0">
{{# str }} selectall, tool_coursearchiver {{/ str }}
</button>
</div>
{{/isadmin}}
{{#results}}
{{#isadmin}}
{{#recover}}
<input type="submit"
class="btn btn-primary camultibuttons"
onclick="return confirm('{{# str }} confirmrestore, tool_coursearchiver {{/ str }}');"
value="{{# str }} recover, tool_coursearchiver {{/ str }}"
style="display:none;" />
{{/recover}}
{{^recover}}
<input type="button"
class="btn btn-primary coursearchiverdownloadselected camultibuttons"
value="{{# str }} downloadselected, tool_coursearchiver {{/ str }}"
style="display:none;" />
<input type="submit"
class="btn btn-primary camultibuttons"
onclick="return confirm('{{# str }} confirmdelete, tool_coursearchiver {{/ str }}');"
value="{{# str }} delete, tool_coursearchiver {{/ str }}"
style="display:none;" />
{{/recover}}

</form>
<div class="coursearchiver_selectall" style="text-align: left;margin: 5px;">
<button id="id_toggle" name="toggle" class="btn btn-secondary ml-0">
{{# str }} selectall, tool_coursearchiver {{/ str }}
</button>
</div>
{{/isadmin}}
{{/results}}
{{/formend}}
Loading