You are here

public static function MultipleUpdatesForm::handleStateOrdering in Scheduled Publish 8.3

Re-orders states and adds/changes their delta values based on date.

1 call to MultipleUpdatesForm::handleStateOrdering()
MultipleUpdatesForm::handleStates in src/Form/MultipleUpdatesForm.php
Handles state values, clean-up and ordering.

File

src/Form/MultipleUpdatesForm.php, line 601
Contains \Drupal\scheduled_publish\Form\MultipleUpdatesForm.

Class

MultipleUpdatesForm

Namespace

Drupal\scheduled_publish\Form

Code

public static function handleStateOrdering(&$states) {
  usort($states, function ($a, $b) {
    $a_timestamp = strtotime($a['date']);
    $b_timestamp = strtotime($b['date']);
    if ($a_timestamp == $b_timestamp) {
      return 0;
    }
    return $a_timestamp < $b_timestamp ? -1 : 1;
  });

  // Keys and delta values must always match.
  foreach ($states as $key => $state) {
    $states[$key]['delta'] = $key;
  }
}