original_string: private function get_effective_groupmode() {
          $groupmode = $this->groupmode;
          if ($this->modinfo->get_course()->groupmodeforce) {
              $groupmode = $this->modinfo->get_course()->groupmode;
              if ($groupmode != NOGROUPS && !plugin_supports('mod', $this->modname, FEATURE_GROUPS, false)) {
                  $groupmode = NOGROUPS;
              }
          }
          return $groupmode;
      }
code: private function get_effective_groupmode() {
          $groupmode = $this->groupmode;
          if ($this->modinfo->get_course()->groupmodeforce) {
              $groupmode = $this->modinfo->get_course()->groupmode;
              if ($groupmode != NOGROUPS && !plugin_supports('mod', $this->modname, FEATURE_GROUPS, false)) {
                  $groupmode = NOGROUPS;
              }
          }
          return $groupmode;
      }
code_tokens: private function get_effective_groupmode ( ) { $ groupmode = $ this -> groupmode ; if ( $ this -> modinfo -> get_course ( ) -> groupmodeforce ) { $ groupmode = $ this -> modinfo -> get_course ( ) -> groupmode ; if ( $ groupmode != NOGROUPS && ! plugin_supports ( 'mod' , $ this -> modname , FEATURE_GROUPS , false ) ) { $ groupmode = NOGROUPS ; } } return $ groupmode ; }
docstring: Returns effective groupmode of the module that may be overwritten by forced course groupmode.
  
  @return int one of constants NOGROUPS, SEPARATEGROUPS, VISIBLEGROUPS
docstring_tokens: Returns effective groupmode of the module that may be overwritten by forced course groupmode .