Skip to content

Commit 1534743

Browse files
authored
Merge pull request #211 from contactashish13/helpscout-144905
PHPExcel related issues
2 parents 74611d9 + e3652a6 commit 1534743

File tree

2 files changed

+18
-11
lines changed

2 files changed

+18
-11
lines changed

classes/Visualizer/Module.php

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -249,18 +249,25 @@ private function _getCSV( $rows, $filename ) {
249249
* @param string $filename The name of the file to use.
250250
*/
251251
private function _getExcel( $rows, $filename ) {
252-
$chart = $filename;
252+
// PHPExcel does not like sheet names longer than 31 characters.
253+
$chart = substr( $filename, 0, 30 );
253254
$filename .= '.xlsx';
254255

255-
$doc = new PHPExcel();
256-
$doc->getActiveSheet()->fromArray( $rows, null, 'A1' );
257-
$doc->getActiveSheet()->setTitle( $chart );
258-
$doc = apply_filters( 'visualizer_excel_doc', $doc );
259-
$writer = PHPExcel_IOFactory::createWriter( $doc, 'Excel2007' );
260-
ob_start();
261-
$writer->save( 'php://output' );
262-
$xlsData = ob_get_contents();
263-
ob_end_clean();
256+
$xlsData = '';
257+
if ( class_exists( 'PHPExcel' ) ) {
258+
$doc = new PHPExcel();
259+
$doc->getActiveSheet()->fromArray( $rows, null, 'A1' );
260+
$doc->getActiveSheet()->setTitle( $chart );
261+
$doc = apply_filters( 'visualizer_excel_doc', $doc );
262+
$writer = PHPExcel_IOFactory::createWriter( $doc, 'Excel2007' );
263+
ob_start();
264+
$writer->save( 'php://output' );
265+
$xlsData = ob_get_contents();
266+
ob_end_clean();
267+
} else {
268+
do_action( 'themeisle_log_event', Visualizer_Plugin::NAME, 'Class PHPExcel does not exist!', 'error', __FILE__, __LINE__ );
269+
error_log( 'Class PHPExcel does not exist!' );
270+
}
264271
return array(
265272
'csv' => 'data:application/vnd.ms-excel;base64,' . base64_encode( $xlsData ),
266273
'name' => $filename,

classes/Visualizer/Render/Sidebar.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ protected function _renderActionSettings() {
208208
esc_html__( 'To enable downloading the data as a CSV.', 'visualizer' )
209209
);
210210

211-
$disabled = ! ( extension_loaded( 'zip' ) && extension_loaded( 'xml' ) && version_compare( PHP_VERSION, '5.2.0', '>' ) );
211+
$disabled = ! ( class_exists( 'PHPExcel' ) && extension_loaded( 'zip' ) && extension_loaded( 'xml' ) && version_compare( PHP_VERSION, '5.2.0', '>' ) );
212212
self::_renderCheckboxItem(
213213
esc_html__( 'Excel', 'visualizer' ),
214214
'actions[]',

0 commit comments

Comments
 (0)