#!/usr/bin/env php

<?php

use MatthiasMullie\Minify;



// command line utility to minify CSS

if (file_exists(__DIR__ . '/../../../autoload.php')) {

    // if composer install

    require_once __DIR__ . '/../../../autoload.php';

} else {

    require_once __DIR__ . '/../src/Minify.php';

    require_once __DIR__ . '/../src/CSS.php';

    require_once __DIR__ . '/../src/Exception.php';

}



error_reporting(E_ALL);

// check PHP setup for cli arguments

if (!isset($_SERVER['argv']) && !isset($argv)) {

    fwrite(STDERR, 'Please enable the "register_argc_argv" directive in your php.ini' . PHP_EOL);

    exit(1);

} elseif (!isset($argv)) {

    $argv = $_SERVER['argv'];

}

// check if path to file given

if (!isset($argv[1])) {

    fwrite(STDERR, 'Argument expected: path to file' . PHP_EOL);

    exit(1);

}

// check if script run in cli environment

if ('cli' !== php_sapi_name()) {

    fwrite(STDERR, $argv[1] . ' must be run in the command line' . PHP_EOL);

    exit(1);

}

// check if source file exists

if (!file_exists($argv[1])) {

    fwrite(STDERR, 'Source file "' . $argv[1] . '" not found' . PHP_EOL);

    exit(1);

}



try {

    $minifier = new Minify\CSS($argv[1]);

    echo $minifier->minify();

} catch (Exception $e) {

    fwrite(STDERR, $e->getMessage(), PHP_EOL);

    exit(1);

}

