#!/usr/bin/php
<?php
$error = 0;
# File Checks
exec('git diff --cached --name-status --diff-filter=ACM', $output);
foreach ($output as $line) {
    $action = trim($line[0]);
    $fileName = trim( substr($line, 1) );
    # PHP Syntax
    if(strpos($fileName, '.php') !== false)
    {
        checkSyntax($fileName);
    }
}
# Content checks
// Whitespace
#exec('git diff --cached --check', $output2);
#foreach($output2 as $line) {
#    echo $line."\n";
#    $error = 1;
#}
exit($error);
function checkSyntax($fileName)
{
    global $error;
    $op = array();
    exec('/usr/bin/php -l '.$fileName.' 2> /dev/null', $output, $failed);
    if (!$failed)
    {
        return;
    }
    echo "\033[31mSyntax error in $fileName: " . $output[1] . "\033[37m\n";
    $error = 1;
}