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);
 }
Example #3
0
                    $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));
 }