=== added directory 'modules/blocks'
=== added file 'modules/blocks/blocks.module'
--- /dev/null	
+++ modules/blocks/blocks.module	
@@ -0,0 +1,19 @@
+<?php
+
+function blocks_block($op = 'view', $delta = 0) {
+  if ($op == 'list') {
+    $dir = drupal_get_path('module', 'blocks');
+    $files = array_values(file_scan_directory($dir, '\.inc$'));
+    $blocks = array();
+    foreach($files as $index => $file) {
+      $blocks[$index]['info'] = $file->name;
+    }
+    variable_set('blocks_files', $files);
+    return $blocks;
+  }
+  if ($op == 'view') {
+    $files = variable_get('blocks_files', array());
+    $file = $files[$delta];
+    return array('subject' => $file->name, 'content' => drupal_include($file->filename));
+  }
+}
=== added directory 'modules/pages'
=== added file 'modules/pages/pages.module'
--- /dev/null	
+++ modules/pages/pages.module	
@@ -0,0 +1,18 @@
+<?php
+
+function pages_menu($may_cache) {
+  if ($may_cache) {
+    return array(array('path' => 'pages', 'access' => user_access('access content'), 'title' => '', 'type' => MENU_CALLBACK, 'callback' => 'pages_page'));
+  }
+}
+
+function pages_page($path) {
+  // this line makes this module secure
+  $path = preg_replace('/[^a-z0-9_]/', '', strtolower($path));
+  $dir = drupal_get_path('module', 'pages');
+  $file = "$dir/$path.inc";
+  if (file_exists($file)) {
+    drupal_set_title($path);
+    return drupal_include($file);
+  }
+}
=== modified file 'includes/common.inc'
--- includes/common.inc	
+++ includes/common.inc	
@@ -1319,3 +1319,27 @@ function page_set_cache() {
     }
   }
 }
+
+/**
+ *
+ * Include a file and return its contents.
+ *
+ * @param $file
+ *   The path to the file to be included.
+ * @param $variables
+ *   Array of variables which will be extracted.
+ *
+ * @return
+ *   The contents of the file.
+ *
+ */
+function drupal_include($file, $variables = NULL) {
+  if (isset($variables)) {
+    extract($variables, EXTR_SKIP);  // Extract the variables to a local namespace
+  }
+  ob_start();                      // Start output buffering
+  include "./$file";               // Include the file
+  $contents = ob_get_contents();   // Get the contents of the buffer
+  ob_end_clean();                  // End buffering and discard
+  return $contents;                // Return the contents
+}
\ No newline at end of file
=== modified file 'themes/engines/phptemplate/phptemplate.engine'
--- themes/engines/phptemplate/phptemplate.engine	
+++ themes/engines/phptemplate/phptemplate.engine	
@@ -330,14 +330,6 @@ function _phptemplate_default($hook, $va
   }
 
   if (isset($file)) {
-    extract($variables, EXTR_SKIP);  // Extract the variables to a local namespace
-    ob_start();                      // Start output buffering
-    include "./$file";               // Include the file
-    $contents = ob_get_contents();   // Get the contents of the buffer
-    ob_end_clean();                  // End buffering and discard
-    return $contents;                // Return the contents
+    return drupal_include($file, $variables);
   }
-
 }
-
-?>
