Livraison d ela gestion des opérations v0.4.0
This commit is contained in:
34
api/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/ITextElement.php
vendored
Normal file
34
api/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/ITextElement.php
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheet\RichText;
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Style\Font;
|
||||
|
||||
interface ITextElement
|
||||
{
|
||||
/**
|
||||
* Get text.
|
||||
*/
|
||||
public function getText(): string;
|
||||
|
||||
/**
|
||||
* Set text.
|
||||
*
|
||||
* @param string $text Text
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function setText(string $text): self;
|
||||
|
||||
/**
|
||||
* Get font.
|
||||
*/
|
||||
public function getFont(): ?Font;
|
||||
|
||||
/**
|
||||
* Get hash code.
|
||||
*
|
||||
* @return string Hash code
|
||||
*/
|
||||
public function getHashCode(): string;
|
||||
}
|
||||
164
api/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/RichText.php
vendored
Normal file
164
api/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/RichText.php
vendored
Normal file
@@ -0,0 +1,164 @@
|
||||
<?php
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheet\RichText;
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Cell\Cell;
|
||||
use PhpOffice\PhpSpreadsheet\Cell\DataType;
|
||||
use PhpOffice\PhpSpreadsheet\IComparable;
|
||||
use Stringable;
|
||||
|
||||
class RichText implements IComparable, Stringable
|
||||
{
|
||||
/**
|
||||
* Rich text elements.
|
||||
*
|
||||
* @var ITextElement[]
|
||||
*/
|
||||
private array $richTextElements;
|
||||
|
||||
/**
|
||||
* Create a new RichText instance.
|
||||
*/
|
||||
public function __construct(?Cell $cell = null)
|
||||
{
|
||||
// Initialise variables
|
||||
$this->richTextElements = [];
|
||||
|
||||
// Rich-Text string attached to cell?
|
||||
if ($cell !== null) {
|
||||
// Add cell text and style
|
||||
if ($cell->getValueString() !== '') {
|
||||
$objRun = new Run($cell->getValueString());
|
||||
$objRun->setFont(clone $cell->getWorksheet()->getStyle($cell->getCoordinate())->getFont());
|
||||
$this->addText($objRun);
|
||||
}
|
||||
|
||||
// Set parent value
|
||||
$cell->setValueExplicit($this, DataType::TYPE_STRING);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add text.
|
||||
*
|
||||
* @param ITextElement $text Rich text element
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function addText(ITextElement $text): static
|
||||
{
|
||||
$this->richTextElements[] = $text;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create text.
|
||||
*
|
||||
* @param string $text Text
|
||||
*/
|
||||
public function createText(string $text): TextElement
|
||||
{
|
||||
$objText = new TextElement($text);
|
||||
$this->addText($objText);
|
||||
|
||||
return $objText;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create text run.
|
||||
*
|
||||
* @param string $text Text
|
||||
*/
|
||||
public function createTextRun(string $text): Run
|
||||
{
|
||||
$objText = new Run($text);
|
||||
$this->addText($objText);
|
||||
|
||||
return $objText;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get plain text.
|
||||
*/
|
||||
public function getPlainText(): string
|
||||
{
|
||||
// Return value
|
||||
$returnValue = '';
|
||||
|
||||
// Loop through all ITextElements
|
||||
foreach ($this->richTextElements as $text) {
|
||||
$returnValue .= $text->getText();
|
||||
}
|
||||
|
||||
return $returnValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert to string.
|
||||
*/
|
||||
public function __toString(): string
|
||||
{
|
||||
return $this->getPlainText();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Rich Text elements.
|
||||
*
|
||||
* @return ITextElement[]
|
||||
*/
|
||||
public function getRichTextElements(): array
|
||||
{
|
||||
return $this->richTextElements;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Rich Text elements.
|
||||
*
|
||||
* @param ITextElement[] $textElements Array of elements
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function setRichTextElements(array $textElements): static
|
||||
{
|
||||
$this->richTextElements = $textElements;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get hash code.
|
||||
*
|
||||
* @return string Hash code
|
||||
*/
|
||||
public function getHashCode(): string
|
||||
{
|
||||
$hashElements = '';
|
||||
foreach ($this->richTextElements as $element) {
|
||||
$hashElements .= $element->getHashCode();
|
||||
}
|
||||
|
||||
return md5(
|
||||
$hashElements
|
||||
. __CLASS__
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Implement PHP __clone to create a deep clone, not just a shallow copy.
|
||||
*/
|
||||
public function __clone()
|
||||
{
|
||||
$vars = get_object_vars($this);
|
||||
foreach ($vars as $key => $value) {
|
||||
$newValue = is_object($value) ? (clone $value) : $value;
|
||||
if (is_array($value)) {
|
||||
$newValue = [];
|
||||
foreach ($value as $key2 => $value2) {
|
||||
$newValue[$key2] = is_object($value2) ? (clone $value2) : $value2;
|
||||
}
|
||||
}
|
||||
$this->$key = $newValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
71
api/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/Run.php
vendored
Normal file
71
api/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/Run.php
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheet\RichText;
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Exception as SpreadsheetException;
|
||||
use PhpOffice\PhpSpreadsheet\Style\Font;
|
||||
|
||||
class Run extends TextElement implements ITextElement
|
||||
{
|
||||
/**
|
||||
* Font.
|
||||
*/
|
||||
private ?Font $font;
|
||||
|
||||
/**
|
||||
* Create a new Run instance.
|
||||
*
|
||||
* @param string $text Text
|
||||
*/
|
||||
public function __construct(string $text = '')
|
||||
{
|
||||
parent::__construct($text);
|
||||
// Initialise variables
|
||||
$this->font = new Font();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get font.
|
||||
*/
|
||||
public function getFont(): ?Font
|
||||
{
|
||||
return $this->font;
|
||||
}
|
||||
|
||||
public function getFontOrThrow(): Font
|
||||
{
|
||||
if ($this->font === null) {
|
||||
throw new SpreadsheetException('unexpected null font');
|
||||
}
|
||||
|
||||
return $this->font;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set font.
|
||||
*
|
||||
* @param ?Font $font Font
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function setFont(?Font $font = null): static
|
||||
{
|
||||
$this->font = $font;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get hash code.
|
||||
*
|
||||
* @return string Hash code
|
||||
*/
|
||||
public function getHashCode(): string
|
||||
{
|
||||
return md5(
|
||||
$this->getText()
|
||||
. (($this->font === null) ? '' : $this->font->getHashCode())
|
||||
. __CLASS__
|
||||
);
|
||||
}
|
||||
}
|
||||
69
api/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/TextElement.php
vendored
Normal file
69
api/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/TextElement.php
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheet\RichText;
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Style\Font;
|
||||
|
||||
class TextElement implements ITextElement
|
||||
{
|
||||
/**
|
||||
* Text.
|
||||
*/
|
||||
private string $text;
|
||||
|
||||
/**
|
||||
* Create a new TextElement instance.
|
||||
*
|
||||
* @param string $text Text
|
||||
*/
|
||||
public function __construct(string $text = '')
|
||||
{
|
||||
// Initialise variables
|
||||
$this->text = $text;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get text.
|
||||
*
|
||||
* @return string Text
|
||||
*/
|
||||
public function getText(): string
|
||||
{
|
||||
return $this->text;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set text.
|
||||
*
|
||||
* @param string $text Text
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function setText(string $text): self
|
||||
{
|
||||
$this->text = $text;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get font. For this class, the return value is always null.
|
||||
*/
|
||||
public function getFont(): ?Font
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get hash code.
|
||||
*
|
||||
* @return string Hash code
|
||||
*/
|
||||
public function getHashCode(): string
|
||||
{
|
||||
return md5(
|
||||
$this->text
|
||||
. __CLASS__
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user