Merge branch 'develop' into odt_page_break

This commit is contained in:
troosan 2017-11-26 00:36:37 +01:00 committed by GitHub
commit 911739a0b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 88 additions and 2 deletions

View File

@ -18,9 +18,10 @@ This is the last version to support PHP 5.3
- Support for Comments - @troosan #1067 - Support for Comments - @troosan #1067
- Support for paragraph textAlignment - @troosan #1165 - Support for paragraph textAlignment - @troosan #1165
- Add support for HTML underline tag <u> in addHtml - @zNightFalLz #1186 - Add support for HTML underline tag <u> in addHtml - @zNightFalLz #1186
- Allow to change cell width unit - guillaume-ro-fr #986 - Allow to change cell width unit - @guillaume-ro-fr #986
- Allow to change the line height rule @troosan - Allow to change the line height rule @troosan
- Implement PageBreak for odt writer @cookiekiller #863 #824 - Implement PageBreak for odt writer @cookiekiller #863 #824
- Allow to force an update of all fields on opening a document - @troosan #951
### Fixed ### Fixed
- Loosen dependency to Zend - Loosen dependency to Zend

28
docs/ISSUE_TEMPLATE.md Normal file
View File

@ -0,0 +1,28 @@
Issue tracker is **ONLY** used for reporting bugs. NO NEW FEATURE ACCEPTED! Use [stackoverflow](https://stackoverflow.com/questions/tagged/phpword) for supporting issues.
# Expected Behavior
Please describe the behavior you are expecting.
# Current Behavior
What is the current behavior?
# Failure Information
Please help provide information about the failure.
## How to Reproduce
Please provide a code sample that reproduces the issue.
```php
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$section = $phpWord->addSection();
$section->...
```
## Context
* PHP version:
* PHPWord version: 0.14

View File

@ -0,0 +1,12 @@
# Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
Fixes # (issue)
# Checklist:
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have run phpunit, phpcs, php-cs-fixer, phpmd
- [ ] The new code is covered by unit tests
- [ ] I have update the documentation to describe the changes

View File

@ -297,7 +297,7 @@ Your TOC can only be generated if you have add at least one title (See "Titles")
Options for ``$tocStyle``: Options for ``$tocStyle``:
- ``tabLeader``. Fill type between the title text and the page number. Use the defined constants in PHPWord\\Style\\TOC. - ``tabLeader``. Fill type between the title text and the page number. Use the defined constants in ``\PhpOffice\PhpWord\Style\TOC``.
- ``tabPos``. The position of the tab where the page number appears in twips. - ``tabPos``. The position of the tab where the page number appears in twips.
- ``indent``. The indent factor of the titles in twips. - ``indent``. The indent factor of the titles in twips.

View File

@ -271,3 +271,12 @@ points to twips.
$sectionStyle->setMarginLeft(\PhpOffice\PhpWord\Shared\Converter::inchToTwip(.5)); $sectionStyle->setMarginLeft(\PhpOffice\PhpWord\Shared\Converter::inchToTwip(.5));
// 2 cm right margin // 2 cm right margin
$sectionStyle->setMarginRight(\PhpOffice\PhpWord\Shared\Converter::cmToTwip(2)); $sectionStyle->setMarginRight(\PhpOffice\PhpWord\Shared\Converter::cmToTwip(2));
Automatically Recalculate Fields on Open
----------------------------------------
To force an update of the fields present in the document, set updateFields to true
.. code-block:: php
$phpWord->getSettings()->setUpdateFields(true);

View File

@ -4,6 +4,7 @@ include_once 'Sample_Header.php';
// New Word document // New Word document
echo date('H:i:s'), ' Create new PhpWord object', EOL; echo date('H:i:s'), ' Create new PhpWord object', EOL;
$phpWord = new \PhpOffice\PhpWord\PhpWord(); $phpWord = new \PhpOffice\PhpWord\PhpWord();
$phpWord->getSettings()->setUpdateFields(true);
// New section // New section
$section = $phpWord->addSection(); $section = $phpWord->addSection();

View File

@ -116,6 +116,13 @@ class Settings
*/ */
private $themeFontLang; private $themeFontLang;
/**
* Automatically Recalculate Fields on Open
*
* @var bool
*/
private $updateFields = false;
/** /**
* Radix Point for Field Code Evaluation * Radix Point for Field Code Evaluation
* *
@ -345,6 +352,22 @@ class Settings
$this->themeFontLang = $themeFontLang; $this->themeFontLang = $themeFontLang;
} }
/**
* @return bool
*/
public function hasUpdateFields()
{
return $this->updateFields;
}
/**
* @param bool $updateFields
*/
public function setUpdateFields($updateFields)
{
$this->updateFields = $updateFields === null ? false : $updateFields;
}
/** /**
* Returns the Radix Point for Field Code Evaluation * Returns the Radix Point for Field Code Evaluation
* *

View File

@ -147,6 +147,7 @@ class Settings extends AbstractPart
$this->setOnOffValue('w:doNotTrackMoves', $documentSettings->hasDoNotTrackMoves()); $this->setOnOffValue('w:doNotTrackMoves', $documentSettings->hasDoNotTrackMoves());
$this->setOnOffValue('w:doNotTrackFormatting', $documentSettings->hasDoNotTrackFormatting()); $this->setOnOffValue('w:doNotTrackFormatting', $documentSettings->hasDoNotTrackFormatting());
$this->setOnOffValue('w:evenAndOddHeaders', $documentSettings->hasEvenAndOddHeaders()); $this->setOnOffValue('w:evenAndOddHeaders', $documentSettings->hasEvenAndOddHeaders());
$this->setOnOffValue('w:updateFields', $documentSettings->hasUpdateFields());
$this->setThemeFontLang($documentSettings->getThemeFontLang()); $this->setThemeFontLang($documentSettings->getThemeFontLang());
$this->setRevisionView($documentSettings->getRevisionView()); $this->setRevisionView($documentSettings->getRevisionView());

View File

@ -104,6 +104,7 @@ class Font extends AbstractStyle
// Bold, italic // Bold, italic
$xmlWriter->writeElementIf($style->isBold(), 'w:b'); $xmlWriter->writeElementIf($style->isBold(), 'w:b');
$xmlWriter->writeElementIf($style->isBold(), 'w:bCs');
$xmlWriter->writeElementIf($style->isItalic(), 'w:i'); $xmlWriter->writeElementIf($style->isItalic(), 'w:i');
$xmlWriter->writeElementIf($style->isItalic(), 'w:iCs'); $xmlWriter->writeElementIf($style->isItalic(), 'w:iCs');

View File

@ -153,4 +153,14 @@ class SettingsTest extends \PHPUnit\Framework\TestCase
$oSettings->setZoom(Zoom::FULL_PAGE); $oSettings->setZoom(Zoom::FULL_PAGE);
$this->assertEquals('fullPage', $oSettings->getZoom()); $this->assertEquals('fullPage', $oSettings->getZoom());
} }
/**
* Test Update Fields on update
*/
public function testUpdateFields()
{
$oSettings = new Settings();
$oSettings->setUpdateFields(true);
$this->assertTrue($oSettings->hasUpdateFields());
}
} }