@@ -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