Skip to content

Commit b80fe78

Browse files
drobayoTheBryanOpen228
authored andcommitted
INT-19853: Add suffix to mod_hsuforum
1 parent 0fdbf04 commit b80fe78

File tree

1 file changed

+63
-41
lines changed

1 file changed

+63
-41
lines changed

mod_form.php

Lines changed: 63 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -712,27 +712,35 @@ function definition_after_data() {
712712
function data_preprocessing(&$default_values) {
713713
parent::data_preprocessing($default_values);
714714

715+
$suffix = $this->get_suffix();
716+
$completiondiscussionsenabledel = 'completiondiscussionsenabled' . $suffix;
717+
$completiondiscussionsel = 'completiondiscussions' . $suffix;
718+
$completionrepliesenabledel = 'completionrepliesenabled' . $suffix;
719+
$completionrepliesel = 'completionreplies' . $suffix;
720+
$completionpostsel = 'completionposts' . $suffix;
721+
$completionpostsenabledel = 'completionpostsenabled' . $suffix;
722+
715723
// Set up the completion checkboxes which aren't part of standard data.
716724
// We also make the default value (if you turn on the checkbox) for those
717725
// numbers to be 1, this will not apply unless checkbox is ticked.
718-
$default_values['completiondiscussionsenabled']=
719-
!empty($default_values['completiondiscussions']) ? 1 : 0;
720-
if (empty($default_values['completiondiscussions'])) {
721-
$default_values['completiondiscussions']=1;
726+
$default_values[$completiondiscussionsenabledel]=
727+
!empty($default_values[$completiondiscussionsel]) ? 1 : 0;
728+
if (empty($default_values[$completiondiscussionsel])) {
729+
$default_values[$completiondiscussionsel]=1;
722730
}
723-
$default_values['completionrepliesenabled']=
724-
!empty($default_values['completionreplies']) ? 1 : 0;
725-
if (empty($default_values['completionreplies'])) {
726-
$default_values['completionreplies']=1;
731+
$default_values[$completionrepliesenabledel]=
732+
!empty($default_values[$completionrepliesel]) ? 1 : 0;
733+
if (empty($default_values[$completionrepliesel])) {
734+
$default_values[$completionrepliesel]=1;
727735
}
728736
// Tick by default if Add mode or if completion posts settings is set to 1 or more.
729-
if (empty($this->_instance) || !empty($default_values['completionposts'])) {
730-
$default_values['completionpostsenabled'] = 1;
737+
if (empty($this->_instance) || !empty($default_values[$completionpostsel])) {
738+
$default_values[$completionpostsenabledel] = 1;
731739
} else {
732-
$default_values['completionpostsenabled'] = 0;
740+
$default_values[$completionpostsenabledel] = 0;
733741
}
734-
if (empty($default_values['completionposts'])) {
735-
$default_values['completionposts']=1;
742+
if (empty($default_values[$completionpostsel])) {
743+
$default_values[$completionpostsel]=1;
736744
}
737745
}
738746

@@ -744,34 +752,46 @@ function data_preprocessing(&$default_values) {
744752
public function add_completion_rules() {
745753
$mform =& $this->_form;
746754

747-
$group=array();
748-
$group[] =& $mform->createElement('checkbox', 'completionpostsenabled', '', get_string('completionposts','hsuforum'));
749-
$group[] =& $mform->createElement('text', 'completionposts', '', array('size'=>3));
750-
$mform->setType('completionposts',PARAM_INT);
751-
$mform->addGroup($group, 'completionpostsgroup', get_string('completionpostsgroup','hsuforum'), array(' '), false);
752-
$mform->disabledIf('completionposts','completionpostsenabled','notchecked');
755+
$suffix = $this->get_suffix();
753756

754757
$group=array();
755-
$group[] =& $mform->createElement('checkbox', 'completiondiscussionsenabled', '', get_string('completiondiscussions','hsuforum'));
756-
$group[] =& $mform->createElement('text', 'completiondiscussions', '', array('size'=>3));
757-
$mform->setType('completiondiscussions',PARAM_INT);
758-
$mform->addGroup($group, 'completiondiscussionsgroup', get_string('completiondiscussionsgroup','hsuforum'), array(' '), false);
759-
$mform->disabledIf('completiondiscussions','completiondiscussionsenabled','notchecked');
758+
$completionpostsenabledel = 'completionpostsenabled' . $suffix;
759+
$group[] =& $mform->createElement('checkbox', $completionpostsenabledel, '', get_string('completionposts','hsuforum'));
760+
$completionpostsel = 'completionposts' . $suffix;
761+
$group[] =& $mform->createElement('text', $completionpostsel, '', array('size'=>3));
762+
$mform->setType($completionpostsel,PARAM_INT);
763+
$completionpostsgroupel = 'completionpostsgroup' . $suffix;
764+
$mform->addGroup($group, $completionpostsgroupel, get_string('completionpostsgroup','hsuforum'), array(' '), false);
765+
$mform->disabledIf($completionpostsel,$completionpostsenabledel,'notchecked');
760766

761767
$group=array();
762-
$group[] =& $mform->createElement('checkbox', 'completionrepliesenabled', '', get_string('completionreplies','hsuforum'));
763-
$group[] =& $mform->createElement('text', 'completionreplies', '', array('size'=>3));
764-
$mform->setType('completionreplies',PARAM_INT);
765-
$mform->addGroup($group, 'completionrepliesgroup', get_string('completionrepliesgroup','hsuforum'), array(' '), false);
766-
$mform->disabledIf('completionreplies','completionrepliesenabled','notchecked');
768+
$completiondiscussionsenabledel = 'completiondiscussionsenabled' . $suffix;
769+
$group[] =& $mform->createElement('checkbox', $completiondiscussionsenabledel, '', get_string('completiondiscussions','hsuforum'));
770+
$completiondiscussionsel = 'completiondiscussions' . $suffix;
771+
$group[] =& $mform->createElement('text', $completiondiscussionsel, '', array('size'=>3));
772+
$mform->setType($completiondiscussionsel,PARAM_INT);
773+
$completiondiscussionsgroupel = 'completiondiscussionsgroup' . $suffix;
774+
$mform->addGroup($group, $completiondiscussionsgroupel, get_string('completiondiscussionsgroup','hsuforum'), array(' '), false);
775+
$mform->disabledIf($completiondiscussionsel,$completiondiscussionsenabledel,'notchecked');
767776

768-
return array('completiondiscussionsgroup','completionrepliesgroup','completionpostsgroup');
777+
$group=array();
778+
$completionrepliesenabledel = 'completionrepliesenabled' . $suffix;
779+
$group[] =& $mform->createElement('checkbox', $completionrepliesenabledel, '', get_string('completionreplies','hsuforum'));
780+
$completionrepliesel = 'completionreplies' . $suffix;
781+
$group[] =& $mform->createElement('text', $completionrepliesel, '', array('size'=>3));
782+
$mform->setType($completionrepliesel,PARAM_INT);
783+
$completionrepliesgroupel = 'completionrepliesgroup' . $suffix;
784+
$mform->addGroup($group, $completionrepliesgroupel, get_string('completionrepliesgroup','hsuforum'), array(' '), false);
785+
$mform->disabledIf($completionrepliesel,$completionrepliesenabledel,'notchecked');
786+
787+
return array($completiondiscussionsgroupel,$completionrepliesgroupel, $completionpostsgroupel);
769788
}
770789

771790
function completion_rule_enabled($data) {
772-
return (!empty($data['completiondiscussionsenabled']) && $data['completiondiscussions']!=0) ||
773-
(!empty($data['completionrepliesenabled']) && $data['completionreplies']!=0) ||
774-
(!empty($data['completionpostsenabled']) && $data['completionposts']!=0);
791+
$suffix = $this->get_suffix();
792+
return (!empty($data['completiondiscussionsenabled' . $suffix]) && $data['completiondiscussions' . $suffix]!=0) ||
793+
(!empty($data['completionrepliesenabled' . $suffix]) && $data['completionreplies' . $suffix]!=0) ||
794+
(!empty($data['completionpostsenabled' . $suffix]) && $data['completionposts' . $suffix]!=0);
775795
}
776796

777797
/**
@@ -786,15 +806,17 @@ public function data_postprocessing($data) {
786806
parent::data_postprocessing($data);
787807
// Turn off completion settings if the checkboxes aren't ticked
788808
if (!empty($data->completionunlocked)) {
789-
$autocompletion = !empty($data->completion) && $data->completion==COMPLETION_TRACKING_AUTOMATIC;
790-
if (empty($data->completiondiscussionsenabled) || !$autocompletion) {
791-
$data->completiondiscussions = 0;
809+
$suffix = $this->get_suffix();
810+
$completion = $data->{'completion' . $suffix};
811+
$autocompletion = !empty($completion) && $completion==COMPLETION_TRACKING_AUTOMATIC;
812+
if (empty($data->{'completiondiscussionsenabled' . $suffix}) || !$autocompletion) {
813+
$data->{'completiondiscussions' . $suffix} = 0;
792814
}
793-
if (empty($data->completionrepliesenabled) || !$autocompletion) {
794-
$data->completionreplies = 0;
815+
if (empty($data->{'completionrepliesenabled' . $suffix}) || !$autocompletion) {
816+
$data->{'completionreplies' . $suffix} = 0;
795817
}
796-
if (empty($data->completionpostsenabled) || !$autocompletion) {
797-
$data->completionposts = 0;
818+
if (empty($data->{'completionpostsenabled' . $suffix}) || !$autocompletion) {
819+
$data->{'completionposts' . $suffix} = 0;
798820
}
799821
}
800822
}
@@ -810,7 +832,7 @@ function validation($data, $files) {
810832
}
811833
}
812834
if (($data['gradetype'] == HSUFORUM_GRADETYPE_MANUAL || $data['gradetype'] == HSUFORUM_GRADETYPE_RATING)
813-
&& $data['scale'] == 0) {
835+
&& $data['scale'] == 0) {
814836
$errors['scale'] = get_string('modgradeerrorbadpoint', 'grades', get_config('core', 'gradepointmax'));
815837
}
816838
return $errors;

0 commit comments

Comments
 (0)