Create New Item
×
Item Type
File
Folder
Item Name
×
Search file in folder and subfolders...
File Manager
/
wp-content
/
plugins
/
contact-form-7
/
includes
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php class WPCF7_Validation implements ArrayAccess { private $invalid_fields = array(); private $container = array(); public function __construct() { $this->container = array('valid' => true, 'reason' => array(), 'idref' => array()); } public function invalidate($context, $message) { if ($context instanceof WPCF7_FormTag) { $tag = $context; } elseif (is_array($context)) { $tag = new WPCF7_FormTag($context); } elseif (is_string($context)) { $tags = wpcf7_scan_form_tags(array('name' => trim($context))); $tag = $tags ? new WPCF7_FormTag($tags[0]) : null; } $name = !empty($tag) ? $tag->name : null; if (empty($name) or !wpcf7_is_name($name)) { return; } if ($this->is_valid($name)) { $id = $tag->get_id_option(); if (empty($id) or !wpcf7_is_name($id)) { $id = null; } $this->invalid_fields[$name] = array('reason' => (string) $message, 'idref' => $id); } } public function is_valid($name = null) { if (!empty($name)) { return !isset($this->invalid_fields[$name]); } else { return empty($this->invalid_fields); } } public function get_invalid_fields() { return $this->invalid_fields; } public function offsetSet($offset, $value) { if (isset($this->container[$offset])) { $this->container[$offset] = $value; } if ('reason' == $offset and is_array($value)) { foreach ($value as $k => $v) { $this->invalidate($k, $v); } } } public function offsetGet($offset) { if (isset($this->container[$offset])) { return $this->container[$offset]; } } public function offsetExists($offset) { return isset($this->container[$offset]); } public function offsetUnset($offset) { } }