original_string: public static function member_added(\core\event\cohort_member_added $event) {
          global $DB, $CFG;
          require_once("$CFG->dirroot/group/lib.php");
  
          if (!enrol_is_enabled('cohort')) {
              return true;
          }
  
          // Does any enabled cohort instance want to sync with this cohort?
          $sql = "SELECT e.*, r.id as roleexists
                    FROM {enrol} e
               LEFT JOIN {role} r ON (r.id = e.roleid)
                   WHERE e.customint1 = :cohortid AND e.enrol = 'cohort' AND e.status = :enrolstatus
                ORDER BY e.id ASC";
          $params['cohortid'] = $event->objectid;
          $params['enrolstatus'] = ENROL_INSTANCE_ENABLED;
          if (!$instances = $DB->get_records_sql($sql, $params)) {
              return true;
          }
  
          $plugin = enrol_get_plugin('cohort');
          foreach ($instances as $instance) {
              if ($instance->status != ENROL_INSTANCE_ENABLED ) {
                  // No roles for disabled instances.
                  $instance->roleid = 0;
              } else if ($instance->roleid and !$instance->roleexists) {
                  // Invalid role - let's just enrol, they will have to create new sync and delete this one.
                  $instance->roleid = 0;
              }
              unset($instance->roleexists);
              // No problem if already enrolled.
              $plugin->enrol_user($instance, $event->relateduserid, $instance->roleid, 0, 0, ENROL_USER_ACTIVE);
  
              // Sync groups.
              if ($instance->customint2) {
                  if (!groups_is_member($instance->customint2, $event->relateduserid)) {
                      if ($group = $DB->get_record('groups', array('id'=>$instance->customint2, 'courseid'=>$instance->courseid))) {
                          groups_add_member($group->id, $event->relateduserid, 'enrol_cohort', $instance->id);
                      }
                  }
              }
          }
  
          return true;
      }
code: public static function member_added(\core\event\cohort_member_added $event) {
          global $DB, $CFG;
          require_once("$CFG->dirroot/group/lib.php");
  
          if (!enrol_is_enabled('cohort')) {
              return true;
          }
  
          // Does any enabled cohort instance want to sync with this cohort?
          $sql = "SELECT e.*, r.id as roleexists
                    FROM {enrol} e
               LEFT JOIN {role} r ON (r.id = e.roleid)
                   WHERE e.customint1 = :cohortid AND e.enrol = 'cohort' AND e.status = :enrolstatus
                ORDER BY e.id ASC";
          $params['cohortid'] = $event->objectid;
          $params['enrolstatus'] = ENROL_INSTANCE_ENABLED;
          if (!$instances = $DB->get_records_sql($sql, $params)) {
              return true;
          }
  
          $plugin = enrol_get_plugin('cohort');
          foreach ($instances as $instance) {
              if ($instance->status != ENROL_INSTANCE_ENABLED ) {
                  // No roles for disabled instances.
                  $instance->roleid = 0;
              } else if ($instance->roleid and !$instance->roleexists) {
                  // Invalid role - let's just enrol, they will have to create new sync and delete this one.
                  $instance->roleid = 0;
              }
              unset($instance->roleexists);
              // No problem if already enrolled.
              $plugin->enrol_user($instance, $event->relateduserid, $instance->roleid, 0, 0, ENROL_USER_ACTIVE);
  
              // Sync groups.
              if ($instance->customint2) {
                  if (!groups_is_member($instance->customint2, $event->relateduserid)) {
                      if ($group = $DB->get_record('groups', array('id'=>$instance->customint2, 'courseid'=>$instance->courseid))) {
                          groups_add_member($group->id, $event->relateduserid, 'enrol_cohort', $instance->id);
                      }
                  }
              }
          }
  
          return true;
      }
code_tokens: public static function member_added ( \ core \ event \ cohort_member_added $ event ) { global $ DB , $ CFG ; require_once ( "$CFG->dirroot/group/lib.php" ) ; if ( ! enrol_is_enabled ( 'cohort' ) ) { return true ; } // Does any enabled cohort instance want to sync with this cohort? $ sql = "SELECT e.*, r.id as roleexists
                    FROM {enrol} e
               LEFT JOIN {role} r ON (r.id = e.roleid)
                   WHERE e.customint1 = :cohortid AND e.enrol = 'cohort' AND e.status = :enrolstatus
                ORDER BY e.id ASC" ; $ params [ 'cohortid' ] = $ event -> objectid ; $ params [ 'enrolstatus' ] = ENROL_INSTANCE_ENABLED ; if ( ! $ instances = $ DB -> get_records_sql ( $ sql , $ params ) ) { return true ; } $ plugin = enrol_get_plugin ( 'cohort' ) ; foreach ( $ instances as $ instance ) { if ( $ instance -> status != ENROL_INSTANCE_ENABLED ) { // No roles for disabled instances. $ instance -> roleid = 0 ; } else if ( $ instance -> roleid and ! $ instance -> roleexists ) { // Invalid role - let's just enrol, they will have to create new sync and delete this one. $ instance -> roleid = 0 ; } unset ( $ instance -> roleexists ) ; // No problem if already enrolled. $ plugin -> enrol_user ( $ instance , $ event -> relateduserid , $ instance -> roleid , 0 , 0 , ENROL_USER_ACTIVE ) ; // Sync groups. if ( $ instance -> customint2 ) { if ( ! groups_is_member ( $ instance -> customint2 , $ event -> relateduserid ) ) { if ( $ group = $ DB -> get_record ( 'groups' , array ( 'id' => $ instance -> customint2 , 'courseid' => $ instance -> courseid ) ) ) { groups_add_member ( $ group -> id , $ event -> relateduserid , 'enrol_cohort' , $ instance -> id ) ; } } } } return true ; }
docstring: Event processor - cohort member added.
  @param \core\event\cohort_member_added $event
  @return bool
docstring_tokens: Event processor - cohort member added .