original_string: protected function process_set_batch_marking_allocation() {
          global $CFG, $DB;
  
          // Include batch marking allocation form.
          require_once($CFG->dirroot . '/mod/assign/batchsetallocatedmarkerform.php');
  
          $formparams = array(
              'userscount' => 0,  // This form is never re-displayed, so we don't need to
              'usershtml' => ''   // initialise these parameters with real information.
          );
  
          list($sort, $params) = users_order_by_sql('u');
          // Only enrolled users could be assigned as potential markers.
          $markers = get_enrolled_users($this->get_context(), 'mod/assign:grade', 0, 'u.*', $sort);
          $markerlist = array();
          foreach ($markers as $marker) {
              $markerlist[$marker->id] = fullname($marker);
          }
  
          $formparams['markers'] = $markerlist;
  
          $mform = new mod_assign_batch_set_allocatedmarker_form(null, $formparams);
  
          if ($mform->is_cancelled()) {
              return true;
          }
  
          if ($formdata = $mform->get_data()) {
              $useridlist = explode(',', $formdata->selectedusers);
              $marker = $DB->get_record('user', array('id' => $formdata->allocatedmarker), '*', MUST_EXIST);
  
              foreach ($useridlist as $userid) {
                  $flags = $this->get_user_flags($userid, true);
                  if ($flags->workflowstate == ASSIGN_MARKING_WORKFLOW_STATE_READYFORREVIEW ||
                      $flags->workflowstate == ASSIGN_MARKING_WORKFLOW_STATE_INREVIEW ||
                      $flags->workflowstate == ASSIGN_MARKING_WORKFLOW_STATE_READYFORRELEASE ||
                      $flags->workflowstate == ASSIGN_MARKING_WORKFLOW_STATE_RELEASED) {
  
                      continue; // Allocated marker can only be changed in certain workflow states.
                  }
  
                  $flags->allocatedmarker = $marker->id;
  
                  if ($this->update_user_flags($flags)) {
                      $user = $DB->get_record('user', array('id' => $userid), '*', MUST_EXIST);
                      \mod_assign\event\marker_updated::create_from_marker($this, $user, $marker)->trigger();
                  }
              }
          }
      }
code: protected function process_set_batch_marking_allocation() {
          global $CFG, $DB;
  
          // Include batch marking allocation form.
          require_once($CFG->dirroot . '/mod/assign/batchsetallocatedmarkerform.php');
  
          $formparams = array(
              'userscount' => 0,  // This form is never re-displayed, so we don't need to
              'usershtml' => ''   // initialise these parameters with real information.
          );
  
          list($sort, $params) = users_order_by_sql('u');
          // Only enrolled users could be assigned as potential markers.
          $markers = get_enrolled_users($this->get_context(), 'mod/assign:grade', 0, 'u.*', $sort);
          $markerlist = array();
          foreach ($markers as $marker) {
              $markerlist[$marker->id] = fullname($marker);
          }
  
          $formparams['markers'] = $markerlist;
  
          $mform = new mod_assign_batch_set_allocatedmarker_form(null, $formparams);
  
          if ($mform->is_cancelled()) {
              return true;
          }
  
          if ($formdata = $mform->get_data()) {
              $useridlist = explode(',', $formdata->selectedusers);
              $marker = $DB->get_record('user', array('id' => $formdata->allocatedmarker), '*', MUST_EXIST);
  
              foreach ($useridlist as $userid) {
                  $flags = $this->get_user_flags($userid, true);
                  if ($flags->workflowstate == ASSIGN_MARKING_WORKFLOW_STATE_READYFORREVIEW ||
                      $flags->workflowstate == ASSIGN_MARKING_WORKFLOW_STATE_INREVIEW ||
                      $flags->workflowstate == ASSIGN_MARKING_WORKFLOW_STATE_READYFORRELEASE ||
                      $flags->workflowstate == ASSIGN_MARKING_WORKFLOW_STATE_RELEASED) {
  
                      continue; // Allocated marker can only be changed in certain workflow states.
                  }
  
                  $flags->allocatedmarker = $marker->id;
  
                  if ($this->update_user_flags($flags)) {
                      $user = $DB->get_record('user', array('id' => $userid), '*', MUST_EXIST);
                      \mod_assign\event\marker_updated::create_from_marker($this, $user, $marker)->trigger();
                  }
              }
          }
      }
code_tokens: protected function process_set_batch_marking_allocation ( ) { global $ CFG , $ DB ; // Include batch marking allocation form. require_once ( $ CFG -> dirroot . '/mod/assign/batchsetallocatedmarkerform.php' ) ; $ formparams = array ( 'userscount' => 0 , // This form is never re-displayed, so we don't need to 'usershtml' => '' // initialise these parameters with real information. ) ; list ( $ sort , $ params ) = users_order_by_sql ( 'u' ) ; // Only enrolled users could be assigned as potential markers. $ markers = get_enrolled_users ( $ this -> get_context ( ) , 'mod/assign:grade' , 0 , 'u.*' , $ sort ) ; $ markerlist = array ( ) ; foreach ( $ markers as $ marker ) { $ markerlist [ $ marker -> id ] = fullname ( $ marker ) ; } $ formparams [ 'markers' ] = $ markerlist ; $ mform = new mod_assign_batch_set_allocatedmarker_form ( null , $ formparams ) ; if ( $ mform -> is_cancelled ( ) ) { return true ; } if ( $ formdata = $ mform -> get_data ( ) ) { $ useridlist = explode ( ',' , $ formdata -> selectedusers ) ; $ marker = $ DB -> get_record ( 'user' , array ( 'id' => $ formdata -> allocatedmarker ) , '*' , MUST_EXIST ) ; foreach ( $ useridlist as $ userid ) { $ flags = $ this -> get_user_flags ( $ userid , true ) ; if ( $ flags -> workflowstate == ASSIGN_MARKING_WORKFLOW_STATE_READYFORREVIEW || $ flags -> workflowstate == ASSIGN_MARKING_WORKFLOW_STATE_INREVIEW || $ flags -> workflowstate == ASSIGN_MARKING_WORKFLOW_STATE_READYFORRELEASE || $ flags -> workflowstate == ASSIGN_MARKING_WORKFLOW_STATE_RELEASED ) { continue ; // Allocated marker can only be changed in certain workflow states. } $ flags -> allocatedmarker = $ marker -> id ; if ( $ this -> update_user_flags ( $ flags ) ) { $ user = $ DB -> get_record ( 'user' , array ( 'id' => $ userid ) , '*' , MUST_EXIST ) ; \ mod_assign \ event \ marker_updated :: create_from_marker ( $ this , $ user , $ marker ) -> trigger ( ) ; } } } }
docstring: Set the marking allocation for multiple users
  
  @return void
docstring_tokens: Set the marking allocation for multiple users