original_string: protected function process_save_extension(& $mform) {
          global $DB, $CFG;
  
          // Include extension form.
          require_once($CFG->dirroot . '/mod/assign/extensionform.php');
          require_sesskey();
  
          $users = optional_param('userid', 0, PARAM_INT);
          if (!$users) {
              $users = required_param('selectedusers', PARAM_SEQUENCE);
          }
          $userlist = explode(',', $users);
  
          $keys = array('duedate', 'cutoffdate', 'allowsubmissionsfromdate');
          $maxoverride = array('allowsubmissionsfromdate' => 0, 'duedate' => 0, 'cutoffdate' => 0);
          foreach ($userlist as $userid) {
              // To validate extension date with users overrides.
              $override = $this->override_exists($userid);
              foreach ($keys as $key) {
                  if ($override->{$key}) {
                      if ($maxoverride[$key] < $override->{$key}) {
                          $maxoverride[$key] = $override->{$key};
                      }
                  } else if ($maxoverride[$key] < $this->get_instance()->{$key}) {
                      $maxoverride[$key] = $this->get_instance()->{$key};
                  }
              }
          }
          foreach ($keys as $key) {
              if ($maxoverride[$key]) {
                  $this->get_instance()->{$key} = $maxoverride[$key];
              }
          }
  
          $formparams = array(
              'instance' => $this->get_instance(),
              'assign' => $this,
              'userlist' => $userlist
          );
  
          $mform = new mod_assign_extension_form(null, $formparams);
  
          if ($mform->is_cancelled()) {
              return true;
          }
  
          if ($formdata = $mform->get_data()) {
              if (!empty($formdata->selectedusers)) {
                  $users = explode(',', $formdata->selectedusers);
                  $result = true;
                  foreach ($users as $userid) {
                      $user = $DB->get_record('user', array('id' => $userid), '*', MUST_EXIST);
                      $result = $this->save_user_extension($user->id, $formdata->extensionduedate) && $result;
                  }
                  return $result;
              }
              if (!empty($formdata->userid)) {
                  $user = $DB->get_record('user', array('id' => $formdata->userid), '*', MUST_EXIST);
                  return $this->save_user_extension($user->id, $formdata->extensionduedate);
              }
          }
  
          return false;
      }
code: protected function process_save_extension(& $mform) {
          global $DB, $CFG;
  
          // Include extension form.
          require_once($CFG->dirroot . '/mod/assign/extensionform.php');
          require_sesskey();
  
          $users = optional_param('userid', 0, PARAM_INT);
          if (!$users) {
              $users = required_param('selectedusers', PARAM_SEQUENCE);
          }
          $userlist = explode(',', $users);
  
          $keys = array('duedate', 'cutoffdate', 'allowsubmissionsfromdate');
          $maxoverride = array('allowsubmissionsfromdate' => 0, 'duedate' => 0, 'cutoffdate' => 0);
          foreach ($userlist as $userid) {
              // To validate extension date with users overrides.
              $override = $this->override_exists($userid);
              foreach ($keys as $key) {
                  if ($override->{$key}) {
                      if ($maxoverride[$key] < $override->{$key}) {
                          $maxoverride[$key] = $override->{$key};
                      }
                  } else if ($maxoverride[$key] < $this->get_instance()->{$key}) {
                      $maxoverride[$key] = $this->get_instance()->{$key};
                  }
              }
          }
          foreach ($keys as $key) {
              if ($maxoverride[$key]) {
                  $this->get_instance()->{$key} = $maxoverride[$key];
              }
          }
  
          $formparams = array(
              'instance' => $this->get_instance(),
              'assign' => $this,
              'userlist' => $userlist
          );
  
          $mform = new mod_assign_extension_form(null, $formparams);
  
          if ($mform->is_cancelled()) {
              return true;
          }
  
          if ($formdata = $mform->get_data()) {
              if (!empty($formdata->selectedusers)) {
                  $users = explode(',', $formdata->selectedusers);
                  $result = true;
                  foreach ($users as $userid) {
                      $user = $DB->get_record('user', array('id' => $userid), '*', MUST_EXIST);
                      $result = $this->save_user_extension($user->id, $formdata->extensionduedate) && $result;
                  }
                  return $result;
              }
              if (!empty($formdata->userid)) {
                  $user = $DB->get_record('user', array('id' => $formdata->userid), '*', MUST_EXIST);
                  return $this->save_user_extension($user->id, $formdata->extensionduedate);
              }
          }
  
          return false;
      }
code_tokens: protected function process_save_extension ( & $ mform ) { global $ DB , $ CFG ; // Include extension form. require_once ( $ CFG -> dirroot . '/mod/assign/extensionform.php' ) ; require_sesskey ( ) ; $ users = optional_param ( 'userid' , 0 , PARAM_INT ) ; if ( ! $ users ) { $ users = required_param ( 'selectedusers' , PARAM_SEQUENCE ) ; } $ userlist = explode ( ',' , $ users ) ; $ keys = array ( 'duedate' , 'cutoffdate' , 'allowsubmissionsfromdate' ) ; $ maxoverride = array ( 'allowsubmissionsfromdate' => 0 , 'duedate' => 0 , 'cutoffdate' => 0 ) ; foreach ( $ userlist as $ userid ) { // To validate extension date with users overrides. $ override = $ this -> override_exists ( $ userid ) ; foreach ( $ keys as $ key ) { if ( $ override -> { $ key } ) { if ( $ maxoverride [ $ key ] < $ override -> { $ key } ) { $ maxoverride [ $ key ] = $ override -> { $ key } ; } } else if ( $ maxoverride [ $ key ] < $ this -> get_instance ( ) -> { $ key } ) { $ maxoverride [ $ key ] = $ this -> get_instance ( ) -> { $ key } ; } } } foreach ( $ keys as $ key ) { if ( $ maxoverride [ $ key ] ) { $ this -> get_instance ( ) -> { $ key } = $ maxoverride [ $ key ] ; } } $ formparams = array ( 'instance' => $ this -> get_instance ( ) , 'assign' => $ this , 'userlist' => $ userlist ) ; $ mform = new mod_assign_extension_form ( null , $ formparams ) ; if ( $ mform -> is_cancelled ( ) ) { return true ; } if ( $ formdata = $ mform -> get_data ( ) ) { if ( ! empty ( $ formdata -> selectedusers ) ) { $ users = explode ( ',' , $ formdata -> selectedusers ) ; $ result = true ; foreach ( $ users as $ userid ) { $ user = $ DB -> get_record ( 'user' , array ( 'id' => $ userid ) , '*' , MUST_EXIST ) ; $ result = $ this -> save_user_extension ( $ user -> id , $ formdata -> extensionduedate ) && $ result ; } return $ result ; } if ( ! empty ( $ formdata -> userid ) ) { $ user = $ DB -> get_record ( 'user' , array ( 'id' => $ formdata -> userid ) , '*' , MUST_EXIST ) ; return $ this -> save_user_extension ( $ user -> id , $ formdata -> extensionduedate ) ; } } return false ; }
docstring: Save extension date.
  
  @param moodleform $mform The submitted form
  @return boolean
docstring_tokens: Save extension date .