/** * Set transfer adapter * * @param string|\Zend\File\Transfer\Adapter\AbstractAdapter $adapter * @return \Zend\Form\Element\File */ public function setTransferAdapter($adapter) { if ($adapter instanceof AbstractFileAdapter) { $this->_adapter = $adapter; } elseif (is_string($adapter)) { $loader = $this->getPluginLoader(self::TRANSFER_ADAPTER); $class = $loader->load($adapter); $this->_adapter = new $class(); } else { throw new Exception\InvalidArgumentException('Invalid adapter specified'); } foreach (array('filter', 'validator') as $type) { $loader = $this->getPluginLoader($type); $this->_adapter->setPluginLoader($loader, $type); } return $this; }
/** * Checks if the files are valid * * @param string|array $files (Optional) Files to check * @return boolean True if all checks are valid */ public function isValid($files = null) { // Workaround for WebServer not conforming HTTP and omitting CONTENT_LENGTH $content = 0; if (isset($_SERVER['CONTENT_LENGTH'])) { $content = $_SERVER['CONTENT_LENGTH']; } else { if (!empty($_POST)) { $content = serialize($_POST); } } // Workaround for a PHP error returning empty $_FILES when form data exceeds php settings if (empty($this->_files) && $content > 0) { if (is_array($files)) { $files = current($files); } $temp = array($files => array('name' => $files, 'error' => 1)); $validator = $this->_validators['Zend\\Validator\\File\\Upload']; $validator->setFiles($temp)->isValid($files, null); $this->_messages += $validator->getMessages(); return false; } return parent::isValid($files); }
public function isPathWriteable($path) { return parent::_isPathWriteable($path); }
/** * Set translator object for localization * * @param Translator\Translator|AbstractAdapter|null $translator * @return AbstractAdapter */ public function setTranslator($translator = null) { if (null === $translator) { $this->translator = null; } elseif ($translator instanceof AbstractAdapter) { $this->translator = $translator; } elseif ($translator instanceof Translator\Translator) { $this->translator = $translator->getAdapter(); } else { throw new Exception\InvalidArgumentException('Invalid translator specified'); } return $this; }