Пример #1
0
 /**
  * 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;
 }
Пример #2
0
 /**
  * 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);
 }
Пример #3
0
 public function isPathWriteable($path)
 {
     return parent::_isPathWriteable($path);
 }
Пример #4
0
 /**
  * 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;
 }