rename 'Object' classes to 'ObjectElement' (php 7.2 compatibility) (#1185)
merge develop branch
This commit is contained in:
parent
709ea1e14c
commit
400a8e65d3
@ -16,6 +16,11 @@ matrix:
|
|||||||
- php: 5.6
|
- php: 5.6
|
||||||
env: COVERAGE=1
|
env: COVERAGE=1
|
||||||
allow_failures:
|
allow_failures:
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
- php: 7.0
|
||||||
|
- php: 7.1
|
||||||
|
>>>>>>> branch 'php72_support_object_classes' of https://github.com/SailorMax/PHPWord
|
||||||
- php: 7.2
|
- php: 7.2
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
|
|||||||
@ -37,7 +37,8 @@ This version brings compatibility with PHP 7.0 & 7.1
|
|||||||
### Fixed
|
### Fixed
|
||||||
- Loosen dependency to Zend
|
- Loosen dependency to Zend
|
||||||
- Images are not being printed when generating PDF - @hubertinio #1074 #431
|
- Images are not being printed when generating PDF - @hubertinio #1074 #431
|
||||||
- Fixed some PHP 7 warnings - @likeuntomurphy #927
|
- Fixed some PHP 7 warnings - @ likeuntomurphy #927
|
||||||
|
- Fixed PHP 7.2 compatibility (renamed `Object` class names to `ObjectElement`) - @SailorMax #1185
|
||||||
- Fixed Word 97 reader - @alsofronie @Benpxpx @mario-rivera #912 #920 #892
|
- Fixed Word 97 reader - @alsofronie @Benpxpx @mario-rivera #912 #920 #892
|
||||||
- Fixed image loading over https - @troosan #988
|
- Fixed image loading over https - @troosan #988
|
||||||
- Impossibility to set different even and odd page headers - @troosan #981
|
- Impossibility to set different even and odd page headers - @troosan #981
|
||||||
|
|||||||
@ -37,7 +37,7 @@ namespace PhpOffice\PhpWord\Element;
|
|||||||
* @method PageBreak addPageBreak()
|
* @method PageBreak addPageBreak()
|
||||||
* @method Table addTable(mixed $style = null)
|
* @method Table addTable(mixed $style = null)
|
||||||
* @method Image addImage(string $source, mixed $style = null, bool $isWatermark = false)
|
* @method Image addImage(string $source, mixed $style = null, bool $isWatermark = false)
|
||||||
* @method \PhpOffice\PhpWord\Element\Object addObject(string $source, mixed $style = null)
|
* @method \PhpOffice\PhpWord\Element\OLEObject addObject(string $source, mixed $style = null)
|
||||||
* @method TextBox addTextBox(mixed $style = null)
|
* @method TextBox addTextBox(mixed $style = null)
|
||||||
* @method Field addField(string $type = null, array $properties = array(), array $options = array(), mixed $text = null)
|
* @method Field addField(string $type = null, array $properties = array(), array $options = array(), mixed $text = null)
|
||||||
* @method Line addLine(mixed $lineStyle = null)
|
* @method Line addLine(mixed $lineStyle = null)
|
||||||
@ -87,7 +87,7 @@ abstract class AbstractContainer extends AbstractElement
|
|||||||
);
|
);
|
||||||
$functions = array();
|
$functions = array();
|
||||||
foreach ($elements as $element) {
|
foreach ($elements as $element) {
|
||||||
$functions['add' . strtolower($element)] = $element;
|
$functions['add' . strtolower($element)] = $element == 'Object' ? 'OLEObject' : $element;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Run valid `add` command
|
// Run valid `add` command
|
||||||
@ -193,7 +193,7 @@ abstract class AbstractContainer extends AbstractElement
|
|||||||
'Link' => $generalContainers,
|
'Link' => $generalContainers,
|
||||||
'TextBreak' => $generalContainers,
|
'TextBreak' => $generalContainers,
|
||||||
'Image' => $generalContainers,
|
'Image' => $generalContainers,
|
||||||
'Object' => $generalContainers,
|
'OLEObject' => $generalContainers,
|
||||||
'Field' => $generalContainers,
|
'Field' => $generalContainers,
|
||||||
'Line' => $generalContainers,
|
'Line' => $generalContainers,
|
||||||
'Shape' => $generalContainers,
|
'Shape' => $generalContainers,
|
||||||
|
|||||||
@ -358,11 +358,14 @@ abstract class AbstractElement
|
|||||||
*/
|
*/
|
||||||
private function setMediaRelation()
|
private function setMediaRelation()
|
||||||
{
|
{
|
||||||
if (!$this instanceof Link && !$this instanceof Image && !$this instanceof Object) {
|
if (!$this instanceof Link && !$this instanceof Image && !$this instanceof OLEObject) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$elementName = substr(get_class($this), strrpos(get_class($this), '\\') + 1);
|
$elementName = substr(get_class($this), strrpos(get_class($this), '\\') + 1);
|
||||||
|
if ($elementName == 'OLEObject') {
|
||||||
|
$elementName = 'Object';
|
||||||
|
}
|
||||||
$mediaPart = $this->getMediaPart();
|
$mediaPart = $this->getMediaPart();
|
||||||
$source = $this->getSource();
|
$source = $this->getSource();
|
||||||
$image = null;
|
$image = null;
|
||||||
@ -372,7 +375,7 @@ abstract class AbstractElement
|
|||||||
$rId = Media::addElement($mediaPart, strtolower($elementName), $source, $image);
|
$rId = Media::addElement($mediaPart, strtolower($elementName), $source, $image);
|
||||||
$this->setRelationId($rId);
|
$this->setRelationId($rId);
|
||||||
|
|
||||||
if ($this instanceof Object) {
|
if ($this instanceof OLEObject) {
|
||||||
$icon = $this->getIcon();
|
$icon = $this->getIcon();
|
||||||
$rId = Media::addElement($mediaPart, 'image', $icon, new Image($icon));
|
$rId = Media::addElement($mediaPart, 'image', $icon, new Image($icon));
|
||||||
$this->setImageRelationId($rId);
|
$this->setImageRelationId($rId);
|
||||||
|
|||||||
@ -21,9 +21,9 @@ use PhpOffice\PhpWord\Exception\InvalidObjectException;
|
|||||||
use PhpOffice\PhpWord\Style\Image as ImageStyle;
|
use PhpOffice\PhpWord\Style\Image as ImageStyle;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Object element
|
* OLEObject element
|
||||||
*/
|
*/
|
||||||
class Object extends AbstractElement
|
class OLEObject extends AbstractElement
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Ole-Object Src
|
* Ole-Object Src
|
||||||
@ -20,11 +20,11 @@ namespace PhpOffice\PhpWord\Writer\Word2007\Element;
|
|||||||
use PhpOffice\PhpWord\Writer\Word2007\Style\Image as ImageStyleWriter;
|
use PhpOffice\PhpWord\Writer\Word2007\Style\Image as ImageStyleWriter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Object element writer
|
* OLEObject element writer
|
||||||
*
|
*
|
||||||
* @since 0.10.0
|
* @since 0.10.0
|
||||||
*/
|
*/
|
||||||
class Object extends AbstractElement
|
class OLEObject extends AbstractElement
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Write object element.
|
* Write object element.
|
||||||
@ -33,7 +33,7 @@ class Object extends AbstractElement
|
|||||||
{
|
{
|
||||||
$xmlWriter = $this->getXmlWriter();
|
$xmlWriter = $this->getXmlWriter();
|
||||||
$element = $this->getElement();
|
$element = $this->getElement();
|
||||||
if (!$element instanceof \PhpOffice\PhpWord\Element\Object) {
|
if (!$element instanceof \PhpOffice\PhpWord\Element\OLEObject) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -181,7 +181,7 @@ class CellTest extends \PHPUnit\Framework\TestCase
|
|||||||
$element = $oCell->addObject($src);
|
$element = $oCell->addObject($src);
|
||||||
|
|
||||||
$this->assertCount(1, $oCell->getElements());
|
$this->assertCount(1, $oCell->getElements());
|
||||||
$this->assertInstanceOf('PhpOffice\\PhpWord\\Element\\Object', $element);
|
$this->assertInstanceOf('PhpOffice\\PhpWord\\Element\\OLEObject', $element);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -18,9 +18,9 @@
|
|||||||
namespace PhpOffice\PhpWord\Element;
|
namespace PhpOffice\PhpWord\Element;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test class for PhpOffice\PhpWord\Element\Object
|
* Test class for PhpOffice\PhpWord\Element\OLEObject
|
||||||
*
|
*
|
||||||
* @coversDefaultClass \PhpOffice\PhpWord\Element\Object
|
* @coversDefaultClass \PhpOffice\PhpWord\Element\OLEObject
|
||||||
* @runTestsInSeparateProcesses
|
* @runTestsInSeparateProcesses
|
||||||
*/
|
*/
|
||||||
class ObjectTest extends \PHPUnit\Framework\TestCase
|
class ObjectTest extends \PHPUnit\Framework\TestCase
|
||||||
@ -31,9 +31,9 @@ class ObjectTest extends \PHPUnit\Framework\TestCase
|
|||||||
public function testConstructWithSupportedFiles()
|
public function testConstructWithSupportedFiles()
|
||||||
{
|
{
|
||||||
$src = __DIR__ . '/../_files/documents/reader.docx';
|
$src = __DIR__ . '/../_files/documents/reader.docx';
|
||||||
$oObject = new Object($src);
|
$oObject = new OLEObject($src);
|
||||||
|
|
||||||
$this->assertInstanceOf('PhpOffice\\PhpWord\\Element\\Object', $oObject);
|
$this->assertInstanceOf('PhpOffice\\PhpWord\\Element\\OLEObject', $oObject);
|
||||||
$this->assertInstanceOf('PhpOffice\\PhpWord\\Style\\Image', $oObject->getStyle());
|
$this->assertInstanceOf('PhpOffice\\PhpWord\\Style\\Image', $oObject->getStyle());
|
||||||
$this->assertEquals($src, $oObject->getSource());
|
$this->assertEquals($src, $oObject->getSource());
|
||||||
}
|
}
|
||||||
@ -44,9 +44,9 @@ class ObjectTest extends \PHPUnit\Framework\TestCase
|
|||||||
public function testConstructWithSupportedFilesLong()
|
public function testConstructWithSupportedFilesLong()
|
||||||
{
|
{
|
||||||
$src = __DIR__ . '/../_files/documents/sheet.xls';
|
$src = __DIR__ . '/../_files/documents/sheet.xls';
|
||||||
$oObject = new Object($src);
|
$oObject = new OLEObject($src);
|
||||||
|
|
||||||
$this->assertInstanceOf('PhpOffice\\PhpWord\\Element\\Object', $oObject);
|
$this->assertInstanceOf('PhpOffice\\PhpWord\\Element\\OLEObject', $oObject);
|
||||||
$this->assertInstanceOf('PhpOffice\\PhpWord\\Style\\Image', $oObject->getStyle());
|
$this->assertInstanceOf('PhpOffice\\PhpWord\\Style\\Image', $oObject->getStyle());
|
||||||
$this->assertEquals($src, $oObject->getSource());
|
$this->assertEquals($src, $oObject->getSource());
|
||||||
}
|
}
|
||||||
@ -59,7 +59,7 @@ class ObjectTest extends \PHPUnit\Framework\TestCase
|
|||||||
public function testConstructWithNotSupportedFiles()
|
public function testConstructWithNotSupportedFiles()
|
||||||
{
|
{
|
||||||
$src = __DIR__ . '/../_files/xsl/passthrough.xsl';
|
$src = __DIR__ . '/../_files/xsl/passthrough.xsl';
|
||||||
$oObject = new Object($src);
|
$oObject = new OLEObject($src);
|
||||||
$oObject->getSource();
|
$oObject->getSource();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,9 +69,9 @@ class ObjectTest extends \PHPUnit\Framework\TestCase
|
|||||||
public function testConstructWithSupportedFilesAndStyle()
|
public function testConstructWithSupportedFilesAndStyle()
|
||||||
{
|
{
|
||||||
$src = __DIR__ . '/../_files/documents/sheet.xls';
|
$src = __DIR__ . '/../_files/documents/sheet.xls';
|
||||||
$oObject = new Object($src, array('width' => '230px'));
|
$oObject = new OLEObject($src, array('width' => '230px'));
|
||||||
|
|
||||||
$this->assertInstanceOf('PhpOffice\\PhpWord\\Element\\Object', $oObject);
|
$this->assertInstanceOf('PhpOffice\\PhpWord\\Element\\OLEObject', $oObject);
|
||||||
$this->assertInstanceOf('PhpOffice\\PhpWord\\Style\\Image', $oObject->getStyle());
|
$this->assertInstanceOf('PhpOffice\\PhpWord\\Style\\Image', $oObject->getStyle());
|
||||||
$this->assertEquals($src, $oObject->getSource());
|
$this->assertEquals($src, $oObject->getSource());
|
||||||
}
|
}
|
||||||
@ -82,7 +82,7 @@ class ObjectTest extends \PHPUnit\Framework\TestCase
|
|||||||
public function testRelationId()
|
public function testRelationId()
|
||||||
{
|
{
|
||||||
$src = __DIR__ . '/../_files/documents/sheet.xls';
|
$src = __DIR__ . '/../_files/documents/sheet.xls';
|
||||||
$oObject = new Object($src);
|
$oObject = new OLEObject($src);
|
||||||
|
|
||||||
$iVal = rand(1, 1000);
|
$iVal = rand(1, 1000);
|
||||||
$oObject->setRelationId($iVal);
|
$oObject->setRelationId($iVal);
|
||||||
@ -95,7 +95,7 @@ class ObjectTest extends \PHPUnit\Framework\TestCase
|
|||||||
public function testImageRelationId()
|
public function testImageRelationId()
|
||||||
{
|
{
|
||||||
$src = __DIR__ . '/../_files/documents/sheet.xls';
|
$src = __DIR__ . '/../_files/documents/sheet.xls';
|
||||||
$oObject = new Object($src);
|
$oObject = new OLEObject($src);
|
||||||
|
|
||||||
$iVal = rand(1, 1000);
|
$iVal = rand(1, 1000);
|
||||||
$oObject->setImageRelationId($iVal);
|
$oObject->setImageRelationId($iVal);
|
||||||
|
|||||||
@ -70,7 +70,7 @@ class SectionTest extends \PHPUnit\Framework\TestCase
|
|||||||
'PageBreak',
|
'PageBreak',
|
||||||
'Table',
|
'Table',
|
||||||
'ListItem',
|
'ListItem',
|
||||||
'Object',
|
'OLEObject',
|
||||||
'Image',
|
'Image',
|
||||||
'Title',
|
'Title',
|
||||||
'TextRun',
|
'TextRun',
|
||||||
|
|||||||
@ -44,7 +44,7 @@ class ElementTest extends \PHPUnit\Framework\TestCase
|
|||||||
{
|
{
|
||||||
$elements = array(
|
$elements = array(
|
||||||
'CheckBox', 'Container', 'Footnote', 'Image', 'Link', 'ListItem', 'ListItemRun',
|
'CheckBox', 'Container', 'Footnote', 'Image', 'Link', 'ListItem', 'ListItemRun',
|
||||||
'Object', 'PreserveText', 'Table', 'Text', 'TextBox', 'TextBreak', 'Title', 'TOC',
|
'OLEObject', 'PreserveText', 'Table', 'Text', 'TextBox', 'TextBreak', 'Title', 'TOC',
|
||||||
'Field', 'Line', 'Shape', 'Chart', 'FormField', 'SDT', 'Bookmark',
|
'Field', 'Line', 'Shape', 'Chart', 'FormField', 'SDT', 'Bookmark',
|
||||||
);
|
);
|
||||||
foreach ($elements as $element) {
|
foreach ($elements as $element) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user