Skip to content

Commit 0077616

Browse files
committed
Fixed CI
1 parent 3962ad9 commit 0077616

File tree

4 files changed

+50
-41
lines changed

4 files changed

+50
-41
lines changed

docs/changes/2.x/2.0.0.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
- IOFactory : Added extractVariables method to extract variables from a document [@sibalonat](https://github.com/sibalonat) in [#2515](https://github.com/PHPOffice/PHPWord/pull/2515)
88
- PDF Writer : Documented how to specify a PDF renderer, when working with the PDF writer, as well as the three available choices by [@settermjd](https://github.com/settermjd) in [#2642](https://github.com/PHPOffice/PHPWord/pull/2642)
99
- Word2007 Reader: Support for Paragraph Border Style by [@damienfa](https://github.com/damienfa) in [#2651](https://github.com/PHPOffice/PHPWord/pull/2651)
10+
- Word2007 Reader : Support for FormFields by [@vincentKool](https://github.com/vincentKool) in [#2653](https://github.com/PHPOffice/PHPWord/pull/2653)
1011

1112
### Bug fixes
1213

phpstan-baseline.neon

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ parameters:
237237

238238
-
239239
message: "#^Parameter \\#1 \\$count of method PhpOffice\\\\PhpWord\\\\Element\\\\AbstractContainer\\:\\:addTextBreak\\(\\) expects int, null given\\.$#"
240-
count: 1
240+
count: 2
241241
path: src/PhpWord/Reader/Word2007/AbstractPart.php
242242

243243
-

src/PhpWord/Reader/Word2007/AbstractPart.php

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -196,9 +196,8 @@ protected function readParagraph(XMLReader $xmlReader, DOMElement $domNode, $par
196196
if ($xmlReader->elementExists('w:r/w:fldChar/w:ffData', $domNode)) {
197197
// FormField
198198
$partOfFormField = false;
199-
$formNodes = array();
199+
$formNodes = [];
200200
$formType = null;
201-
// $field = new FormField("type", "forntsyle", "paragraphstyle"):
202201
$textRunContainers = $xmlReader->countElements('w:r|w:ins|w:del|w:hyperlink|w:smartTag', $domNode);
203202
if (0 === $textRunContainers) {
204203
$parent->addTextBreak(null, $paragraphStyle);
@@ -323,73 +322,82 @@ protected function readParagraph(XMLReader $xmlReader, DOMElement $domNode, $par
323322
}
324323

325324
/**
326-
* @param XMLReader $xmlReader
327-
* @param \DOMElement[] $domNodes
325+
* @param DOMElement[] $domNodes
328326
* @param AbstractContainer $parent
329327
* @param mixed $paragraphStyle
330328
* @param string $formType
331329
*/
332-
private function readFormField(XMLReader $xmlReader, array $domNodes, $parent, $paragraphStyle, $formType)
330+
private function readFormField(XMLReader $xmlReader, array $domNodes, $parent, $paragraphStyle, $formType): void
333331
{
334-
if (!in_array($formType, array('textinput', 'checkbox', 'dropdown'))) {
332+
if (!in_array($formType, ['textinput', 'checkbox', 'dropdown'])) {
335333
return;
336334
}
337335

338336
$formField = $parent->addFormField($formType, null, $paragraphStyle);
339337
$ffData = $xmlReader->getElement('w:fldChar/w:ffData', $domNodes[0]);
340338

341339
foreach ($xmlReader->getElements('*', $ffData) as $node) {
342-
/** @var \DOMElement $node */
340+
/** @var DOMElement $node */
343341
switch ($node->localName) {
344342
case 'name':
345343
$formField->setName($node->getAttribute('w:val'));
344+
346345
break;
347346
case 'ddList':
348-
$listEntries = array();
347+
$listEntries = [];
349348
foreach ($xmlReader->getElements('*', $node) as $ddListNode) {
350349
switch ($ddListNode->localName) {
351350
case 'result':
352351
$formField->setValue($xmlReader->getAttribute('w:val', $ddListNode));
352+
353353
break;
354354
case 'default':
355355
$formField->setDefault($xmlReader->getAttribute('w:val', $ddListNode));
356+
356357
break;
357358
case 'listEntry':
358359
$listEntries[] = $xmlReader->getAttribute('w:val', $ddListNode);
360+
359361
break;
360362
}
361363
}
362364
$formField->setEntries($listEntries);
363-
if (!is_null($formField->getValue())) {
365+
if (null !== $formField->getValue()) {
364366
$formField->setText($listEntries[$formField->getValue()]);
365367
}
368+
366369
break;
367370
case 'textInput':
368371
foreach ($xmlReader->getElements('*', $node) as $ddListNode) {
369372
switch ($ddListNode->localName) {
370373
case 'default':
371374
$formField->setDefault($xmlReader->getAttribute('w:val', $ddListNode));
375+
372376
break;
373377
case 'format':
374378
case 'maxLength':
375379
break;
376380
}
377381
}
382+
378383
break;
379384
case 'checkBox':
380385
foreach ($xmlReader->getElements('*', $node) as $ddListNode) {
381386
switch ($ddListNode->localName) {
382387
case 'default':
383388
$formField->setDefault($xmlReader->getAttribute('w:val', $ddListNode));
389+
384390
break;
385391
case 'checked':
386392
$formField->setValue($xmlReader->getAttribute('w:val', $ddListNode));
393+
387394
break;
388395
case 'size':
389396
case 'sizeAuto':
390397
break;
391398
}
392399
}
400+
393401
break;
394402
}
395403
}
@@ -417,7 +425,7 @@ private function readFormField(XMLReader $xmlReader, array $domNodes, $parent, $
417425
}
418426

419427
/**
420-
* Returns the depth of the Heading, returns 0 for a Title
428+
* Returns the depth of the Heading, returns 0 for a Title.
421429
*
422430
* @return null|number
423431
*/

tests/PhpWordTests/Reader/Word2007/ElementTest.php

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -357,9 +357,9 @@ public function testReadDrawing(): void
357357
}
358358

359359
/**
360-
* Test reading FormField - DROPDOWN
360+
* Test reading FormField - DROPDOWN.
361361
*/
362-
public function testReadFormFieldDropdown()
362+
public function testReadFormFieldDropdown(): void
363363
{
364364
$documentXml = '<w:p>
365365
<w:r>
@@ -404,28 +404,28 @@ public function testReadFormFieldDropdown()
404404
</w:r>
405405
</w:p>';
406406

407-
$phpWord = $this->getDocumentFromString(array('document' => $documentXml));
407+
$phpWord = $this->getDocumentFromString(['document' => $documentXml]);
408408

409409
$elements = $phpWord->getSection(0)->getElements();
410-
$this->assertInstanceOf('PhpOffice\PhpWord\Element\TextRun', $elements[0]);
410+
self::assertInstanceOf('PhpOffice\PhpWord\Element\TextRun', $elements[0]);
411411

412412
$subElements = $elements[0]->getElements();
413413

414-
$this->assertInstanceOf('PhpOffice\PhpWord\Element\Text', $subElements[0]);
415-
$this->assertEquals('Reference', $subElements[0]->getText());
414+
self::assertInstanceOf('PhpOffice\PhpWord\Element\Text', $subElements[0]);
415+
self::assertEquals('Reference', $subElements[0]->getText());
416416

417-
$this->assertInstanceOf('PhpOffice\PhpWord\Element\FormField', $subElements[1]);
418-
$this->assertEquals('dropdown', $subElements[1]->getType());
419-
$this->assertEquals('DropDownList1', $subElements[1]->getName());
420-
$this->assertEquals('2', $subElements[1]->getValue());
421-
$this->assertEquals('Option Two', $subElements[1]->getText());
422-
$this->assertEquals(array('TBD', 'Option One', 'Option Two', 'Option Three', 'Other'), $subElements[1]->getEntries());
417+
self::assertInstanceOf('PhpOffice\PhpWord\Element\FormField', $subElements[1]);
418+
self::assertEquals('dropdown', $subElements[1]->getType());
419+
self::assertEquals('DropDownList1', $subElements[1]->getName());
420+
self::assertEquals('2', $subElements[1]->getValue());
421+
self::assertEquals('Option Two', $subElements[1]->getText());
422+
self::assertEquals(['TBD', 'Option One', 'Option Two', 'Option Three', 'Other'], $subElements[1]->getEntries());
423423
}
424424

425425
/**
426-
* Test reading FormField - textinput
426+
* Test reading FormField - textinput.
427427
*/
428-
public function testReadFormFieldTextinput()
428+
public function testReadFormFieldTextinput(): void
429429
{
430430
$documentXml = '<w:p>
431431
<w:r>
@@ -473,27 +473,27 @@ public function testReadFormFieldTextinput()
473473
</w:r>
474474
</w:p>';
475475

476-
$phpWord = $this->getDocumentFromString(array('document' => $documentXml));
476+
$phpWord = $this->getDocumentFromString(['document' => $documentXml]);
477477

478478
$elements = $phpWord->getSection(0)->getElements();
479-
$this->assertInstanceOf('PhpOffice\PhpWord\Element\TextRun', $elements[0]);
479+
self::assertInstanceOf('PhpOffice\PhpWord\Element\TextRun', $elements[0]);
480480

481481
$subElements = $elements[0]->getElements();
482482

483-
$this->assertInstanceOf('PhpOffice\PhpWord\Element\Text', $subElements[0]);
484-
$this->assertEquals('Fieldname', $subElements[0]->getText());
483+
self::assertInstanceOf('PhpOffice\PhpWord\Element\Text', $subElements[0]);
484+
self::assertEquals('Fieldname', $subElements[0]->getText());
485485

486-
$this->assertInstanceOf('PhpOffice\PhpWord\Element\FormField', $subElements[1]);
487-
$this->assertEquals('textinput', $subElements[1]->getType());
488-
$this->assertEquals('TextInput2', $subElements[1]->getName());
489-
$this->assertEquals('This is some sample text', $subElements[1]->getValue());
490-
$this->assertEquals('This is some sample text', $subElements[1]->getText());
486+
self::assertInstanceOf('PhpOffice\PhpWord\Element\FormField', $subElements[1]);
487+
self::assertEquals('textinput', $subElements[1]->getType());
488+
self::assertEquals('TextInput2', $subElements[1]->getName());
489+
self::assertEquals('This is some sample text', $subElements[1]->getValue());
490+
self::assertEquals('This is some sample text', $subElements[1]->getText());
491491
}
492492

493493
/**
494-
* Test reading FormField - checkbox
494+
* Test reading FormField - checkbox.
495495
*/
496-
public function testReadFormFieldCheckbox()
496+
public function testReadFormFieldCheckbox(): void
497497
{
498498
$documentXml = '<w:p>
499499
<w:pPr/>
@@ -529,18 +529,18 @@ public function testReadFormFieldCheckbox()
529529
</w:r>
530530
</w:p>';
531531

532-
$phpWord = $this->getDocumentFromString(array('document' => $documentXml));
532+
$phpWord = $this->getDocumentFromString(['document' => $documentXml]);
533533

534534
$elements = $phpWord->getSection(0)->getElements();
535-
$this->assertInstanceOf('PhpOffice\PhpWord\Element\TextRun', $elements[0]);
535+
self::assertInstanceOf('PhpOffice\PhpWord\Element\TextRun', $elements[0]);
536536

537537
$subElements = $elements[0]->getElements();
538538

539539
// $this->assertInstanceOf('PhpOffice\PhpWord\Element\Text', $subElements[0]);
540540
// $this->assertEquals('Fieldname', $subElements[0]->getText());
541541

542-
$this->assertInstanceOf('PhpOffice\PhpWord\Element\FormField', $subElements[0]);
543-
$this->assertEquals('checkbox', $subElements[0]->getType());
544-
$this->assertEquals('SomeCheckbox', $subElements[0]->getName());
542+
self::assertInstanceOf('PhpOffice\PhpWord\Element\FormField', $subElements[0]);
543+
self::assertEquals('checkbox', $subElements[0]->getType());
544+
self::assertEquals('SomeCheckbox', $subElements[0]->getName());
545545
}
546546
}

0 commit comments

Comments
 (0)