You are here

function print_pdf_dompdf_pdf_tool_version in Printer, email and PDF versions 7.2

Implements hook_pdf_tool_version().

2 calls to print_pdf_dompdf_pdf_tool_version()
print_pdf_dompdf_print_pdf_generate in print_pdf/lib_handlers/print_pdf_dompdf/print_pdf_dompdf.pages.inc
Implements hook_print_pdf_generate().
print_pdf_dompdf_requirements in print_pdf/lib_handlers/print_pdf_dompdf/print_pdf_dompdf.install
Implements hook_requirements().

File

print_pdf/lib_handlers/print_pdf_dompdf/print_pdf_dompdf.module, line 62
Generate a PDF for the print_pdf module using the dompdf library.

Code

function print_pdf_dompdf_pdf_tool_version($pdf_tool) {
  if (basename($pdf_tool) == 'Dompdf.php') {
    $dompdf_base = dirname(dirname($pdf_tool));
    $version_file = $dompdf_base . '/VERSION';
    if (file_exists($version_file)) {

      // From 0.7.0 beta 3 onwards, there's a VERSION file.
      return file_get_contents($version_file);
    }
    elseif (basename(dirname($pdf_tool)) === 'src') {

      // The dompdf tool started using PSR-4 in 0.7.0 beta 2.
      return '0.7.0 beta 2';
    }
    elseif (basename(dirname($pdf_tool)) === 'Dompdf') {

      // In 0.7.0 beta 1, it was src/Dompdf/Dompdf.php.
      return '0.7.0 beta 1';
    }
  }
  else {
    if (file_exists(DRUPAL_ROOT . '/' . $pdf_tool)) {
      include_once DRUPAL_ROOT . '/' . $pdf_tool;
    }

    // Poor man's way to find dompdf version pre 0.7.
    if (defined('DOMPDF_ENABLE_AUTOLOAD')) {

      // It is not possible to tell apart 0.6.0, 0.6.1 or 0.6.2.
      return '0.6.0, or higher';
    }
    elseif (defined('DOMPDF_ADMIN_USERNAME')) {
      return '0.6.0 beta3';
    }
    elseif (defined('DOMPDF_LOG_OUTPUT_FILE')) {
      return '0.6.0 beta2';
    }
    elseif (defined('DOMPDF_FONT_CACHE')) {
      return '0.6.0 beta1';
    }
    elseif (defined('DOMPDF_CHROOT')) {
      return '0.5.2';
    }
    elseif (defined('DOMPDF_DIR')) {
      return '0.5.1';
    }
  }
  return 'unknown';
}