function getTypes() { $types = array(); foreach (array_keys($this->detailMap) as $code) { array_push($types, ReminderIntervalType::from($code)); } return $types; }
/** * Creates a ReminderIntervals object from rows in the rule_reminder table, * and sets it in the supplied Rule. * @param Rule $rule */ private function fillRuleReminderIntervals($rule) { $stmt = sqlStatement(self::SQL_RULE_REMINDER_INTERVAL, array($rule->id)); $reminderInterval = new ReminderIntervals(); for ($iter = 0; $row = sqlFetchArray($stmt); $iter++) { $amount = $row['value']; $unit = TimeUnit::from($row['method_detail']); $methodParts = explode('_', $row['method']); $type = ReminderIntervalType::from($methodParts[0]); $range = ReminderIntervalRange::from($methodParts[2]); if (!is_null($type) && !is_null($range) && !is_null($unit)) { $detail = new ReminderIntervalDetail($type, $range, $amount, $unit); $reminderInterval->addDetail($detail); } } $rule->setReminderIntervals($reminderInterval); }