Commit dbd65fb6 authored by Binny Thomas's avatar Binny Thomas Committed by Owen Bush
Browse files

Issue #3301983 by binnythomas, owenbush: PHP 8.0 compatiblity issues - Cannot...

Issue #3301983 by binnythomas, owenbush: PHP 8.0 compatiblity issues - Cannot save or edit events and leading to WSOD errors
parent 497b0ad6
Loading
Loading
Loading
Loading
+43 −40
Original line number Diff line number Diff line
@@ -185,7 +185,7 @@ class ConsecutiveRecurringDate extends DateRangeItem implements RecurringEventsF
   */
  public static function buildDiffArray(array $entity_config, array $form_config) {
    $diff = [];

    if (!empty($entity_config['start_date']) && !empty($entity_config['end_date'])) {
      if ($entity_config['start_date']->format(DateTimeItemInterface::DATETIME_STORAGE_FORMAT) !== $form_config['start_date']->format(DateTimeItemInterface::DATETIME_STORAGE_FORMAT)) {
        $diff['start_date'] = [
          'label' => t('Start Date'),
@@ -200,6 +200,7 @@ class ConsecutiveRecurringDate extends DateRangeItem implements RecurringEventsF
          'override' => $form_config['end_date']->format(DateTimeItemInterface::DATE_STORAGE_FORMAT),
        ];
      }
    }
    if ((strtoupper($entity_config['time'] ?? '')) !== (strtoupper($form_config['time'] ?? ''))) {
      $diff['time'] = [
        'label' => t('Time'),
@@ -253,6 +254,7 @@ class ConsecutiveRecurringDate extends DateRangeItem implements RecurringEventsF
    $events_to_create = [];
    $utc_timezone = new \DateTimeZone(DateTimeItemInterface::STORAGE_TIMEZONE);

    if(!empty($form_data['start_date']) && !empty($form_data['end_date'])) {
      $daily_dates = static::findDailyDatesBetweenDates($form_data['start_date'], $form_data['end_date']);
      $time_parts = static::convertTimeTo24hourFormat($form_data['time']);

@@ -279,6 +281,7 @@ class ConsecutiveRecurringDate extends DateRangeItem implements RecurringEventsF
          }
        }
      }
    }

    return $events_to_create;
  }
+1 −1
Original line number Diff line number Diff line
@@ -318,7 +318,7 @@ class ConsecutiveRecurringDateWidget extends DateRangeDefaultWidget {
   */
  public function validateForm(array &$element, FormStateInterface $form_state, array &$complete_form) {
    $recur_type = $form_state->getValue('recur_type');
    if ($recur_type[0]['value'] === 'consecutive_recurring_date') {
    if (isset($recur_type[0]['value']) && $recur_type[0]['value'] === 'consecutive_recurring_date') {
      $values = $form_state->getValue('consecutive_recurring_date');
      if (empty($values[0])) {
        $form_state->setError($element, $this->t('Please configure the Consecutive Recurring Date settings'));