original_string: public function get_welcome_email_contact($sendoption, $context) {
          global $CFG;
  
          $contact = null;
          // Send as the first user assigned as the course contact.
          if ($sendoption == ENROL_SEND_EMAIL_FROM_COURSE_CONTACT) {
              $rusers = array();
              if (!empty($CFG->coursecontact)) {
                  $croles = explode(',', $CFG->coursecontact);
                  list($sort, $sortparams) = users_order_by_sql('u');
                  // We only use the first user.
                  $i = 0;
                  do {
                      $allnames = get_all_user_name_fields(true, 'u');
                      $rusers = get_role_users($croles[$i], $context, true, 'u.id,  u.confirmed, u.username, '. $allnames . ',
                      u.email, r.sortorder, ra.id', 'r.sortorder, ra.id ASC, ' . $sort, null, '', '', '', '', $sortparams);
                      $i++;
                  } while (empty($rusers) && !empty($croles[$i]));
              }
              if ($rusers) {
                  $contact = array_values($rusers)[0];
              }
          } else if ($sendoption == ENROL_SEND_EMAIL_FROM_KEY_HOLDER) {
              // Send as the first user with enrol/self:holdkey capability assigned in the course.
              list($sort) = users_order_by_sql('u');
              $keyholders = get_users_by_capability($context, 'enrol/self:holdkey', 'u.*', $sort);
              if (!empty($keyholders)) {
                  $contact = array_values($keyholders)[0];
              }
          }
  
          // If send welcome email option is set to no reply or if none of the previous options have
          // returned a contact send welcome message as noreplyuser.
          if ($sendoption == ENROL_SEND_EMAIL_FROM_NOREPLY || empty($contact)) {
              $contact = core_user::get_noreply_user();
          }
  
          return $contact;
      }
code: public function get_welcome_email_contact($sendoption, $context) {
          global $CFG;
  
          $contact = null;
          // Send as the first user assigned as the course contact.
          if ($sendoption == ENROL_SEND_EMAIL_FROM_COURSE_CONTACT) {
              $rusers = array();
              if (!empty($CFG->coursecontact)) {
                  $croles = explode(',', $CFG->coursecontact);
                  list($sort, $sortparams) = users_order_by_sql('u');
                  // We only use the first user.
                  $i = 0;
                  do {
                      $allnames = get_all_user_name_fields(true, 'u');
                      $rusers = get_role_users($croles[$i], $context, true, 'u.id,  u.confirmed, u.username, '. $allnames . ',
                      u.email, r.sortorder, ra.id', 'r.sortorder, ra.id ASC, ' . $sort, null, '', '', '', '', $sortparams);
                      $i++;
                  } while (empty($rusers) && !empty($croles[$i]));
              }
              if ($rusers) {
                  $contact = array_values($rusers)[0];
              }
          } else if ($sendoption == ENROL_SEND_EMAIL_FROM_KEY_HOLDER) {
              // Send as the first user with enrol/self:holdkey capability assigned in the course.
              list($sort) = users_order_by_sql('u');
              $keyholders = get_users_by_capability($context, 'enrol/self:holdkey', 'u.*', $sort);
              if (!empty($keyholders)) {
                  $contact = array_values($keyholders)[0];
              }
          }
  
          // If send welcome email option is set to no reply or if none of the previous options have
          // returned a contact send welcome message as noreplyuser.
          if ($sendoption == ENROL_SEND_EMAIL_FROM_NOREPLY || empty($contact)) {
              $contact = core_user::get_noreply_user();
          }
  
          return $contact;
      }
code_tokens: public function get_welcome_email_contact ( $ sendoption , $ context ) { global $ CFG ; $ contact = null ; // Send as the first user assigned as the course contact. if ( $ sendoption == ENROL_SEND_EMAIL_FROM_COURSE_CONTACT ) { $ rusers = array ( ) ; if ( ! empty ( $ CFG -> coursecontact ) ) { $ croles = explode ( ',' , $ CFG -> coursecontact ) ; list ( $ sort , $ sortparams ) = users_order_by_sql ( 'u' ) ; // We only use the first user. $ i = 0 ; do { $ allnames = get_all_user_name_fields ( true , 'u' ) ; $ rusers = get_role_users ( $ croles [ $ i ] , $ context , true , 'u.id,  u.confirmed, u.username, ' . $ allnames . ',
                      u.email, r.sortorder, ra.id' , 'r.sortorder, ra.id ASC, ' . $ sort , null , '' , '' , '' , '' , $ sortparams ) ; $ i ++ ; } while ( empty ( $ rusers ) && ! empty ( $ croles [ $ i ] ) ) ; } if ( $ rusers ) { $ contact = array_values ( $ rusers ) [ 0 ] ; } } else if ( $ sendoption == ENROL_SEND_EMAIL_FROM_KEY_HOLDER ) { // Send as the first user with enrol/self:holdkey capability assigned in the course. list ( $ sort ) = users_order_by_sql ( 'u' ) ; $ keyholders = get_users_by_capability ( $ context , 'enrol/self:holdkey' , 'u.*' , $ sort ) ; if ( ! empty ( $ keyholders ) ) { $ contact = array_values ( $ keyholders ) [ 0 ] ; } } // If send welcome email option is set to no reply or if none of the previous options have // returned a contact send welcome message as noreplyuser. if ( $ sendoption == ENROL_SEND_EMAIL_FROM_NOREPLY || empty ( $ contact ) ) { $ contact = core_user :: get_noreply_user ( ) ; } return $ contact ; }
docstring: Get the "from" contact which the email will be sent from.
  
  @param int $sendoption send email from constant ENROL_SEND_EMAIL_FROM_*
  @param $context context where the user will be fetched
  @return mixed|stdClass the contact user object.
docstring_tokens: Get the from contact which the email will be sent from .