private function SmartDateRule::makeRanges in Smart Date 3.4.x
Same name and namespace in other branches
- 3.1.x modules/smart_date_recur/src/Entity/SmartDateRule.php \Drupal\smart_date_recur\Entity\SmartDateRule::makeRanges()
- 3.2.x modules/smart_date_recur/src/Entity/SmartDateRule.php \Drupal\smart_date_recur\Entity\SmartDateRule::makeRanges()
- 3.3.x modules/smart_date_recur/src/Entity/SmartDateRule.php \Drupal\smart_date_recur\Entity\SmartDateRule::makeRanges()
Helper function to convert an array into ranges.
Parameters
array $array: The array to convert.
int $offset: The offset to use for comoparison.
Return value
array An array of ranges.
1 call to SmartDateRule::makeRanges()
- SmartDateRule::getTextRule in modules/
smart_date_recur/ src/ Entity/ SmartDateRule.php - Use the transformer to get text output of the rule.
File
- modules/
smart_date_recur/ src/ Entity/ SmartDateRule.php, line 564
Class
- SmartDateRule
- Defines the Smart date rule entity.
Namespace
Drupal\smart_date_recur\EntityCode
private function makeRanges(array $array, $offset = 1) {
$ranges = [];
if (!$array || count($array) == 1) {
return $array;
}
$start_item = array_shift($array);
$range = [
$start_item,
];
foreach ($array as $value) {
if ($value == $start_item + $offset) {
// Add to the current range.
$range[] = $value;
}
else {
// Start a new range.
$ranges[] = $range;
$range = [
$value,
];
}
$start_item = $value;
}
// Add the final range.
$ranges[] = $range;
return $ranges;
}