diff --git a/application/utils.inc.php b/application/utils.inc.php index cd9c7fb05..45d6ee441 100644 --- a/application/utils.inc.php +++ b/application/utils.inc.php @@ -848,7 +848,11 @@ class utils // Bulk export actions $aResult[] = new JSPopupMenuItem('UI:Menu:CSVExport', Dict::S('UI:Menu:CSVExport'), "ExportListDlg('$sOQL', '$sDataTableId', 'csv', ".json_encode(Dict::S('UI:Menu:CSVExport')).")"); $aResult[] = new JSPopupMenuItem('UI:Menu:ExportXLSX', Dict::S('ExcelExporter:ExportMenu'), "ExportListDlg('$sOQL', '$sDataTableId', 'xlsx', ".json_encode(Dict::S('ExcelExporter:ExportMenu')).")"); - $aResult[] = new JSPopupMenuItem('UI:Menu:ExportPDF', Dict::S('UI:Menu:ExportPDF'), "ExportListDlg('$sOQL', '$sDataTableId', 'pdf', ".json_encode(Dict::S('UI:Menu:ExportPDF')).")"); + if (extension_loaded('gd')) + { + // PDF export requires GD + $aResult[] = new JSPopupMenuItem('UI:Menu:ExportPDF', Dict::S('UI:Menu:ExportPDF'), "ExportListDlg('$sOQL', '$sDataTableId', 'pdf', ".json_encode(Dict::S('UI:Menu:ExportPDF')).")"); + } } $aResult[] = new JSPopupMenuItem('UI:Menu:AddToDashboard', Dict::S('UI:Menu:AddToDashboard'), "DashletCreationDlg('$sOQL')"); $aResult[] = new JSPopupMenuItem('UI:Menu:ShortcutList', Dict::S('UI:Menu:ShortcutList'), "ShortcutListDlg('$sOQL', '$sDataTableId', '$sContext')"); diff --git a/core/bulkexport.class.inc.php b/core/bulkexport.class.inc.php index d6909fbb4..6d2532365 100644 --- a/core/bulkexport.class.inc.php +++ b/core/bulkexport.class.inc.php @@ -412,7 +412,11 @@ abstract class BulkExport // The built-in exports require_once(APPROOT.'core/tabularbulkexport.class.inc.php'); require_once(APPROOT.'core/htmlbulkexport.class.inc.php'); -require_once(APPROOT.'core/pdfbulkexport.class.inc.php'); +if (extension_loaded('gd')) +{ + // PDF export - via TCPDF - requires GD + require_once(APPROOT.'core/pdfbulkexport.class.inc.php'); +} require_once(APPROOT.'core/csvbulkexport.class.inc.php'); require_once(APPROOT.'core/excelbulkexport.class.inc.php'); require_once(APPROOT.'core/spreadsheetbulkexport.class.inc.php'); diff --git a/setup/setuputils.class.inc.php b/setup/setuputils.class.inc.php index c3fcc194c..f6c83019e 100644 --- a/setup/setuputils.class.inc.php +++ b/setup/setuputils.class.inc.php @@ -88,7 +88,7 @@ class SetupUtils $aMandatoryExtensions = array('mysqli', 'iconv', 'simplexml', 'soap', 'hash', 'json', 'session', 'pcre', 'dom', 'zip'); $aOptionalExtensions = array('mcrypt' => 'Strong encryption will not be used.', 'ldap' => 'LDAP authentication will be disabled.', - 'gd' => 'PDF export of impact/dependency diagrams will be disabled'); + 'gd' => 'PDF export will be disabled'); asort($aMandatoryExtensions); // Sort the list to look clean ! ksort($aOptionalExtensions); // Sort the list to look clean ! $aExtensionsOk = array();