Browse Source

Disable PDF export if the PHP extension "GD" is not loaded.

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@4307 a333f486-631f-4898-b8df-5754b55c2be0
dflaven 9 years ago
parent
commit
f7fa7eb835
3 changed files with 11 additions and 3 deletions
  1. 5 1
      application/utils.inc.php
  2. 5 1
      core/bulkexport.class.inc.php
  3. 1 1
      setup/setuputils.class.inc.php

+ 5 - 1
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')");

+ 5 - 1
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');

+ 1 - 1
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();