From d65be9830f9bdb00ccbcc737b5af4726859d4f9c Mon Sep 17 00:00:00 2001 From: Ethan Merchant <49330364+spatialfree@users.noreply.github.com> Date: Tue, 24 Oct 2023 11:48:56 -0400 Subject: [PATCH] Word2007 Reader : Check for null on $fontDefaultStyle --- docs/changes/1.x/1.2.0.md | 1 + src/PhpWord/Reader/Word2007/Styles.php | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/docs/changes/1.x/1.2.0.md b/docs/changes/1.x/1.2.0.md index c7ad030b3e..9900e7b663 100644 --- a/docs/changes/1.x/1.2.0.md +++ b/docs/changes/1.x/1.2.0.md @@ -41,6 +41,7 @@ - Template Processor : Fixed choose dimention for Float Value by [@gdevilbat](https://github.com/gdevilbat) in GH-2449 - HTML Parser : Fix image parsing from url without extension by [@JokubasR](https://github.com/JokubasR) in GH-2459 - Word2007 Reader : Fixed reading of Office365 DocX file by [@filippotoso](https://github.com/filippotoso) & [@lfglopes](https://github.com/lfglopes) in [#2506](https://github.com/PHPOffice/PHPWord/pull/2506) +- Word2007 Reader : Check for null on $fontDefaultStyle by [@spatialfree](https://github.com/spatialfree) in [#2513](https://github.com/PHPOffice/PHPWord/pull/2513) ### Miscellaneous diff --git a/src/PhpWord/Reader/Word2007/Styles.php b/src/PhpWord/Reader/Word2007/Styles.php index 4566398ad2..760adf9493 100644 --- a/src/PhpWord/Reader/Word2007/Styles.php +++ b/src/PhpWord/Reader/Word2007/Styles.php @@ -39,14 +39,16 @@ public function read(PhpWord $phpWord): void $fontDefaults = $xmlReader->getElement('w:docDefaults/w:rPrDefault'); if ($fontDefaults !== null) { $fontDefaultStyle = $this->readFontStyle($xmlReader, $fontDefaults); - if (array_key_exists('name', $fontDefaultStyle)) { - $phpWord->setDefaultFontName($fontDefaultStyle['name']); - } - if (array_key_exists('size', $fontDefaultStyle)) { - $phpWord->setDefaultFontSize($fontDefaultStyle['size']); - } - if (array_key_exists('lang', $fontDefaultStyle)) { - $phpWord->getSettings()->setThemeFontLang(new Language($fontDefaultStyle['lang'])); + if ($fontDefaultStyle) { + if (array_key_exists('name', $fontDefaultStyle)) { + $phpWord->setDefaultFontName($fontDefaultStyle['name']); + } + if (array_key_exists('size', $fontDefaultStyle)) { + $phpWord->setDefaultFontSize($fontDefaultStyle['size']); + } + if (array_key_exists('lang', $fontDefaultStyle)) { + $phpWord->getSettings()->setThemeFontLang(new Language($fontDefaultStyle['lang'])); + } } }