From 8a050ba9afc45ecc757cde106122ff851f4f681c Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Thu, 6 Feb 2014 14:20:40 +0100 Subject: [PATCH] [ADDED] User notifications for disabled crons Fixes #1201 once merged --- public/include/config/monitor_crons.inc.php | 17 ++++++++++ public/include/pages/admin/dashboard.inc.php | 7 ++-- public/include/pages/admin/monitoring.inc.php | 19 ++--------- public/include/smarty_globals.inc.php | 32 +++++++++++++++++++ 4 files changed, 56 insertions(+), 19 deletions(-) create mode 100644 public/include/config/monitor_crons.inc.php diff --git a/public/include/config/monitor_crons.inc.php b/public/include/config/monitor_crons.inc.php new file mode 100644 index 00000000..821041bc --- /dev/null +++ b/public/include/config/monitor_crons.inc.php @@ -0,0 +1,17 @@ +can_connect() === true){ $version['CURRENT'] = array('DB' => DB_VERSION, 'CONFIG' => CONFIG_VERSION, 'CORE' => MPOS_VERSION); $version['INSTALLED'] = array('DB' => $setting->getValue('DB_VERSION'), 'CONFIG' => $config['version'], 'CORE' => MPOS_VERSION); -// Fetch cron information -$aCrons = array('statistics','payouts','token_cleanup','archive_cleanup','blockupdate','findblock','notifications','tickerupdate'); +// Fetch our cron list $aMonitorCrons +require_once(INCLUDE_DIR . '/config/monitor_crons.inc.php'); + // Data array for template $cron_errors = 0; $cron_disabled = 0; -foreach ($aCrons as $strCron) { +foreach ($aMonitorCrons as $strCron) { $status = $monitoring->getStatus($strCron . '_status'); if ($status['value'] != 0) $cron_errors++; diff --git a/public/include/pages/admin/monitoring.inc.php b/public/include/pages/admin/monitoring.inc.php index e720f776..ffb9483c 100644 --- a/public/include/pages/admin/monitoring.inc.php +++ b/public/include/pages/admin/monitoring.inc.php @@ -7,24 +7,11 @@ if (!$user->isAuthenticated() || !$user->isAdmin($_SESSION['USERDATA']['id'])) { die("404 Page not found"); } -// Default crons to monitor -$aCrons = array('statistics','payouts','token_cleanup','archive_cleanup','blockupdate','findblock','notifications','tickerupdate','liquid_payout'); - -// Special cases, only add them if activated -switch ($config['payout_system']) { -case 'pplns': - $aCrons[] = $config['payout_system'] . '_payout'; - break; -case 'pps': - $aCrons[] = $config['payout_system'] . '_payout'; - break; -case 'prop': - $aCrons[] = 'proportional_payout'; - break; -} +// Load our cron list $aMonitorCrons +require_once(INCLUDE_DIR . '/config/monitor_crons.inc.php'); // Data array for template -foreach ($aCrons as $strCron) { +foreach ($aMonitorCrons as $strCron) { $aCronStatus[$strCron] = array( 'disabled' => $monitoring->getStatus($strCron . '_disabled'), 'exit' => $monitoring->getStatus($strCron . '_status'), diff --git a/public/include/smarty_globals.inc.php b/public/include/smarty_globals.inc.php index 98b44bd1..a772718c 100644 --- a/public/include/smarty_globals.inc.php +++ b/public/include/smarty_globals.inc.php @@ -172,6 +172,38 @@ if ($motd = $setting->getValue('system_motd')) // So we can display additional info $smarty->assign('DEBUG', $config['DEBUG']); +// Lets check for our cron status and render a message +require_once(INCLUDE_DIR . '/config/monitor_crons.inc.php'); +$bMessage = false; +$aCronMessage[] = 'We are investingating issues in the backend. Your shares and hashrate are safe and we will fix things ASAP.

'; +foreach ($aMonitorCrons as $strCron) { + if ($monitoring->isDisabled($strCron) == 1) { + $bMessage = true; + switch ($strCron) { + case 'payouts': + $aCronMessage[] = '
  • Payouts disabled, you will not receive any coins to your offline wallet for the time being
  • '; + break; + case 'findblock': + $aCronMessage[] = '
  • Findblocks disabled, new blocks will currently not show up in the frontend
  • '; + break; + case 'blockupdate': + $aCronMessage[] = '
  • Blockupdate disabled, blocks and transactions confirmations are delayed
  • '; + break; + case 'pplns_payout': + $aCronMessage[] = '
  • PPLNS payout disabled, round credit transactions are delayed
  • '; + break; + case 'prop_payout': + $aCronMessage[] = '
  • Proportional payout disabled, round credit transactions are delayed
  • '; + break; + case 'pps_payout': + $aCronMessage[] = '
  • PPS payout disabled, share credit transactions are delayed
  • '; + break; + } + } +} +if ($bMessage) + $_SESSION['POPUP'][] = array('CONTENT' => implode($aCronMessage, '')); + // Make it available in Smarty $smarty->assign('PATH', 'site_assets/' . THEME); $smarty->assign('GLOBALASSETS', 'site_assets/global');