*/ class LSformRule_imagesize extends LSformRule { /** * Vérification de la valeur. * * @param string $values Valeur à vérifier * @param array $options Options de validation : * - Largeur max : $options['params']['maxWidth'] * - Largeur min : $options['params']['minWidth'] * - Hauteur max : $options['params']['maxHeight'] * - Hauteur min : $options['params']['minHeight'] * @param object $formElement L'objet formElement attaché * * @return boolean true si la valeur est valide, false sinon */ public static function validate($value, $options=array(), &$formElement) { $file = LSsession :: getTmpFile($value); list($width, $height, $type, $attr) = getimagesize($file); self :: log_debug("validate(): image size is $width x $height, type=$type, attr='$attr'"); $maxWidth = LSconfig :: get('params.maxWidth', null, 'int', $options); if ($maxWidth && $width > $maxWidth) { self :: log_debug("validate(): max width error ($width > $maxWidth)"); return; } $minWidth = LSconfig :: get('params.minWidth', null, 'int', $options); if ($minWidth && $width < $minWidth) { self :: log_debug("validate(): min width error ($width < $minWidth)"); return; } $maxHeight = LSconfig :: get('params.maxHeight', null, 'int', $options); if ($maxHeight && $height > $maxHeight) { self :: log_debug("validate(): max height error ($height > $maxHeight)"); return; } $minHeight = LSconfig :: get('params.minHeight', null, 'int', $options); if ($minHeight && $height < $minHeight) { self :: log_debug("validate(): min height error ($height < $minHeight)"); return; } return true; } }