%PDF- %PDF-
Direktori : /www/varak.net/video.varak.net/app/ |
Current File : /www/varak.net/video.varak.net/app/File.php |
<?php /** * Created by PhpStorm. * User: Turbo * Date: 14.12.2015 * Time: 18:21 */ namespace App; use Utils\Strings; class File { public $name; public $fileLink; public $dirPath; public $directory; public $dirName; public $subtitles; /** @var File[] */ protected $siblings = []; /***/ public function __construct($name, $path) { list($this->name, $this->directory, $this->dirName) = $this->formNameAndDir($name); $this->fileLink = $this->directory . '/' . $this->name; $this->dirPath = $path . $this->directory; if(substr($name, -3) == "mp4") $this->subtitles = substr($name, 0, strlen($name) - 4).".srt"; else $this->subtitles = substr($name, 0, strlen($name) - 5).".srt"; } protected function formNameAndDir($file) { $name = basename($file); $directory = dirname($file); $dirName = basename($directory); return [$name, $directory, $dirName]; } public function loadDirectoryFiles() { $dir = opendir($this->dirPath); $files = []; if ($dir) { while (($file = readdir($dir)) !== FALSE) { if ($file != "." && $file != ".." && !Strings::endsWith($file, '.srt')) { if (!is_dir($this->dirPath . "/" . $file)) { $files[] = $file; } } } if (count($files) > 0) { sort($files); foreach ($files as $file) { $this->siblings[] = new File($this->directory . "/" . $file, $this->dirPath); } } closedir($dir); } } /***/ public function renderDirectoryFiles() { $this->loadDirectoryFiles(); foreach ($this->siblings as $sibling) { include('templates/playerSiblings.php'); } } public function getSiblings() { if (count($this->siblings) == 0) { $this->loadDirectoryFiles(); } return $this->siblings; } }