original_string: protected function get_timestamp_min_limit(\DateTimeInterface $starttime, $min) {
          // We need to check that the minimum valid time is earlier in the
          // day than the current event time so that if the user drags and drops
          // the event to this day (which changes the date but not the time) it
          // will result in a valid time start for the event.
          //
          // For example:
          // An event that starts on 2017-01-10 08:00 with a minimum cutoff
          // of 2017-01-05 09:00 means that 2017-01-05 is not a valid start day
          // for the drag and drop because it would result in the event start time
          // being set to 2017-01-05 08:00, which is invalid. Instead the minimum
          // valid start day would be 2017-01-06.
          $values = [];
          $timestamp = $min[0];
          $errorstring = $min[1];
          $mindate = (new \DateTimeImmutable())->setTimestamp($timestamp);
          $minstart = $mindate->setTime(
              $starttime->format('H'),
              $starttime->format('i'),
              $starttime->format('s')
          );
          $midnight = usergetmidnight($timestamp);
  
          if ($mindate <= $minstart) {
              $values['mindaytimestamp'] = $midnight;
          } else {
              $tomorrow = (new \DateTime())->setTimestamp($midnight)->modify('+1 day');
              $values['mindaytimestamp'] = $tomorrow->getTimestamp();
          }
  
          // Get the human readable error message to display if the min day
          // timestamp is violated.
          $values['mindayerror'] = $errorstring;
          return $values;
      }
code: protected function get_timestamp_min_limit(\DateTimeInterface $starttime, $min) {
          // We need to check that the minimum valid time is earlier in the
          // day than the current event time so that if the user drags and drops
          // the event to this day (which changes the date but not the time) it
          // will result in a valid time start for the event.
          //
          // For example:
          // An event that starts on 2017-01-10 08:00 with a minimum cutoff
          // of 2017-01-05 09:00 means that 2017-01-05 is not a valid start day
          // for the drag and drop because it would result in the event start time
          // being set to 2017-01-05 08:00, which is invalid. Instead the minimum
          // valid start day would be 2017-01-06.
          $values = [];
          $timestamp = $min[0];
          $errorstring = $min[1];
          $mindate = (new \DateTimeImmutable())->setTimestamp($timestamp);
          $minstart = $mindate->setTime(
              $starttime->format('H'),
              $starttime->format('i'),
              $starttime->format('s')
          );
          $midnight = usergetmidnight($timestamp);
  
          if ($mindate <= $minstart) {
              $values['mindaytimestamp'] = $midnight;
          } else {
              $tomorrow = (new \DateTime())->setTimestamp($midnight)->modify('+1 day');
              $values['mindaytimestamp'] = $tomorrow->getTimestamp();
          }
  
          // Get the human readable error message to display if the min day
          // timestamp is violated.
          $values['mindayerror'] = $errorstring;
          return $values;
      }
code_tokens: protected function get_timestamp_min_limit ( \ DateTimeInterface $ starttime , $ min ) { // We need to check that the minimum valid time is earlier in the // day than the current event time so that if the user drags and drops // the event to this day (which changes the date but not the time) it // will result in a valid time start for the event. // // For example: // An event that starts on 2017-01-10 08:00 with a minimum cutoff // of 2017-01-05 09:00 means that 2017-01-05 is not a valid start day // for the drag and drop because it would result in the event start time // being set to 2017-01-05 08:00, which is invalid. Instead the minimum // valid start day would be 2017-01-06. $ values = [ ] ; $ timestamp = $ min [ 0 ] ; $ errorstring = $ min [ 1 ] ; $ mindate = ( new \ DateTimeImmutable ( ) ) -> setTimestamp ( $ timestamp ) ; $ minstart = $ mindate -> setTime ( $ starttime -> format ( 'H' ) , $ starttime -> format ( 'i' ) , $ starttime -> format ( 's' ) ) ; $ midnight = usergetmidnight ( $ timestamp ) ; if ( $ mindate <= $ minstart ) { $ values [ 'mindaytimestamp' ] = $ midnight ; } else { $ tomorrow = ( new \ DateTime ( ) ) -> setTimestamp ( $ midnight ) -> modify ( '+1 day' ) ; $ values [ 'mindaytimestamp' ] = $ tomorrow -> getTimestamp ( ) ; } // Get the human readable error message to display if the min day // timestamp is violated. $ values [ 'mindayerror' ] = $ errorstring ; return $ values ; }
docstring: Get the correct minimum midnight day limit based on the event start time
  and the minimum timestamp limit of what the event belongs to.
  
  @param DateTimeInterface $starttime The event start time
  @param array $min The module's minimum limit for the event
  @return array Returns an array with mindaytimestamp and mindayerror keys.
docstring_tokens: Get the correct minimum midnight day limit based on the event start time and the minimum timestamp limit of what the event belongs to .