Skip to content

Commit

Permalink
MDL-80131 mod_data: Make page titles unique
Browse files Browse the repository at this point in the history
  • Loading branch information
junpataleta committed Dec 1, 2023
1 parent caacef2 commit 9332617
Show file tree
Hide file tree
Showing 11 changed files with 122 additions and 34 deletions.
20 changes: 13 additions & 7 deletions mod/data/edit.php
Expand Up @@ -122,8 +122,18 @@
}

$PAGE->add_body_class('mediumwidth');
$PAGE->set_title($data->name);
$PAGE->set_heading($course->fullname);
if ($rid) {
$pagename = get_string('editentry', 'data');
} else {
$pagename = get_string('newentry', 'data');
}
$PAGE->navbar->add($pagename);
$titleparts = [
$pagename,
format_string($data->name),
format_string($course->fullname),
];
$PAGE->set_title(implode(moodle_page::TITLE_SEPARATOR, $titleparts));
$PAGE->force_settings_menu(true);
$PAGE->set_secondary_active_tab('modulepage');
$PAGE->activityheader->disable();
Expand Down Expand Up @@ -184,11 +194,7 @@
echo '<input name="sesskey" value="'.sesskey().'" type="hidden" />';
echo $OUTPUT->box_start('generalbox boxaligncenter boxwidthwide');

if (!$rid){
echo $OUTPUT->heading(get_string('newentry','data'));
} else {
echo $OUTPUT->heading(get_string('editentry','data'));
}
echo $OUTPUT->heading($pagename);

$template = $manager->get_template($mode);
echo $template->parse_add_entry($processeddata, $rid, $datarecord);
Expand Down
10 changes: 8 additions & 2 deletions mod/data/export.php
Expand Up @@ -113,13 +113,19 @@

// Build header to match the rest of the UI.
$PAGE->add_body_class('mediumwidth');
$PAGE->set_title($data->name);
$pagename = get_string('exportentries', 'data');
$titleparts = [
$pagename,
format_string($data->name),
format_string($course->fullname),
];
$PAGE->set_title(implode(moodle_page::TITLE_SEPARATOR, $titleparts));
$PAGE->set_heading($course->fullname);
$PAGE->force_settings_menu(true);
$PAGE->set_secondary_active_tab('modulepage');
$PAGE->activityheader->disable();
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('exportentries', 'data'));
echo $OUTPUT->heading($pagename);

groups_print_activity_menu($cm, $url);

Expand Down
24 changes: 18 additions & 6 deletions mod/data/field.php
Expand Up @@ -93,7 +93,6 @@
$actionbar = new \mod_data\output\action_bar($data->id, $PAGE->url);

$PAGE->add_body_class('mediumwidth');
$PAGE->set_title(get_string('course') . ': ' . $course->fullname);
$PAGE->set_heading($course->fullname);
$PAGE->activityheader->disable();

Expand Down Expand Up @@ -224,7 +223,12 @@
}

} else {

$titleparts = [
get_string('deletefield', 'data'),
format_string($data->name),
format_string($course->fullname),
];
$PAGE->set_title(implode(moodle_page::TITLE_SEPARATOR, $titleparts));
data_print_header($course,$cm,$data, false);
echo $OUTPUT->heading(get_string('deletefield', 'data'), 2, 'mb-4');

Expand Down Expand Up @@ -303,26 +307,34 @@
$PAGE->force_settings_menu(true);

$PAGE->set_pagetype('mod-data-field-' . $newtype);
$titleparts = [
format_string($data->name),
format_string($course->fullname),
];
if (($mode == 'new') && (!empty($newtype))) { // Adding a new field.
data_print_header($course, $cm, $data,'fields');
array_unshift($titleparts, get_string('newfield', 'data'));
$PAGE->set_title(implode(moodle_page::TITLE_SEPARATOR, $titleparts));
data_print_header($course, $cm, $data, 'fields');
echo $OUTPUT->heading(get_string('newfield', 'data'));

$field = data_get_field_new($newtype, $data);
$field->display_edit_field();

} else if ($mode == 'display' && confirm_sesskey()) { /// Display/edit existing field
data_print_header($course, $cm, $data,'fields');
array_unshift($titleparts, get_string('editfield', 'data'));
$PAGE->set_title(implode(moodle_page::TITLE_SEPARATOR, $titleparts));
data_print_header($course, $cm, $data, 'fields');
echo $OUTPUT->heading(get_string('editfield', 'data'));

$field = data_get_field_from_id($fid, $data);
$field->display_edit_field();

} else { /// Display the main listing of all fields
array_unshift($titleparts, get_string('managefields', 'data'));
$PAGE->set_title(implode(moodle_page::TITLE_SEPARATOR, $titleparts));
$hasfields = $manager->has_fields();

// Check if it is an empty database with no fields.
if (!$hasfields) {
$PAGE->set_title($data->name);
echo $OUTPUT->header();
echo $renderer->render_fields_zero_state($manager);
echo $OUTPUT->footer();
Expand Down
10 changes: 1 addition & 9 deletions mod/data/field/latlong/kml.php
Expand Up @@ -76,15 +76,7 @@
require_course_login($course, true, $cm);

$context = context_module::instance($cm->id);

/// If it's hidden then it's don't show anything. :)
if (empty($cm->visible) and !has_capability('moodle/course:viewhiddenactivities', $context)) {
$PAGE->set_title($data->name);
echo $OUTPUT->header();
notice(get_string("activityiscurrentlyhidden"));
}

/// If we have an empty Database then redirect because this page is useless without data
// If we have an empty Database then redirect because this page is useless without data.
if (has_capability('mod/data:managetemplates', $context)) {
if (!$DB->record_exists('data_fields', array('dataid'=>$data->id))) { // Brand new database!
redirect($CFG->wwwroot.'/mod/data/field.php?d='.$data->id); // Redirect to field entry
Expand Down
12 changes: 9 additions & 3 deletions mod/data/import.php
Expand Up @@ -76,14 +76,20 @@
}

/// Print the page header
$PAGE->navbar->add(get_string('add', 'data'));
$pagename = get_string('uploadrecords', 'data');
$PAGE->navbar->add($pagename);
$PAGE->add_body_class('mediumwidth');
$PAGE->set_title($data->name);
$titleparts = [
$pagename,
format_string($data->name),
format_string($course->fullname),
];
$PAGE->set_title(implode(moodle_page::TITLE_SEPARATOR, $titleparts));
$PAGE->set_heading($course->fullname);
$PAGE->set_secondary_active_tab('modulepage');
$PAGE->activityheader->disable();
echo $OUTPUT->header();
echo $OUTPUT->heading_with_help(get_string('uploadrecords', 'mod_data'), 'uploadrecords', 'mod_data');
echo $OUTPUT->heading_with_help($pagename, 'uploadrecords', 'mod_data');

if ($formdata = $form->get_data()) {
$filecontent = $form->get_file_content('recordsfile');
Expand Down
6 changes: 5 additions & 1 deletion mod/data/index.php
Expand Up @@ -51,7 +51,11 @@
$strdataplural = get_string('modulenameplural','data');

$PAGE->navbar->add($strdata, new moodle_url('/mod/data/index.php', array('id'=>$course->id)));
$PAGE->set_title($strdata);
$titleparts = [
$strdataplural,
format_string($course->fullname),
];
$PAGE->set_title(implode(moodle_page::TITLE_SEPARATOR, $titleparts));
$PAGE->set_heading($course->fullname);
echo $OUTPUT->header();
echo $OUTPUT->heading($strdataplural, 2);
Expand Down
1 change: 1 addition & 0 deletions mod/data/lang/en/data.php
Expand Up @@ -421,6 +421,7 @@
$string['search'] = 'Search';
$string['search:activity'] = 'Database - activity information';
$string['search:entry'] = 'Database - entries';
$string['searchresults'] = 'Entries containing "{$a}"';
$string['selectedrequired'] = 'All selected required';
$string['selectfields'] = 'Select fields';
$string['selectexportoptions'] = 'Select export options';
Expand Down
1 change: 0 additions & 1 deletion mod/data/lib.php
Expand Up @@ -2213,7 +2213,6 @@ function data_print_header($course, $cm, $data, $currenttab='', string $actionba

global $CFG, $displaynoticegood, $displaynoticebad, $OUTPUT, $PAGE, $USER;

$PAGE->set_title($data->name);
echo $OUTPUT->header();

echo $actionbar;
Expand Down
18 changes: 17 additions & 1 deletion mod/data/preset.php
Expand Up @@ -72,7 +72,12 @@

$PAGE->add_body_class('mediumwidth');
$PAGE->set_url($url);
$PAGE->set_title(get_string('course') . ': ' . $course->fullname);
$titleparts = [
get_string('presets', 'data'),
format_string($cm->name),
format_string($course->fullname),
];
$PAGE->set_title(implode(moodle_page::TITLE_SEPARATOR, $titleparts));
$PAGE->set_heading($course->fullname);
$PAGE->force_settings_menu(true);
$PAGE->activityheader->disable();
Expand Down Expand Up @@ -142,6 +147,17 @@
}
$preview = new preset_preview($manager, $preset, $templatename);
$preview->prepare_page($PAGE);
$url->params([
'fullname' => $fullname,
'template' => $templatename,
]);
$PAGE->set_url($url);
$titleparts = [
get_string('preview', 'data', $preset->name),
format_string($cm->name),
format_string($course->fullname),
];
$PAGE->set_title(implode(moodle_page::TITLE_SEPARATOR, $titleparts));
// Print the preview screen.
echo $OUTPUT->header();
$actionbar = new action_bar($data->id, $url);
Expand Down
34 changes: 33 additions & 1 deletion mod/data/templates.php
Expand Up @@ -71,7 +71,39 @@
}

$PAGE->requires->js('/mod/data/data.js');
$PAGE->set_title($instance->name);
switch ($mode) {
case 'asearchtemplate':
$title = get_string('asearchtemplate', 'data');
break;
case 'csstemplate':
$title = get_string('csstemplate', 'data');
break;
case 'jstemplate':
$title = get_string('jstemplate', 'data');
break;
case 'listtemplate':
$title = get_string('listtemplate', 'data');
break;
case 'rsstemplate':
$title = get_string('rsstemplate', 'data');
break;
case 'singletemplate':
$title = get_string('singletemplate', 'data');
break;
default:
if ($manager->has_fields()) {
$title = get_string('addtemplate', 'data');
} else {
$title = get_string('data:managetemplates', 'data');
}
break;
}
$titleparts = [
$title,
format_string($instance->name),
format_string($course->fullname),
];
$PAGE->set_title(implode(moodle_page::TITLE_SEPARATOR, $titleparts));
$PAGE->set_heading($course->fullname);
$PAGE->set_pagelayout('admin');
$PAGE->force_settings_menu(true);
Expand Down
20 changes: 17 additions & 3 deletions mod/data/view.php
Expand Up @@ -44,6 +44,7 @@
$delete = optional_param('delete', 0, PARAM_INT); //delete recordid
$multidelete = optional_param_array('delcheck', null, PARAM_INT);
$serialdelete = optional_param('serialdelete', null, PARAM_RAW);
$confirm = optional_param('confirm', 0, PARAM_INT);

$record = null;

Expand Down Expand Up @@ -206,7 +207,6 @@
/// Print the page header
// Note: MDL-19010 there will be further changes to printing header and blocks.
// The code will be much nicer than this eventually.
$title = $courseshortname.': ' . format_string($data->name);

if ($PAGE->user_allowed_editing() && !$PAGE->theme->haseditswitch) {
// Change URL parameter and block display string value depending on whether editing is enabled or not
Expand All @@ -226,7 +226,21 @@
}

$PAGE->add_body_class('mediumwidth');
$PAGE->set_title($title);
$titleparts = [
format_string($data->name),
format_string($course->fullname),
];
if (!empty(trim($search))) {
// Indicate search results on page title when searching.
array_unshift($titleparts, get_string('searchresults', 'data', s($search)));
} else if (!empty($delete) && empty($confirm)) {
// Displaying the delete confirmation page.
array_unshift($titleparts, get_string('deleteentry', 'data'));
} else if ($record !== null || $mode == 'single') {
// Indicate on the page tile if the user is viewing this page on single view mode.
array_unshift($titleparts, get_string('single', 'data'));
}
$PAGE->set_title(implode(moodle_page::TITLE_SEPARATOR, $titleparts));
$PAGE->set_heading($course->fullname);
$PAGE->force_settings_menu(true);
if ($delete && confirm_sesskey() && (data_user_can_manage_entry($delete, $data, $context))) {
Expand Down Expand Up @@ -271,7 +285,7 @@
/// Delete any requested records

if ($delete && confirm_sesskey() && (data_user_can_manage_entry($delete, $data, $context))) {
if ($confirm = optional_param('confirm',0,PARAM_INT)) {
if ($confirm) {
if (data_delete_record($delete, $data, $course->id, $cm->id)) {
echo $OUTPUT->notification(get_string('recorddeleted','data'), 'notifysuccess');
}
Expand Down

0 comments on commit 9332617

Please sign in to comment.