Index: elysia_cron.module
===================================================================
--- elysia_cron.module	(revision 7434)
+++ elysia_cron.module	(working copy)
@@ -104,7 +104,11 @@
     drupal_goto('admin/reports/status');
   }
 
-  exit();
+  // Exit the cron process when all functions are managed from Elysia Cron.
+  // When elysia cron is ignoring the hook_cron functions, allow the process 
+  // to continue.
+  if (!_ec_variable_get('elysia_cron_ignore_hook_cron', false))
+    exit();
 }
 
 /**
@@ -138,6 +142,7 @@
       'elysia_cron_last_context',
       'elysia_cron_last_run',
       'elysia_cron_disabled',
+      'elysia_cron_ignore_hook_cron',
       'elysia_cron_semaphore',
       'elysia_cron_key',
       'elysia_cron_allowed_hosts',
@@ -470,6 +475,7 @@
   //dprint('Disabled: '._ec_variable_get('elysia_cron_disabled', false));
   $v = _ec_variable_get('elysia_cron_disabled', false);
   $output .= '<p>Global disable: <i>'.($v ? '<span class="warn">YES</span>':'no').'</i></p>';
+  $output .= '<p>Ignore standard Drupal cron hooks: <i>'.(_ec_variable_get('elysia_cron_ignore_hook_cron', false) ? '<span class="warn">YES</span>':'no').'</i></p>';
   $output .= '<p>Last context executed: <i>'._ec_variable_get('elysia_cron_last_context', '').'</i></p>';
 
   if (_ec_variable_get('elysia_cron_semaphore', 0))
@@ -639,6 +645,13 @@
     '#default_value' => _ec_variable_get('elysia_cron_disabled', false),
   );
 
+  $form['elysia_cron_ignore_hook_cron'] = array(
+    '#title' => t('Ignore standard Drupal cron hooks'),
+    '#type' => 'checkbox',
+    '#default_value' => _ec_variable_get('elysia_cron_ignore_hook_cron', false),
+    '#description' => t('When check elysia cron will NOT take over the cron process for modules that use standard Drupal cron. Elysia cron will only run modules that have enabled the cronapi hook.'),
+  );
+
   $form['installation'] = array(
     '#title' => t('Installation settings'),
     '#type' => 'fieldset',
@@ -1065,9 +1078,12 @@
 
 function elysia_cron_module_jobs() {
   $jobs = array();
-  foreach (module_implements('cron') as $module)
-    if ($module != 'elysia_cron')
-      $jobs[] = array($module, $module .'_cron');
+  // Skip the Drupal hook_cron when set to ignore Drupal functions.
+  if (!_ec_variable_get('elysia_cron_ignore_hook_cron', false)) {
+    foreach (module_implements('cron') as $module)
+      if ($module != 'elysia_cron')
+        $jobs[] = array($module, $module .'_cron');
+  }
 
   foreach (module_implements('cronapi') as $module) {
     $fn = $module.'_cronapi';
