<?php

//namespace Util;
//use DirectoryIterator;

class PostInstall {

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

    static function getAllFiles($paths)
    {
        $result = [];
        foreach ($paths as $libName => $path) {
            $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::SKIP_DOTS));
            foreach($files as $name => $object) {
                if (!empty($files->getSubPath())) {
                    $folder = $libName . "/" . $files->getSubPath();
                } else {
                    $folder = $libName;
                }
                $result[$folder][] = $name;
            }
        }
        return $result;
    }

    static function copy($files)
    {
        foreach ($files as $libFolder => $libFiles)
        {
            $path = __DIR__ . "/../public/media/{$libFolder}";
            if (!is_dir($path)) {
                mkdir($path, 0700, true);
            }
            foreach ($libFiles as $file) {
                copy($file, $path . "/" . basename($file));
            }
        }
    }
}

$paths = [
    'videojs'   => __DIR__ . '/../vendor/videojs/video.js/dist',
    'bootstrap' => __DIR__ . '/../vendor/twbs/bootstrap/dist'
];

PostInstall::install($paths);
