original_string: function validation($data, $files) {
          global $CFG, $COURSE;
          $errors = parent::validation($data, $files);
  
          if ($data['allocateby'] != 'no') {
              $source = array();
              if ($data['cohortid']) {
                  $source['cohortid'] = $data['cohortid'];
              }
              if ($data['groupingid']) {
                  $source['groupingid'] = $data['groupingid'];
              }
              if ($data['groupid']) {
                  $source['groupid'] = $data['groupid'];
              }
              if (!$users = groups_get_potential_members($data['courseid'], $data['roleid'], $source)) {
                  $errors['roleid'] = get_string('nousersinrole', 'group');
              }
  
             /// Check the number entered is sane
              if ($data['groupby'] == 'groups') {
                  $usercnt = count($users);
  
                  if ($data['number'] > $usercnt || $data['number'] < 1) {
                      $errors['number'] = get_string('toomanygroups', 'group', $usercnt);
                  }
              }
          }
  
          //try to detect group name duplicates
          $name = groups_parse_name(trim($data['namingscheme']), 0);
          if (groups_get_group_by_name($COURSE->id, $name)) {
              $errors['namingscheme'] = get_string('groupnameexists', 'group', $name);
          }
  
          // check grouping name duplicates
          if ( isset($data['grouping']) && $data['grouping'] == '-1') {
              $name = trim($data['groupingname']);
              if (empty($name)) {
                  $errors['groupingname'] = get_string('required');
              } else if (groups_get_grouping_by_name($COURSE->id, $name)) {
                  $errors['groupingname'] = get_string('groupingnameexists', 'group', $name);
              }
          }
  
         /// Check the naming scheme
          if ($data['groupby'] == 'groups' and $data['number'] == 1) {
              // we can use the name as is because there will be only one group max
          } else {
              $matchcnt = preg_match_all('/[#@]{1,1}/', $data['namingscheme'], $matches);
              if ($matchcnt != 1) {
                  $errors['namingscheme'] = get_string('badnamingscheme', 'group');
              }
          }
  
          return $errors;
      }
code: function validation($data, $files) {
          global $CFG, $COURSE;
          $errors = parent::validation($data, $files);
  
          if ($data['allocateby'] != 'no') {
              $source = array();
              if ($data['cohortid']) {
                  $source['cohortid'] = $data['cohortid'];
              }
              if ($data['groupingid']) {
                  $source['groupingid'] = $data['groupingid'];
              }
              if ($data['groupid']) {
                  $source['groupid'] = $data['groupid'];
              }
              if (!$users = groups_get_potential_members($data['courseid'], $data['roleid'], $source)) {
                  $errors['roleid'] = get_string('nousersinrole', 'group');
              }
  
             /// Check the number entered is sane
              if ($data['groupby'] == 'groups') {
                  $usercnt = count($users);
  
                  if ($data['number'] > $usercnt || $data['number'] < 1) {
                      $errors['number'] = get_string('toomanygroups', 'group', $usercnt);
                  }
              }
          }
  
          //try to detect group name duplicates
          $name = groups_parse_name(trim($data['namingscheme']), 0);
          if (groups_get_group_by_name($COURSE->id, $name)) {
              $errors['namingscheme'] = get_string('groupnameexists', 'group', $name);
          }
  
          // check grouping name duplicates
          if ( isset($data['grouping']) && $data['grouping'] == '-1') {
              $name = trim($data['groupingname']);
              if (empty($name)) {
                  $errors['groupingname'] = get_string('required');
              } else if (groups_get_grouping_by_name($COURSE->id, $name)) {
                  $errors['groupingname'] = get_string('groupingnameexists', 'group', $name);
              }
          }
  
         /// Check the naming scheme
          if ($data['groupby'] == 'groups' and $data['number'] == 1) {
              // we can use the name as is because there will be only one group max
          } else {
              $matchcnt = preg_match_all('/[#@]{1,1}/', $data['namingscheme'], $matches);
              if ($matchcnt != 1) {
                  $errors['namingscheme'] = get_string('badnamingscheme', 'group');
              }
          }
  
          return $errors;
      }
code_tokens: function validation ( $ data , $ files ) { global $ CFG , $ COURSE ; $ errors = parent :: validation ( $ data , $ files ) ; if ( $ data [ 'allocateby' ] != 'no' ) { $ source = array ( ) ; if ( $ data [ 'cohortid' ] ) { $ source [ 'cohortid' ] = $ data [ 'cohortid' ] ; } if ( $ data [ 'groupingid' ] ) { $ source [ 'groupingid' ] = $ data [ 'groupingid' ] ; } if ( $ data [ 'groupid' ] ) { $ source [ 'groupid' ] = $ data [ 'groupid' ] ; } if ( ! $ users = groups_get_potential_members ( $ data [ 'courseid' ] , $ data [ 'roleid' ] , $ source ) ) { $ errors [ 'roleid' ] = get_string ( 'nousersinrole' , 'group' ) ; } /// Check the number entered is sane if ( $ data [ 'groupby' ] == 'groups' ) { $ usercnt = count ( $ users ) ; if ( $ data [ 'number' ] > $ usercnt || $ data [ 'number' ] < 1 ) { $ errors [ 'number' ] = get_string ( 'toomanygroups' , 'group' , $ usercnt ) ; } } } //try to detect group name duplicates $ name = groups_parse_name ( trim ( $ data [ 'namingscheme' ] ) , 0 ) ; if ( groups_get_group_by_name ( $ COURSE -> id , $ name ) ) { $ errors [ 'namingscheme' ] = get_string ( 'groupnameexists' , 'group' , $ name ) ; } // check grouping name duplicates if ( isset ( $ data [ 'grouping' ] ) && $ data [ 'grouping' ] == '-1' ) { $ name = trim ( $ data [ 'groupingname' ] ) ; if ( empty ( $ name ) ) { $ errors [ 'groupingname' ] = get_string ( 'required' ) ; } else if ( groups_get_grouping_by_name ( $ COURSE -> id , $ name ) ) { $ errors [ 'groupingname' ] = get_string ( 'groupingnameexists' , 'group' , $ name ) ; } } /// Check the naming scheme if ( $ data [ 'groupby' ] == 'groups' and $ data [ 'number' ] == 1 ) { // we can use the name as is because there will be only one group max } else { $ matchcnt = preg_match_all ( '/[#@]{1,1}/' , $ data [ 'namingscheme' ] , $ matches ) ; if ( $ matchcnt != 1 ) { $ errors [ 'namingscheme' ] = get_string ( 'badnamingscheme' , 'group' ) ; } } return $ errors ; }
docstring: Performs validation of the form information
  
  @param array $data
  @param array $files
  @return array $errors An array of $errors
docstring_tokens: Performs validation of the form information