function shedule2str($timeperiod) { $timeperiod['hour'] = floor($timeperiod['start_time'] / 3600); $timeperiod['minute'] = floor(($timeperiod['start_time'] - $timeperiod['hour'] * 3600) / 60); if ($timeperiod['hour'] < 10) { $timeperiod['hour'] = '0' . $timeperiod['hour']; } if ($timeperiod['minute'] < 10) { $timeperiod['minute'] = '0' . $timeperiod['minute']; } $str = S_AT . SPACE . $timeperiod['hour'] . ':' . $timeperiod['minute'] . SPACE . S_ON_SMALL . SPACE; if ($timeperiod['timeperiod_type'] == TIMEPERIOD_TYPE_ONETIME) { $str = S_AT . SPACE . date('H', $timeperiod['start_date']) . ':' . date('i', $timeperiod['start_date']) . SPACE . S_ON_SMALL . SPACE . zbx_date2str(S_MAINTENANCES_SCHEDULE_DATE_FORMAT, $timeperiod['start_date']); } else { if ($timeperiod['timeperiod_type'] == TIMEPERIOD_TYPE_DAILY) { $str .= S_EVERY_SMALL . SPACE . ($timeperiod['every'] > 1 ? $timeperiod['every'] . SPACE . S_DAYS_SMALL : S_DAY_SMALL); } else { if ($timeperiod['timeperiod_type'] == TIMEPERIOD_TYPE_WEEKLY) { $days = ''; $dayofweek = zbx_num2bitstr($timeperiod['dayofweek'], true); $length = zbx_strlen($dayofweek); for ($i = 0; $i < $length; $i++) { if ($dayofweek[$i] == 1) { if (!zbx_empty($days)) { $days .= ', '; } $days .= getDayOfWeekCaption($i + 1); } } $str .= S_EVERY_SMALL . SPACE . $days . SPACE . S_OF_EVERY_SMALL . SPACE . ($timeperiod['every'] > 1 ? $timeperiod['every'] . SPACE . S_WEEKS_SMALL : S_WEEK_SMALL); } else { if ($timeperiod['timeperiod_type'] == TIMEPERIOD_TYPE_MONTHLY) { $months = ''; $month = zbx_num2bitstr($timeperiod['month'], true); $length = zbx_strlen($month); for ($i = 0; $i < $length; $i++) { if ($month[$i] == 1) { if (!zbx_empty($months)) { $months .= ', '; } $months .= getMonthCaption($i + 1); } } if ($timeperiod['dayofweek'] > 0) { $days = ''; $dayofweek = zbx_num2bitstr($timeperiod['dayofweek'], true); $length = zbx_strlen($dayofweek); for ($i = 0; $i < $length; $i++) { if ($dayofweek[$i] == 1) { if (!zbx_empty($days)) { $days .= ', '; } $days .= getDayOfWeekCaption($i + 1); } } $every = ''; switch ($timeperiod['every']) { case 1: $every = S_FIRST; break; case 2: $every = S_SECOND; break; case 3: $every = S_THIRD; break; case 4: $every = S_FOURTH; break; case 5: $every = S_LAST; break; } $str .= $every . SPACE . $days . SPACE . S_OF_EVERY_SMALL . SPACE . $months; } else { $str .= S_DAY_SMALL . SPACE . $timeperiod['day'] . SPACE . S_OF_EVERY_SMALL . SPACE . $months; } } } } } return $str; }
function shedule2str($timeperiod) { $timeperiod['hour'] = floor($timeperiod['start_time'] / SEC_PER_HOUR); $timeperiod['minute'] = floor(($timeperiod['start_time'] - $timeperiod['hour'] * SEC_PER_HOUR) / SEC_PER_MIN); if ($timeperiod['hour'] < 10) { $timeperiod['hour'] = '0' . $timeperiod['hour']; } if ($timeperiod['minute'] < 10) { $timeperiod['minute'] = '0' . $timeperiod['minute']; } if ($timeperiod['timeperiod_type'] == TIMEPERIOD_TYPE_ONETIME) { $str = zbx_date2str(DATE_TIME_FORMAT, $timeperiod['start_date']); } elseif ($timeperiod['timeperiod_type'] == TIMEPERIOD_TYPE_DAILY) { $str = _n('At %1$s:%2$s on every day', 'At %1$s:%2$s on every %3$s days', $timeperiod['hour'], $timeperiod['minute'], $timeperiod['every']); } elseif ($timeperiod['timeperiod_type'] == TIMEPERIOD_TYPE_WEEKLY) { $days = ''; $dayofweek = zbx_num2bitstr($timeperiod['dayofweek'], true); $length = strlen($dayofweek); for ($i = 0; $i < $length; $i++) { if ($dayofweek[$i] == 1) { if (!zbx_empty($days)) { $days .= ', '; } $days .= getDayOfWeekCaption($i + 1); } } $str = _n('At %1$s:%2$s on every %3$s of every week', 'At %1$s:%2$s on every %3$s of every %4$s weeks', $timeperiod['hour'], $timeperiod['minute'], $days, $timeperiod['every']); } elseif ($timeperiod['timeperiod_type'] == TIMEPERIOD_TYPE_MONTHLY) { $months = ''; $month = zbx_num2bitstr($timeperiod['month'], true); $length = strlen($month); for ($i = 0; $i < $length; $i++) { if ($month[$i] == 1) { if (!zbx_empty($months)) { $months .= ', '; } $months .= getMonthCaption($i + 1); } } if ($timeperiod['dayofweek'] > 0) { $days = ''; $dayofweek = zbx_num2bitstr($timeperiod['dayofweek'], true); $length = strlen($dayofweek); for ($i = 0; $i < $length; $i++) { if ($dayofweek[$i] == 1) { if (!zbx_empty($days)) { $days .= ', '; } $days .= getDayOfWeekCaption($i + 1); } } $every = ''; switch ($timeperiod['every']) { case 1: $every = _('First'); break; case 2: $every = _('Second'); break; case 3: $every = _('Third'); break; case 4: $every = _('Fourth'); break; case 5: $every = _('Last'); break; } $str = _s('At %1$s:%2$s on %3$s %4$s of every %5$s', $timeperiod['hour'], $timeperiod['minute'], $every, $days, $months); } else { $str = _s('At %1$s:%2$s on day %3$s of every %4$s', $timeperiod['hour'], $timeperiod['minute'], $timeperiod['day'], $months); } } return $str; }
function shedule2str($timeperiod) { $timeperiod['hour'] = floor($timeperiod['start_time'] / SEC_PER_HOUR); $timeperiod['minute'] = floor(($timeperiod['start_time'] - $timeperiod['hour'] * SEC_PER_HOUR) / SEC_PER_MIN); if ($timeperiod['hour'] < 10) { $timeperiod['hour'] = '0' . $timeperiod['hour']; } if ($timeperiod['minute'] < 10) { $timeperiod['minute'] = '0' . $timeperiod['minute']; } $str = _('At') . SPACE . $timeperiod['hour'] . ':' . $timeperiod['minute'] . SPACE . _('on') . SPACE; if ($timeperiod['timeperiod_type'] == TIMEPERIOD_TYPE_ONETIME) { $str = _('At') . SPACE . date('H', $timeperiod['start_date']) . ':' . date('i', $timeperiod['start_date']) . SPACE . _('on') . SPACE . zbx_date2str(_('d M Y'), $timeperiod['start_date']); } elseif ($timeperiod['timeperiod_type'] == TIMEPERIOD_TYPE_DAILY) { $str .= _('every') . SPACE . ($timeperiod['every'] > 1 ? $timeperiod['every'] . SPACE . _('days') : _('day')); } elseif ($timeperiod['timeperiod_type'] == TIMEPERIOD_TYPE_WEEKLY) { $days = ''; $dayofweek = zbx_num2bitstr($timeperiod['dayofweek'], true); $length = zbx_strlen($dayofweek); for ($i = 0; $i < $length; $i++) { if ($dayofweek[$i] == 1) { if (!zbx_empty($days)) { $days .= ', '; } $days .= getDayOfWeekCaption($i + 1); } } $str .= _('every') . SPACE . $days . SPACE . _('of every') . SPACE . ($timeperiod['every'] > 1 ? $timeperiod['every'] . SPACE . _('weeks') : _('week')); } elseif ($timeperiod['timeperiod_type'] == TIMEPERIOD_TYPE_MONTHLY) { $months = ''; $month = zbx_num2bitstr($timeperiod['month'], true); $length = zbx_strlen($month); for ($i = 0; $i < $length; $i++) { if ($month[$i] == 1) { if (!zbx_empty($months)) { $months .= ', '; } $months .= getMonthCaption($i + 1); } } if ($timeperiod['dayofweek'] > 0) { $days = ''; $dayofweek = zbx_num2bitstr($timeperiod['dayofweek'], true); $length = zbx_strlen($dayofweek); for ($i = 0; $i < $length; $i++) { if ($dayofweek[$i] == 1) { if (!zbx_empty($days)) { $days .= ', '; } $days .= getDayOfWeekCaption($i + 1); } } $every = ''; switch ($timeperiod['every']) { case 1: $every = _('First'); break; case 2: $every = _('Second'); break; case 3: $every = _('Third'); break; case 4: $every = _('Fourth'); break; case 5: $every = _('Last'); break; } $str .= $every . SPACE . $days . SPACE . _('of every') . SPACE . $months; } else { $str .= _('day') . SPACE . $timeperiod['day'] . SPACE . _('of every') . SPACE . $months; } } return $str; }