/** * {@inheritdoc} */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { /* @var $a WorkflowState */ /* @var $b WorkflowState */ $a_wid = $a->wid; $b_wid = $b->wid; if ($a_wid == $b_wid) { $a_weight = $a->getWeight(); $b_weight = $b->getWeight(); return $a_weight < $b_weight ? -1 : 1; } return $a_wid < $b_wid ? -1 : 1; }
/** * Sorts active blocks by weight; sorts inactive blocks by name. */ public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) { // Separate enabled from disabled. $status = (int) $b->status() - (int) $a->status(); if ($status !== 0) { return $status; } // Sort by weight, unless disabled. if ($a->getRegion() != static::BLOCK_REGION_NONE) { $weight = $a->getWeight() - $b->getWeight(); if ($weight) { return $weight; } } // Sort by label. return strcmp($a->label(), $b->label()); }