Index: devel.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/devel/devel.module,v
retrieving revision 1.100
diff -u -F^f -r1.100 devel.module
--- devel.module	7 Aug 2006 17:24:08 -0000	1.100
+++ devel.module	9 Aug 2006 08:37:42 -0000
@@ -89,6 +89,12 @@ function devel_menu($may_cache) {
       'access' => user_access('switch users'),
       'type' => MENU_CALLBACK,
     );
+    $items[] = array('path' => 'devel/cron',
+      'title' => t('run cron'),
+      'callback' => 'devel_cron_run',
+      'access' => user_access('access devel information'),
+      'type' => MENU_CALLBACK,
+    );
     $items[] = array(
       'path' => 'admin/settings/devel',
       'title' => t('devel'),
@@ -189,6 +195,7 @@ function devel_block($op = 'list', $delt
           $links[] = l('reset menus', 'devel/menu/reset');
           $links[] = l('variable viewer', 'devel/variable');
           $links[] = l('session viewer', 'devel/session');
+          $links[] = l('run cron', 'devel/cron');
         }
         if (function_exists('devel_node_access_perm') && user_access(DNA_ACCESS_VIEW)) {
           // True only if devel_node_access enabled.
@@ -792,3 +799,17 @@ function devel_queries_empty() {
   drupal_goto('devel/queries');
 }
 
+/**
+ * Menu callback; runs cron manually, then redirects to the previous page.
+ */
+function devel_cron_run() {
+  if (drupal_cron_run()) {
+    drupal_set_message(t('Cron ran successfully'));
+  }
+  else {
+    drupal_set_message(t('Cron run failed'));
+  }
+  $referer = referer_uri();
+  header('Location: '. ($referer ? $referer : $base_url));
+  exit();
+}
