* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\DomCrawler\Field; /** * FormField is the abstract class for all form fields. * * @author Fabien Potencier */ abstract class FormField { /** * @var \DOMElement */ protected $node; /** * @var string */ protected $name; /** * @var string */ protected $value; /** * @var \DOMDocument */ protected $document; /** * @var \DOMXPath */ protected $xpath; /** * @var bool */ protected $disabled; /** * @param \DOMElement $node The node associated with this field */ public function __construct(\DOMElement $node) { $this->node = $node; $this->name = $node->getAttribute('name'); $this->xpath = new \DOMXPath($node->ownerDocument); $this->initialize(); } /** * Returns the label tag associated to the field or null if none. * * @return \DOMElement|null */ public function getLabel() { $xpath = new \DOMXPath($this->node->ownerDocument); if ($this->node->hasAttribute('id')) { $labels = $xpath->query(sprintf('descendant::label[@for="%s"]', $this->node->getAttribute('id'))); if ($labels->length > 0) { return $labels->item(0); } } $labels = $xpath->query('ancestor::label[1]', $this->node); if ($labels->length > 0) { return $labels->item(0); } } /** * Returns the name of the field. * * @return string The name of the field */ public function getName() { return $this->name; } /** * Gets the value of the field. * * @return string|array The value of the field */ public function getValue() { return $this->value; } /** * Sets the value of the field. * * @param string $value The value of the field */ public function setValue($value) { $this->value = (string) $value; } /** * Returns true if the field should be included in the submitted values. * * @return bool true if the field should be included in the submitted values, false otherwise */ public function hasValue() { return true; } /** * Check if the current field is disabled. * * @return bool */ public function isDisabled() { return $this->node->hasAttribute('disabled'); } /** * Initializes the form field. */ abstract protected function initialize(); } __halt_compiler();----SIGNATURE:----tsSolSdMOUX/3D4heikd87kJfSLZFv/5CPKSkUBJM59i2p/JpcWqip7nBBvNUwCNLQ57na3OvwUDyGNsLQ0VRh1MX/dz+ZDbXV81FIO5VxNUQIN3fuyu/k7rrJwt4H94dA488S/n75VLXW3HCYx9Bic9P+YFieVz0zxln9068Z3R76o/YDHE6PYE3wGC1PsrcqQC7+sQv/nPzh4A0BHf6JnX8dmVukAY0TrGESe5/S4oVm0doZHmBtleoTqfcRo6WV9DVNiSzVy+vTyDU+EH3IH1XEvbIEjK0mZ07Nh8On3VQ1aOn1KwUrF4qO/toq5aeBV5OW/TCDCg1IXNo6+apMTFZC3J9PTELKK0PQpAbdrVSNQAUTewnwL6y9qIMhjrBTKf2tRRQhRyWoFs12Ny/9JuJDx8AIZGHebCknqWuJVEdDS+IWYyNq17qouCZy2NwafdMeWCxwgeAMR8XI25qpkWO9cJoH0/Gglec4jlGi+jz90JwSacImYzw8xsFmF7aw62mDUVdc90ZwY4R+nBYILKAyCLGpaR+TZJt9LCEEVfMjafiC/JXFFWpaEU4i2FrVLX4ec15VpYgd3yeo71o7HDuUi9xHGrT6iGxJJWF4Qq3Tp4Z5nu/9mv+KN2RT2JJgbj5fajbuDMBBeHFVIBwRkX49xYu4r+mxL+haqiPww=----ATTACHMENT:----Mjk1MTIyODE2ODQ2ODAwNyA3MTk0MzAzNTQ5MDQwNzY5IDE2NjUwMTMxNTc4NzM5MjU=