public function SmartDateRule::makeRuleInstances in Smart Date 3.3.x
Same name and namespace in other branches
- 8.2 modules/smart_date_recur/src/Entity/SmartDateRule.php \Drupal\smart_date_recur\Entity\SmartDateRule::makeRuleInstances()
- 3.x modules/smart_date_recur/src/Entity/SmartDateRule.php \Drupal\smart_date_recur\Entity\SmartDateRule::makeRuleInstances()
- 3.0.x modules/smart_date_recur/src/Entity/SmartDateRule.php \Drupal\smart_date_recur\Entity\SmartDateRule::makeRuleInstances()
- 3.1.x modules/smart_date_recur/src/Entity/SmartDateRule.php \Drupal\smart_date_recur\Entity\SmartDateRule::makeRuleInstances()
- 3.2.x modules/smart_date_recur/src/Entity/SmartDateRule.php \Drupal\smart_date_recur\Entity\SmartDateRule::makeRuleInstances()
- 3.4.x modules/smart_date_recur/src/Entity/SmartDateRule.php \Drupal\smart_date_recur\Entity\SmartDateRule::makeRuleInstances()
Generate default instances based on rule structure.
1 call to SmartDateRule::makeRuleInstances()
- SmartDateRule::getNewInstances in modules/
smart_date_recur/ src/ Entity/ SmartDateRule.php - Generate default instances based on rule structure.
File
- modules/
smart_date_recur/ src/ Entity/ SmartDateRule.php, line 233
Class
- SmartDateRule
- Defines the Smart date rule entity.
Namespace
Drupal\smart_date_recur\EntityCode
public function makeRuleInstances($before = NULL, $after = NULL) {
$rrule = $this
->getAssembledRule();
if (empty($rrule)) {
// Required elements missing, so abort.
return FALSE;
}
$constraint = NULL;
if ($before && $after) {
$constraint = new BetweenConstraint(new \DateTime('@' . $after), new \DateTime('@' . $before));
}
elseif ($before) {
$constraint = new BeforeConstraint(new \DateTime('@' . $before));
}
elseif ($after) {
$constraint = new AfterConstraint(new \DateTime('@' . $after));
}
$transformer = new ArrayTransformer();
$instances = $transformer
->transform($rrule, $constraint);
// TODO: Convert the generated instances into an array for later processing.
return $instances;
}