<?php

class PostInstall {

    static function install($sources)
    {
        $files = self::getAllFiles($sources);
        self::copy($files);

    }

    static function getAllFiles($sources)
    {
        $result = [];
        foreach ($sources as $source) {
            if (is_dir($source)) {
                foreach (new DirectoryIterator($source) as $fileInfo) {
                    if($fileInfo->isDot()) continue;
                    $result[] = $fileInfo->getPathname();
                }
            } else {
                $result[] = $source;
            }
        }
        return $result;
    }

    static function copy($files)
    {
        foreach ($files as $file)
        {
            $extension = pathinfo($file, PATHINFO_EXTENSION);
            if (strcmp($extension, "js") === 0) {
                $path = __DIR__ . "/public/media/js";
            } elseif (strcmp($extension, "css") === 0 ) {
                $path = __DIR__ . "/public/media/css";
            } else {
                $path = __DIR__ . "/public/media/fonts";
            }
            if (!is_dir($path)) {
                mkdir($path, 0700, true);
            }
            copy($file, $path . "/" . basename($file));
        }
    }
}

$sources = [
    __DIR__ . "/vendor/videojs/video.js/dist/video.min.js",
    __DIR__ . "/vendor/videojs/video.js/dist/video-js.min.css",
    __DIR__ . "/vendor/videojs/video.js/dist/font/",
    __DIR__ . "/vendor/twbs/bootstrap/dist/css/bootstrap.min.css",
    __DIR__ . "/vendor/twbs/bootstrap/dist/js/bootstrap.min.js",
    __DIR__ . "/vendor/twbs/bootstrap/dist/fonts/"
];

PostInstall::install($sources);