function tryExecute(&$cronjob, $name = '', $params = array(), $log = true, $id = null) { global $REX; $message = ''; $success = rex_cronjob::isValid($cronjob); if (!$success) { if (is_object($cronjob)) { $message = 'Invalid cronjob class "' . get_class($cronjob) . '"'; } else { $message = 'Class "' . $cronjob . '" not found'; } } else { $type = $cronjob->getType(); if (is_array($params)) { foreach ($params as $key => $value) { $cronjob->setParam(str_replace($type . '_', '', $key), $value); } } $success = $cronjob->execute(); $message = $cronjob->getMessage(); if ($message == '' && !$success) { $message = 'Unknown error'; } if ($log && !$name) { if ($REX['REDAXO']) { $name = $cronjob->getTypeName(); } else { $name = $type; } } } if ($log) { if (!$name) { $name = '[no name]'; } rex_cronjob_log::save($name, $success, $message, $id); } $this->setMessage(htmlspecialchars($message)); return $success; }
function getListOfNewestMessages($limit = 10) { global $I18N; $array = array_reverse(rex_cronjob_log::getYearMonthArray(), true); $messages = array(); foreach ($array as $year => $months) { $months = array_reverse($months, true); foreach ($months as $month) { $lines = explode("\n", trim(rex_cronjob_log::getLogOfMonth($month, $year))); $end = min($limit - count($messages), count($lines)); for ($i = 0; $i < $end; $i++) { $messages[] = $lines[$i]; } if (count($messages) >= $limit) { break 2; } } } $caption = $I18N->msg('cronjob_log_caption_2'); $summary = $I18N->msg('cronjob_log_summary_2'); return rex_cronjob_log::_getList($messages, $caption, $summary); }
$log['month'] = $month; $monthSelected = true; } } } } echo ' <div class="rex-toolbar rex-toolbar-has-form"> <div class="rex-toolbar-content"> <div class="rex-form"> <form action="index.php" method="get"> <fieldset> <input type="hidden" name="page" value="cronjob" /> <input type="hidden" name="subpage" value="log" /> <label for="log_year" style="font-weight: bold">' . $I18N->msg('cronjob_log_year') . ':</label> ' . $year_sel->get() . ' - <label for="log_month" style="font-weight: bold">' . $I18N->msg('cronjob_log_month') . ':</label> ' . $month_sel->get() . ' <noscript> <p style="display:inline;margin-left:5px"> <input type="submit" class="rex-form-submit" value="' . $I18N->msg('cronjob_log_ok') . '" /> <p> </noscript> </fieldset> </form> </div> <div class="rex-clearer"></div> </div> </div>'; echo rex_cronjob_log::getListOfMonth($log['month'], $log['year']); }
function prepare() { $this->setContent(rex_cronjob_log::getListOfNewestMessages(10)); }