Completed
Push — master ( 54b5b7...2ab477 )
by Maciej
14s
created

wfv-validate.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
defined( 'ABSPATH' ) || die();
3
/*
4
Plugin Name: WFV - Form Validation
5
Plugin URI:  https://macder.github.io/wfv/
6
Description: A simple fluid and concise API to manage user input, validation, feedback, and safe output.
7
Version:     0.11.0
8
Author:      Maciej Derulski
9
Author URI:  https://github.com/macder
10
License:     BSD 3-Clause
11
License URI: https://github.com/macder/wp-form-validation/blob/master/LICENSE
12
*/
13
14
define( 'WFV_VALIDATE_VERSION', '0.11.0' );
15
define( 'WFV_VALIDATE__MINIMUM_WP_VERSION', '3.7' );
16
define( 'WFV_VALIDATE__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
17
define( 'WFV_VALIDATE__ACTION_POST', 'validate_form' );
18
19
require_once WFV_VALIDATE__PLUGIN_DIR . '/vendor/autoload.php';
20
21
use WFV\FormComposite;
22
use WFV\Agent\InspectionAgent;
23
use WFV\Artisan\Director;
24
use WFV\Artisan\FormArtisan;
25
use WFV\Factory\ValidatorFactory;
26
27
/**
28
 *
29
 *
30
 * @since 0.10.0
31
 *
32
 * @param string $action
33
 * @param array $form Form arguments
34
 * @param bool $trim Trim whitespace from beginning and end of string
35
 */
36
function wfv_create( $action, array &$form, $trim = true ) {
0 ignored issues
show
The parameter $trim is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
37
	$guard = new InspectionAgent( $action );
38
39
	$builder = new FormArtisan( $form );
40
	$form = ( new Director( $action ) )
41
		->with( 'input', $guard )
42
		->with( 'rules' )
43
		->with( 'errors' )
44
		->with( 'validator' )
45
		->compose( $builder );
46
47
	if( $form->input()->is_populated() ) {
48
		wfv_validate( $form );
49
	}
50
}
51
52
/**
53
 *
54
 *
55
 * @since 0.11.0
56
 *
57
 * @param FormComposite $form
58
 * @return bool
59
 */
60
function wfv_validate( FormComposite $form ) {
61
	$factory = ( new ValidatorFactory() )
62
		->add( $form->rules()->unique() );
63
	return $form->validate( $factory )->is_valid();
64
}
65