original_string: public function col_status($data) {
          global $CFG, $OUTPUT, $PAGE;
  
          $enrolstatusoutput = '';
          $canreviewenrol = has_capability('moodle/course:enrolreview', $this->context);
          if ($canreviewenrol) {
              $canviewfullnames = has_capability('moodle/site:viewfullnames', $this->context);
              $fullname = fullname($data, $canviewfullnames);
              $coursename = format_string($this->course->fullname, true, array('context' => $this->context));
              require_once($CFG->dirroot . '/enrol/locallib.php');
              $manager = new \course_enrolment_manager($PAGE, $this->course);
              $userenrolments = $manager->get_user_enrolments($data->id);
              foreach ($userenrolments as $ue) {
                  $timestart = $ue->timestart;
                  $timeend = $ue->timeend;
                  $timeenrolled = $ue->timecreated;
                  $actions = $ue->enrolmentplugin->get_user_enrolment_actions($manager, $ue);
                  $instancename = $ue->enrolmentinstancename;
  
                  // Default status field label and value.
                  $status = get_string('participationactive', 'enrol');
                  $statusval = status_field::STATUS_ACTIVE;
                  switch ($ue->status) {
                      case ENROL_USER_ACTIVE:
                          $currentdate = new DateTime();
                          $now = $currentdate->getTimestamp();
                          $isexpired = $timestart > $now || ($timeend > 0 && $timeend < $now);
                          $enrolmentdisabled = $ue->enrolmentinstance->status == ENROL_INSTANCE_DISABLED;
                          // If user enrolment status has not yet started/already ended or the enrolment instance is disabled.
                          if ($isexpired || $enrolmentdisabled) {
                              $status = get_string('participationnotcurrent', 'enrol');
                              $statusval = status_field::STATUS_NOT_CURRENT;
                          }
                          break;
                      case ENROL_USER_SUSPENDED:
                          $status = get_string('participationsuspended', 'enrol');
                          $statusval = status_field::STATUS_SUSPENDED;
                          break;
                  }
  
                  $statusfield = new status_field($instancename, $coursename, $fullname, $status, $timestart, $timeend,
                      $actions, $timeenrolled);
                  $statusfielddata = $statusfield->set_status($statusval)->export_for_template($OUTPUT);
                  $enrolstatusoutput .= $OUTPUT->render_from_template('core_user/status_field', $statusfielddata);
              }
          }
          return $enrolstatusoutput;
      }
code: public function col_status($data) {
          global $CFG, $OUTPUT, $PAGE;
  
          $enrolstatusoutput = '';
          $canreviewenrol = has_capability('moodle/course:enrolreview', $this->context);
          if ($canreviewenrol) {
              $canviewfullnames = has_capability('moodle/site:viewfullnames', $this->context);
              $fullname = fullname($data, $canviewfullnames);
              $coursename = format_string($this->course->fullname, true, array('context' => $this->context));
              require_once($CFG->dirroot . '/enrol/locallib.php');
              $manager = new \course_enrolment_manager($PAGE, $this->course);
              $userenrolments = $manager->get_user_enrolments($data->id);
              foreach ($userenrolments as $ue) {
                  $timestart = $ue->timestart;
                  $timeend = $ue->timeend;
                  $timeenrolled = $ue->timecreated;
                  $actions = $ue->enrolmentplugin->get_user_enrolment_actions($manager, $ue);
                  $instancename = $ue->enrolmentinstancename;
  
                  // Default status field label and value.
                  $status = get_string('participationactive', 'enrol');
                  $statusval = status_field::STATUS_ACTIVE;
                  switch ($ue->status) {
                      case ENROL_USER_ACTIVE:
                          $currentdate = new DateTime();
                          $now = $currentdate->getTimestamp();
                          $isexpired = $timestart > $now || ($timeend > 0 && $timeend < $now);
                          $enrolmentdisabled = $ue->enrolmentinstance->status == ENROL_INSTANCE_DISABLED;
                          // If user enrolment status has not yet started/already ended or the enrolment instance is disabled.
                          if ($isexpired || $enrolmentdisabled) {
                              $status = get_string('participationnotcurrent', 'enrol');
                              $statusval = status_field::STATUS_NOT_CURRENT;
                          }
                          break;
                      case ENROL_USER_SUSPENDED:
                          $status = get_string('participationsuspended', 'enrol');
                          $statusval = status_field::STATUS_SUSPENDED;
                          break;
                  }
  
                  $statusfield = new status_field($instancename, $coursename, $fullname, $status, $timestart, $timeend,
                      $actions, $timeenrolled);
                  $statusfielddata = $statusfield->set_status($statusval)->export_for_template($OUTPUT);
                  $enrolstatusoutput .= $OUTPUT->render_from_template('core_user/status_field', $statusfielddata);
              }
          }
          return $enrolstatusoutput;
      }
code_tokens: public function col_status ( $ data ) { global $ CFG , $ OUTPUT , $ PAGE ; $ enrolstatusoutput = '' ; $ canreviewenrol = has_capability ( 'moodle/course:enrolreview' , $ this -> context ) ; if ( $ canreviewenrol ) { $ canviewfullnames = has_capability ( 'moodle/site:viewfullnames' , $ this -> context ) ; $ fullname = fullname ( $ data , $ canviewfullnames ) ; $ coursename = format_string ( $ this -> course -> fullname , true , array ( 'context' => $ this -> context ) ) ; require_once ( $ CFG -> dirroot . '/enrol/locallib.php' ) ; $ manager = new \ course_enrolment_manager ( $ PAGE , $ this -> course ) ; $ userenrolments = $ manager -> get_user_enrolments ( $ data -> id ) ; foreach ( $ userenrolments as $ ue ) { $ timestart = $ ue -> timestart ; $ timeend = $ ue -> timeend ; $ timeenrolled = $ ue -> timecreated ; $ actions = $ ue -> enrolmentplugin -> get_user_enrolment_actions ( $ manager , $ ue ) ; $ instancename = $ ue -> enrolmentinstancename ; // Default status field label and value. $ status = get_string ( 'participationactive' , 'enrol' ) ; $ statusval = status_field :: STATUS_ACTIVE ; switch ( $ ue -> status ) { case ENROL_USER_ACTIVE : $ currentdate = new DateTime ( ) ; $ now = $ currentdate -> getTimestamp ( ) ; $ isexpired = $ timestart > $ now || ( $ timeend > 0 && $ timeend < $ now ) ; $ enrolmentdisabled = $ ue -> enrolmentinstance -> status == ENROL_INSTANCE_DISABLED ; // If user enrolment status has not yet started/already ended or the enrolment instance is disabled. if ( $ isexpired || $ enrolmentdisabled ) { $ status = get_string ( 'participationnotcurrent' , 'enrol' ) ; $ statusval = status_field :: STATUS_NOT_CURRENT ; } break ; case ENROL_USER_SUSPENDED : $ status = get_string ( 'participationsuspended' , 'enrol' ) ; $ statusval = status_field :: STATUS_SUSPENDED ; break ; } $ statusfield = new status_field ( $ instancename , $ coursename , $ fullname , $ status , $ timestart , $ timeend , $ actions , $ timeenrolled ) ; $ statusfielddata = $ statusfield -> set_status ( $ statusval ) -> export_for_template ( $ OUTPUT ) ; $ enrolstatusoutput .= $ OUTPUT -> render_from_template ( 'core_user/status_field' , $ statusfielddata ) ; } } return $ enrolstatusoutput ; }
docstring: Generate the status column.
  
  @param \stdClass $data The data object.
  @return string
docstring_tokens: Generate the status column .