From 3e8a35b81f9d663a3286171cb666e6b24fe1d5d3 Mon Sep 17 00:00:00 2001 From: Alexey Kopytko Date: Thu, 16 Jun 2016 11:27:22 +0900 Subject: [PATCH] Make sure traditional include-path-style class loading does not interfere with a working class autoloader --- Spreadsheet/Excel/Writer.php | 5 +++-- Spreadsheet/Excel/Writer/BIFFwriter.php | 4 +++- Spreadsheet/Excel/Writer/Format.php | 4 +++- Spreadsheet/Excel/Writer/Parser.php | 4 +++- Spreadsheet/Excel/Writer/Workbook.php | 24 +++++++++++++++++------- Spreadsheet/Excel/Writer/Worksheet.php | 6 ++++-- 6 files changed, 33 insertions(+), 14 deletions(-) diff --git a/Spreadsheet/Excel/Writer.php b/Spreadsheet/Excel/Writer.php index d62e9cf..fc5baca 100644 --- a/Spreadsheet/Excel/Writer.php +++ b/Spreadsheet/Excel/Writer.php @@ -31,8 +31,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -require_once 'PEAR.php'; -require_once 'Spreadsheet/Excel/Writer/Workbook.php'; +if (!class_exists('Spreadsheet_Excel_Writer_Workbook')) { + require_once 'Spreadsheet/Excel/Writer/Workbook.php'; +} /** * Class for writing Excel Spreadsheets. This class should change COMPLETELY. diff --git a/Spreadsheet/Excel/Writer/BIFFwriter.php b/Spreadsheet/Excel/Writer/BIFFwriter.php index 57e1de9..5a5abe8 100644 --- a/Spreadsheet/Excel/Writer/BIFFwriter.php +++ b/Spreadsheet/Excel/Writer/BIFFwriter.php @@ -32,7 +32,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -require_once 'PEAR.php'; +if (!class_exists('PEAR')) { + require_once 'PEAR.php'; +} /** * Class for writing Excel BIFF records. diff --git a/Spreadsheet/Excel/Writer/Format.php b/Spreadsheet/Excel/Writer/Format.php index 58dc8d1..8cead32 100644 --- a/Spreadsheet/Excel/Writer/Format.php +++ b/Spreadsheet/Excel/Writer/Format.php @@ -32,7 +32,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -require_once 'PEAR.php'; +if (!class_exists('PEAR')) { + require_once 'PEAR.php'; +} /** * Class for generating Excel XF records (formats) diff --git a/Spreadsheet/Excel/Writer/Parser.php b/Spreadsheet/Excel/Writer/Parser.php index ee43e12..26b5f65 100644 --- a/Spreadsheet/Excel/Writer/Parser.php +++ b/Spreadsheet/Excel/Writer/Parser.php @@ -97,7 +97,9 @@ define('SPREADSHEET_EXCEL_WRITER_NE', "<>"); */ define('SPREADSHEET_EXCEL_WRITER_CONCAT', "&"); -require_once 'PEAR.php'; +if (!class_exists('PEAR')) { + require_once 'PEAR.php'; +} /** * Class for parsing Excel formulas diff --git a/Spreadsheet/Excel/Writer/Workbook.php b/Spreadsheet/Excel/Writer/Workbook.php index 00d9a5c..6a3c3cb 100644 --- a/Spreadsheet/Excel/Writer/Workbook.php +++ b/Spreadsheet/Excel/Writer/Workbook.php @@ -32,12 +32,20 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -require_once 'Spreadsheet/Excel/Writer/Format.php'; -require_once 'Spreadsheet/Excel/Writer/BIFFwriter.php'; -require_once 'Spreadsheet/Excel/Writer/Worksheet.php'; -require_once 'Spreadsheet/Excel/Writer/Parser.php'; -require_once 'OLE/PPS/Root.php'; -require_once 'OLE/PPS/File.php'; +if (!class_exists('Spreadsheet_Excel_Writer_BIFFwriter')) { + require_once 'Spreadsheet/Excel/Writer/Format.php'; + require_once 'Spreadsheet/Excel/Writer/BIFFwriter.php'; + require_once 'Spreadsheet/Excel/Writer/Worksheet.php'; + require_once 'Spreadsheet/Excel/Writer/Parser.php'; +} + +if (!class_exists('OLE_PPS_Root')) { + require_once 'OLE/PPS/Root.php'; +} + +if (!class_exists('OLE_PPS_File')) { + require_once 'OLE/PPS/File.php'; +} /** * Class for generating Excel Spreadsheets @@ -378,7 +386,9 @@ class Spreadsheet_Excel_Writer_Workbook extends Spreadsheet_Excel_Writer_BIFFwri */ public function &addValidator() { - include_once 'Spreadsheet/Excel/Writer/Validator.php'; + if (!class_exists('Spreadsheet_Excel_Writer_Validator')) { + include_once 'Spreadsheet/Excel/Writer/Validator.php'; + } /* FIXME: check for successful inclusion*/ $valid = new Spreadsheet_Excel_Writer_Validator($this->_parser); return $valid; diff --git a/Spreadsheet/Excel/Writer/Worksheet.php b/Spreadsheet/Excel/Writer/Worksheet.php index 1ff4947..d46d6b5 100644 --- a/Spreadsheet/Excel/Writer/Worksheet.php +++ b/Spreadsheet/Excel/Writer/Worksheet.php @@ -32,8 +32,10 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -require_once 'Spreadsheet/Excel/Writer/Parser.php'; -require_once 'Spreadsheet/Excel/Writer/BIFFwriter.php'; +if (!class_exists('Spreadsheet_Excel_Writer_BIFFwriter')) { + require_once 'Spreadsheet/Excel/Writer/Parser.php'; + require_once 'Spreadsheet/Excel/Writer/BIFFwriter.php'; +} /** * Class for generating Excel Spreadsheets