public function SmartDateRule::getAssembledRule in Smart Date 3.0.x
Same name and namespace in other branches
- 8.2 modules/smart_date_recur/src/Entity/SmartDateRule.php \Drupal\smart_date_recur\Entity\SmartDateRule::getAssembledRule()
- 3.x modules/smart_date_recur/src/Entity/SmartDateRule.php \Drupal\smart_date_recur\Entity\SmartDateRule::getAssembledRule()
- 3.1.x modules/smart_date_recur/src/Entity/SmartDateRule.php \Drupal\smart_date_recur\Entity\SmartDateRule::getAssembledRule()
- 3.2.x modules/smart_date_recur/src/Entity/SmartDateRule.php \Drupal\smart_date_recur\Entity\SmartDateRule::getAssembledRule()
- 3.3.x modules/smart_date_recur/src/Entity/SmartDateRule.php \Drupal\smart_date_recur\Entity\SmartDateRule::getAssembledRule()
- 3.4.x modules/smart_date_recur/src/Entity/SmartDateRule.php \Drupal\smart_date_recur\Entity\SmartDateRule::getAssembledRule()
Get the RRule object.
1 call to SmartDateRule::getAssembledRule()
- SmartDateRule::makeRuleInstances 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 287
Class
- SmartDateRule
- Defines the Smart date rule entity.
Namespace
Drupal\smart_date_recur\EntityCode
public function getAssembledRule() {
$rule = $this
->makeRuleFromParts();
if (empty($rule)) {
// Required elements missing, so abort.
return FALSE;
}
// TODO: proper timezone handling, allowing for field override.
$tz_string = \Drupal::config('system.date')
->get('timezone')['default'];
$timezone = new \DateTimeZone($tz_string);
$start = new \DateTime('@' . $this
->get('start')
->getString(), $timezone);
$start
->setTimezone($timezone);
$end = new \DateTime('@' . $this
->get('end')
->getString(), $timezone);
$end
->setTimezone($timezone);
$rrule = new Rule($rule, $start, $end);
return $rrule;
}