Server IP : 184.154.167.98 / Your IP : 13.58.199.20 Web Server : Apache System : Linux pink.dnsnetservice.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 User : puertode ( 1767) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/puertode/public_html/contratos/3rdparty/league/flysystem/src/Util/ |
Upload File : |
<?php namespace League\Flysystem\Util; use League\Flysystem\Util; /** * @internal */ class ContentListingFormatter { /** * @var string */ private $directory; /** * @var bool */ private $recursive; /** * @param string $directory * @param bool $recursive */ public function __construct($directory, $recursive) { $this->directory = $directory; $this->recursive = $recursive; } /** * Format contents listing. * * @param array $listing * * @return array */ public function formatListing(array $listing) { $listing = array_values( array_map( [$this, 'addPathInfo'], array_filter($listing, [$this, 'isEntryOutOfScope']) ) ); return $this->sortListing($listing); } private function addPathInfo(array $entry) { return $entry + Util::pathinfo($entry['path']); } /** * Determine if the entry is out of scope. * * @param array $entry * * @return bool */ private function isEntryOutOfScope(array $entry) { if (empty($entry['path']) && $entry['path'] !== '0') { return false; } if ($this->recursive) { return $this->residesInDirectory($entry); } return $this->isDirectChild($entry); } /** * Check if the entry resides within the parent directory. * * @param $entry * * @return bool */ private function residesInDirectory(array $entry) { if ($this->directory === '') { return true; } return strpos($entry['path'], $this->directory . '/') === 0; } /** * Check if the entry is a direct child of the directory. * * @param $entry * * @return bool */ private function isDirectChild(array $entry) { return Util::dirname($entry['path']) === $this->directory; } /** * @param array $listing * * @return array */ private function sortListing(array $listing) { usort( $listing, function ($a, $b) { return strcasecmp($a['path'], $b['path']); } ); return $listing; } }