Index: pdfview.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/pdfview/pdfview.module,v
retrieving revision 1.37.2.4
diff -u -F^f -r1.37.2.4 pdfview.module
--- pdfview.module	4 Feb 2007 13:12:53 -0000	1.37.2.4
+++ pdfview.module	5 Feb 2007 13:56:44 -0000
@@ -94,11 +94,10 @@ function pdfview_node_controller() {
  * Renders a node as a PDF file.
  */
 function pdfview_node($node) {
-  $path = drupal_get_path('module', 'pdfview');
-  require_once($path . '/tcpdf/tcpdf.php');
+  pdfview_tcpdf_init();
   
   $pdf = theme('pdfview_pdf');
-   
+
   if ($node->type == 'book') {
     $depth = count(book_location($node)) + 1;
     $pdf = pdfview_book_recurse($pdf, $node, $depth);
@@ -106,26 +105,59 @@ function pdfview_node($node) {
   else {
     $pdf = theme('pdfview_node', $pdf, $node);
   }
-  
+
   return $pdf;
 }
 
+/*
+ * Defines the default constants and includes tcpdf.php
+ */
+function pdfview_tcpdf_init() {
+  define('K_TCPDF_EXTERNAL_CONFIG', TRUE);
+  define('K_PATH_MAIN', dirname(__FILE__)  .'/tcpdf');
+  define('FPDF_FONTPATH', K_PATH_MAIN."/fonts/");
+  define('K_PATH_IMAGES', K_PATH_MAIN."/images/");
+  define('K_BLANK_IMAGE', K_PATH_IMAGES."_blank.png");
+  define('PDF_CREATOR', t('Drupal'));
+  define('PDF_HEADER_TITLE', variable_get('site_name', 'Drupal'));
+  define('PDF_PAGE_FORMAT', variable_get('pdfview_tcpdf_page_format', 'A4'));
+  define('PDF_PAGE_ORIENTATION', variable_get('pdfview_tcpdf_page_orientation', 'P'));
+  define('PDF_UNIT', variable_get('pdfview_tcpdf_unit', 'mm'));
+  define("PDF_MARGIN_HEADER", variable_get('pdfview_tcpdf_margin_header', 5));
+  define("PDF_MARGIN_FOOTER", variable_get('pdfview_tcpdf_margin_footer', 10));
+  define("PDF_MARGIN_TOP", variable_get('pdfview_tcpdf_margin_top', 27));
+  define("PDF_MARGIN_BOTTOM", variable_get('pdfview_tcpdf_margin_bottom', 25));
+  define("PDF_MARGIN_LEFT", variable_get('pdfview_tcpdf_margin_left', 15));
+  define("PDF_MARGIN_RIGHT", variable_get('pdfview_tcpdf_margin_right', 15));
+  define("PDF_FONT_NAME_MAIN", variable_get('pdfview_tcpdf_font_main_name', 'FreeSans'));
+  define("PDF_FONT_SIZE_MAIN", variable_get('pdfview_tcpdf_font_main_size', 10));
+  define("PDF_FONT_NAME_DATA", variable_get('pdfview_tcpdf_font_data_name', "FreeSerif"));
+  define("PDF_FONT_SIZE_DATA", variable_get('pdfview_tcpdf_font_data_size', 8));
+  define("PDF_IMAGE_SCALE_RATIO", variable_get('pdfview_tcpdf_image_scale_ratio', 4));
+  define("HEAD_MAGNIFICATION", variable_get('pdfview_tcpdf_head_magnification', 1.1));
+  define("K_CELL_HEIGHT_RATIO", variable_get('pdfview_tcpdf_cell_height_ratio', 1.25));
+  define("K_TITLE_MAGNIFICATION", variable_get('pdfview_tcpdf_font_title_magnification', 1.3));
+  define("K_SMALL_RATIO", variable_get('pdfview_tcpdf_font_small_ratio', 2/3));
+
+  require_once(drupal_get_path('module', 'pdfview') .'/tcpdf/tcpdf.php');
+}
+
 /**
  * Renders a book as a PDF file.
  */
 function pdfview_book_recurse($pdf, &$node, $depth = 10) {
-  if ($node) {            
+  if ($node) {
     $pdf = theme('pdfview_node', $pdf, $node);
 
-    $children = db_query(db_rewrite_sql('SELECT n.nid, n.title, b.weight FROM {node} n INNER JOIN {book} b ON n.vid = b.vid WHERE n.status = 1 AND b.parent = %d AND n.moderate = 0 ORDER BY b.weight, n.title'), $node->nid);  
+    $children = db_query(db_rewrite_sql('SELECT n.nid, n.title, b.weight FROM {node} n INNER JOIN {book} b ON n.vid = b.vid WHERE n.status = 1 AND b.parent = %d AND n.moderate = 0 ORDER BY b.weight, n.title'), $node->nid);
 
     while ($childpage = db_fetch_object($children)) {
       $childnode = node_load($childpage->nid);
       if ($childnode->nid != $node->nid) {
         $pdf = pdfview_book_recurse($pdf, $childnode, $depth + 1);
       }
-    }    
-  }    
+    }
+  }
   return $pdf;
 } 
 
