Hello,

Here is the validator code:

<?php
class sfFileImageValidator extends sfValidatorFile
{
  protected function configure($options = array(), $messages = array())
  {
    /* size image options */
    $this->addOption('min_width');
    $this->addOption('max_width');
    $this->addOption('min_height');
    $this->addOption('max_height');

    /* we set a default value as image for mime type */
    $this->addOption('mime_types' , 'web_images');


    /* size image error messages */
    $this->addMessage('min_width',  'Image is not large enough (minimum is
%min_width% pixels).');
    $this->addMessage('max_width',  'Image is too large (maximum is
%max_width% pixels).');
    $this->addMessage('min_height', 'Image is not tall enough (minimum is
%min_height% pixels).');
    $this->addMessage('max_height', 'Image is too tall (maximum is
%max_height% pixels).');
    /* mime type error message */
    $this->addMessage('mime_types', 'Invalid mime type (%mime_type%). It is
not an image file.');

    /* let's use the parent configure() to keep file validator configure()
*/
    parent::configure($options, $messages);
  }

  protected function doClean($value)
  {
    $validatedFile = parent::doClean($value);

    // we get the image size
    $size = getimagesize($validatedFile->getTempName());

    // check "image size x" vs "max_size_x"
    if ($this->hasOption('max_width') && $this->getOption('max_width') <
(int) $size[0])
    {
      throw new sfValidatorError($this, 'max_width', array('max_width' =>
$this->getOption('max_width'), 'width' => (int) $size[0]));
    }

    if ($this->hasOption('min_width') && $this->getOption('min_width') >
(int) $size[0])
    {
      throw new sfValidatorError($this, 'min_width', array('min_width' =>
$this->getOption('min_width'), 'width' => (int) $size[0]));
    }

    if ($this->hasOption('max_height') && $this->getOption('max_height') <
(int) $size[1])
    {
      throw new sfValidatorError($this, 'max_height', array('max_height' =>
$this->getOption('max_height'), 'height' => (int) $size[0]));
    }

    if ($this->hasOption('min_height') && $this->getOption('min_height') >
(int) $size[1])
    {
      throw new sfValidatorError($this, 'min_height', array('min_height' =>
$this->getOption('min_height'), 'height' => (int) $size[0]));
    }

    // return value
    return $validatedFile;
  }

}


Also tried with this validator:
          'imagefile'=> new sfValidatorFile(array(
                          'mime_types' => 'web_images'
                            ), array(
                                'invalid'    => 'Invalid file.',
                                'required'   => 'Select a file to upload.',
                                'mime_types' => 'The file must be of JPEG,
PNG or GIF format.'
                            )),

No succes :((  the same error.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"symfony users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/symfony-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to