34 lines
		
	
	
		
			788 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			788 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | #!/bin/bash | ||
|  | 
 | ||
|  | pass=true | ||
|  | 
 | ||
|  | files=$(git diff --cached --name-only --diff-filter=ACMR | grep -E '\.(php|phtml)$') | ||
|  | if [ "$files" != "" ]; then | ||
|  | 
 | ||
|  |     # Run php syntax check before commit | ||
|  |     while read -r file; do | ||
|  |         php -l "$file" | ||
|  |         if [ $? -ne 0 ]; then | ||
|  |             pass=false | ||
|  |         fi | ||
|  |     done <<< "$files" | ||
|  | 
 | ||
|  |     # Run php-cs-fixer validation before commit | ||
|  |     echo "$files" | xargs ./vendor/bin/php-cs-fixer fix --diff --config .php_cs.dist | ||
|  |     if [ $? -ne 0 ]; then | ||
|  |         pass=false | ||
|  |     fi | ||
|  | 
 | ||
|  |     # Automatically add files that may have been fixed by php-cs-fixer | ||
|  |     echo "$files" | xargs git add | ||
|  | fi | ||
|  | 
 | ||
|  | if $pass; then | ||
|  |     exit 0 | ||
|  | else | ||
|  |     echo "" | ||
|  |     echo "PRE-COMMIT HOOK FAILED:" | ||
|  |     echo "Code style validation failed. Please fix errors and try committing again." | ||
|  |     exit 1 | ||
|  | fi |