 a23f681332
			
		
	
	
		a23f681332
		
			
		
	
	
	
	
		
			
			The hook automatically fixes most code style mistakes and should be installed once with: ```sh ln -s ../../bin/pre-commit .git/hooks/pre-commit ```
		
			
				
	
	
		
			34 lines
		
	
	
		
			788 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			788 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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
 |