ÿØÿà JFIF ÿá Exif MM * ÿÛ C
Server IP : 199.250.214.225 / Your IP : 52.15.253.149 Web Server : Apache System : Linux vps64074.inmotionhosting.com 3.10.0-1160.105.1.vz7.214.3 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : nicngo5 ( 1001) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /home/nicngo5/funds.upgrade.nicn.gov.ng/funds-upgraded/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/ |
Upload File : |
<?php namespace PhpOffice\PhpSpreadsheet\Reader\Xml\Style; use PhpOffice\PhpSpreadsheet\Style\Border as BorderStyle; use PhpOffice\PhpSpreadsheet\Style\Borders; use SimpleXMLElement; class Border extends StyleBase { protected const BORDER_POSITIONS = [ 'top', 'left', 'bottom', 'right', ]; /** * @var array */ public const BORDER_MAPPINGS = [ 'borderStyle' => [ '1continuous' => BorderStyle::BORDER_THIN, '1dash' => BorderStyle::BORDER_DASHED, '1dashdot' => BorderStyle::BORDER_DASHDOT, '1dashdotdot' => BorderStyle::BORDER_DASHDOTDOT, '1dot' => BorderStyle::BORDER_DOTTED, '1double' => BorderStyle::BORDER_DOUBLE, '2continuous' => BorderStyle::BORDER_MEDIUM, '2dash' => BorderStyle::BORDER_MEDIUMDASHED, '2dashdot' => BorderStyle::BORDER_MEDIUMDASHDOT, '2dashdotdot' => BorderStyle::BORDER_MEDIUMDASHDOTDOT, '2dot' => BorderStyle::BORDER_DOTTED, '2double' => BorderStyle::BORDER_DOUBLE, '3continuous' => BorderStyle::BORDER_THICK, '3dash' => BorderStyle::BORDER_MEDIUMDASHED, '3dashdot' => BorderStyle::BORDER_MEDIUMDASHDOT, '3dashdotdot' => BorderStyle::BORDER_MEDIUMDASHDOTDOT, '3dot' => BorderStyle::BORDER_DOTTED, '3double' => BorderStyle::BORDER_DOUBLE, ], ]; public function parseStyle(SimpleXMLElement $styleData, array $namespaces): array { $style = []; $diagonalDirection = ''; $borderPosition = ''; foreach ($styleData->Border as $borderStyle) { $borderAttributes = self::getAttributes($borderStyle, $namespaces['ss']); $thisBorder = []; $styleType = (string) $borderAttributes->Weight; $styleType .= strtolower((string) $borderAttributes->LineStyle); $thisBorder['borderStyle'] = self::BORDER_MAPPINGS['borderStyle'][$styleType] ?? BorderStyle::BORDER_NONE; foreach ($borderAttributes as $borderStyleKey => $borderStyleValuex) { $borderStyleValue = (string) $borderStyleValuex; switch ($borderStyleKey) { case 'Position': [$borderPosition, $diagonalDirection] = $this->parsePosition($borderStyleValue, $diagonalDirection); break; case 'Color': $borderColour = substr($borderStyleValue, 1); $thisBorder['color']['rgb'] = $borderColour; break; } } if ($borderPosition) { $style['borders'][$borderPosition] = $thisBorder; } elseif ($diagonalDirection) { $style['borders']['diagonalDirection'] = $diagonalDirection; $style['borders']['diagonal'] = $thisBorder; } } return $style; } protected function parsePosition(string $borderStyleValue, string $diagonalDirection): array { $borderStyleValue = strtolower($borderStyleValue); if (in_array($borderStyleValue, self::BORDER_POSITIONS)) { $borderPosition = $borderStyleValue; } elseif ($borderStyleValue === 'diagonalleft') { $diagonalDirection = $diagonalDirection ? Borders::DIAGONAL_BOTH : Borders::DIAGONAL_DOWN; } elseif ($borderStyleValue === 'diagonalright') { $diagonalDirection = $diagonalDirection ? Borders::DIAGONAL_BOTH : Borders::DIAGONAL_UP; } return [$borderPosition ?? null, $diagonalDirection]; } }