|
Server IP : 10.131.40.8 / Your IP : 216.73.216.37 Web Server : Apache System : Linux webd008.cluster131.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64 User : ludmqhh ( 137773) PHP Version : 8.4.10 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/ludmqhh/www/guillaume/wp-content/plugins/contact-form-7/includes/swv/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
<?php
trait WPCF7_SWV_SchemaHolder {
protected $schema;
/**
* Retrieves SWV schema for this holder object (contact form).
*
* @return WPCF7_SWV_Schema The schema object.
*/
public function get_schema() {
if ( isset( $this->schema ) ) {
return $this->schema;
}
$schema = new WPCF7_SWV_Schema( array(
'locale' => isset( $this->locale ) ? $this->locale : '',
) );
do_action( 'wpcf7_swv_create_schema', $schema, $this );
return $this->schema = $schema;
}
/**
* Validates form inputs based on the schema and given context.
*/
public function validate_schema( $context, WPCF7_Validation $validity ) {
$callback = function ( $rule ) use ( &$callback, $context, $validity ) {
if ( ! $rule->matches( $context ) ) {
return;
}
if ( $rule instanceof WPCF7_SWV_CompositeRule ) {
foreach ( $rule->rules() as $child_rule ) {
call_user_func( $callback, $child_rule );
}
} else {
$field = $rule->get_property( 'field' );
if ( $validity->is_valid( $field ) ) {
$result = $rule->validate( $context );
if ( is_wp_error( $result ) ) {
$validity->invalidate( $field, $result );
}
}
}
};
call_user_func( $callback, $this->get_schema() );
}
}
