'WdayRangeTo',
'TimeHourAt',
'TimeMinAt',
- 'TimeHourHourly',
'TimeMinHourly'
);
$directive_desc = $resource_desc[$this->overwrite_directives[$i]];
}
if (is_object($directive_desc)) {
- if (property_exists($directive_desc, 'Required')) {
- $required = $directive_desc->Required;
- }
if (property_exists($directive_desc, 'DefaultValue')) {
$default_value = $directive_desc->DefaultValue;
}
$this->WeekRangeTo->setDirectiveValue($week_range_to);
$wdays_long = array_values(Params::$wdays);
+ $this->Wday->setData(Params::$wdays);
+ $this->WdayRangeFrom->setData(Params::$wdays);
+ $this->WdayRangeTo->setData(Params::$wdays);
$wday_single = null;
$wday_range_from = null;
$minute = null;
if ($load_values) {
$hour = $directives->Hour[0]; // @TODO: Check for many hour values;
- $minute = $directives->Minute;
+ /**
+ * Check if Minute property exists because of bug about missing Minute
+ * @see http://bugs.bacula.org/view.php?id=2318
+ */
+ $minute = property_exists($directives, 'Minute') ? $directives->Minute : 0;
}
$this->directives['time'] = array(
'hour' => $hour,
'minute' => $minute
);
- $this->TimeAt->Checked = true;
+ if ($load_values) {
+ if (count($directives->Hour) == 24) {
+ $this->TimeHourly->Checked = true;
+ $this->TimeMinHourly->setDirectiveValue($minute);
+ } elseif (count($directives->Hour) == 1) {
+ $this->TimeAt->Checked = true;
+ $this->TimeHourAt->setDirectiveValue($hour);
+ $this->TimeMinAt->setDirectiveValue($minute);
+ } else {
+ $this->TimeDisable->Checked = true;
+ }
+ } else {
+ $this->TimeDisable->Checked = true;
+ }
}
public function getDirectiveValue() {
// value the same as default value, skip it
continue;
}
- $directive_values[] = "{$directive_name}={$directive_value}";
+ if ($this->directive_types[$i] === 'DirectiveBoolean') {
+ $directive_value = Params::getBoolValue($directive_value);
+ }
+ $directive_values[] = "{$directive_name}=\"{$directive_value}\"";
}
}
$minute = sprintf('%02d', $this->TimeMinAt->getDirectiveValue());
$directive_values[] = "at {$hour}:{$minute}";
} elseif ($this->TimeHourly->Checked === true) {
- $hour = $this->TimeHourHourly->getDirectiveValue();
+ $hour = '00';
$minute = sprintf('%02d', $this->TimeMinHourly->getDirectiveValue());
- $directive_values[] = "at {$hour}:{$minute}";
+ $directive_values[] = "hourly at {$hour}:{$minute}";
}
$directive_value = array('Run' => implode(' ', $directive_values));