private function SmartDateRule::makeRuleFromParts 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::makeRuleFromParts()
- 3.x modules/smart_date_recur/src/Entity/SmartDateRule.php \Drupal\smart_date_recur\Entity\SmartDateRule::makeRuleFromParts()
- 3.1.x modules/smart_date_recur/src/Entity/SmartDateRule.php \Drupal\smart_date_recur\Entity\SmartDateRule::makeRuleFromParts()
- 3.2.x modules/smart_date_recur/src/Entity/SmartDateRule.php \Drupal\smart_date_recur\Entity\SmartDateRule::makeRuleFromParts()
- 3.3.x modules/smart_date_recur/src/Entity/SmartDateRule.php \Drupal\smart_date_recur\Entity\SmartDateRule::makeRuleFromParts()
- 3.4.x modules/smart_date_recur/src/Entity/SmartDateRule.php \Drupal\smart_date_recur\Entity\SmartDateRule::makeRuleFromParts()
1 call to SmartDateRule::makeRuleFromParts()
- SmartDateRule::getAssembledRule in modules/smart_date_recur/ src/ Entity/ SmartDateRule.php 
- Get the RRule object.
File
- modules/smart_date_recur/ src/ Entity/ SmartDateRule.php, line 116 
Class
- SmartDateRule
- Defines the Smart date rule entity.
Namespace
Drupal\smart_date_recur\EntityCode
private function makeRuleFromParts() {
  $repeat = $this
    ->get('freq')
    ->getString();
  if (empty($repeat)) {
    return FALSE;
  }
  $rule = new FormattableMarkup('RRULE:FREQ=:freq', [
    ':freq' => $repeat,
  ]);
  // Processing for extra parameters e.g. INCREMENT, BYMONTHDAY, etc.
  $params = $this
    ->get('parameters')
    ->getString();
  if (!empty($params)) {
    $rule .= ';' . $params;
  }
  // If a limit has been set, add it to the rule definition.
  $end = $this
    ->get('limit')
    ->getString();
  if (!empty($end)) {
    $rule .= ';' . $end;
    if (strpos($end, 'UNTIL') === 0) {
      // Add midnight to specify the end of the last day.
      $rule .= 'T235959';
    }
  }
  $this
    ->setRule($rule);
  return $rule;
}