--- ajaxblocks.module	2010-09-08 10:38:12.000000000 +0600
+++ ajaxblocksNEW.module	2010-09-08 10:38:12.000000000 +0600
@@ -171,7 +171,7 @@ function ajaxblocks_page_ajax_list($bloc
 function ajaxblocks_preprocess_block(&$vars) {
   $user = $GLOBALS['user'];
   // Replace block content for cached pages only.
-  if ((arg(0) != 'ajaxblocks') && ($user->uid == 0) && (variable_get('cache', CACHE_DISABLED) != CACHE_DISABLED) && ($_SERVER['REQUEST_METHOD'] == 'GET')) {
+  if ((arg(0) != 'ajaxblocks') && ($user->uid == 0) && (variable_get('cache', CACHE_DISABLED) != CACHE_DISABLED || (variable_get('cache', CACHE_DISABLED) == CACHE_DISABLED && ajaxblocks_boost_cacheable())) && ($_SERVER['REQUEST_METHOD'] == 'GET')) {
     $id = $vars['block']->module .'-'. $vars['block']->delta;
     if (ajaxblocks_is_ajax($id)) {
       ajaxblocks_page_ajax_list($id);
@@ -186,8 +186,9 @@ function ajaxblocks_preprocess_block(&$v
  */
 function ajaxblocks_preprocess_page(&$vars) {
   $user = $GLOBALS['user'];
+  
   // Replace block content for cached pages only.
-  if ((arg(0) != 'ajaxblocks') && ($user->uid == 0) && (variable_get('cache', CACHE_DISABLED) != CACHE_DISABLED) && ($_SERVER['REQUEST_METHOD'] == 'GET')) {
+  if ((arg(0) != 'ajaxblocks') && ($user->uid == 0) && (variable_get('cache', CACHE_DISABLED) != CACHE_DISABLED || (variable_get('cache', CACHE_DISABLED) == CACHE_DISABLED && ajaxblocks_boost_cacheable())) && ($_SERVER['REQUEST_METHOD'] == 'GET')) {
     $ajax_blocks = ajaxblocks_page_ajax_list(NULL);
     if (!empty($ajax_blocks)) {
       drupal_add_js(drupal_get_path('module', 'ajaxblocks') . '/ajaxblocks.js');
@@ -251,3 +252,36 @@ function ajaxblocks_in_ajax_handler_impl
 function ajaxblocks_in_ajax_handler() {
   return ajaxblocks_in_ajax_handler_impl();
 }
+
+/* For Boost compatibility */
+function ajaxblocks_boost_cacheable() {
+	if(module_exists('boost')) {
+	    $boost_enabled = variable_get('boost_enabled', CACHE_NORMAL);
+		$boost_cacheability_pages = trim(variable_get('boost_cacheability_pages', ''));
+		$boost_cacheability_option = variable_get('boost_cacheability_option', 0);
+		 
+		$boost_cacheable = FALSE;
+		if($boost_enabled) {
+			if($boost_cacheability_pages) {
+			  if($boost_cacheability_option < 2) {
+			    $path = drupal_get_normal_path($_REQUEST['q']);
+				$p_match = drupal_match_path($path, $boost_cacheability_pages);
+				if ($path != $_REQUEST['q']) {
+				  $p_match = $p_match || drupal_match_path($_GET['q'], $boost_cacheability_pages);
+				}
+		        // When BOOST_CACHEABILITY_OPTION has a value of 0, boost will cache
+		        // all pages except those listed in BOOST_CACHEABILITY_PAGES. When set
+		        // to 1, boost will cache only on those pages listed in BOOST_CACHEABILITY_PAGES.
+		        $boost_cacheable =  !($boost_cacheability_option xor $p_match);
+			  }
+			  else {
+			    $boost_cacheable =  drupal_eval($boost_cacheability_pages);
+			  }
+			}
+			else {
+		      $boost_cacheable =  TRUE;
+		    }
+		}
+	  }
+	  return $boost_cacheable;
+}
\ В конце файла нет новой строки
