public function render(ElementInterface $element)
    {
        $captcha = $element->getCaptcha();

        if ($captcha === null || !$captcha instanceof CaptchaAdapter) {
            throw new Exception\DomainException(sprintf(
                '%s requires that the element has a "captcha" attribute of type Zend\Captcha\Image; none found',
                __METHOD__
            ));
        }

        $captcha->generate();

        $imgAttributes = array(
            'width'  => $captcha->getWidth(),
            'height' => $captcha->getHeight(),
            'alt'    => $captcha->getImgAlt(),
            'src'    => $captcha->getImgUrl() . $captcha->getId() . $captcha->getSuffix(),
        );

        if ($element->hasAttribute('id')) {
            $imgAttributes['id'] = $element->getAttribute('id') . '-image';
        }

        $closingBracket = $this->getInlineClosingBracket();
        $img = sprintf(
            '<img %s%s',
            $this->createAttributesString($imgAttributes),
            $closingBracket
        );

        $position     = $this->getCaptchaPosition();
        $separator    = $this->getSeparator();
        $captchaInput = $this->renderCaptchaInputs($element);

        $pattern = '<div style="float:left;" class="form-captcha-image">%s%s</div><div class="form-captcha-input" style="margin-left:' . $imgAttributes['width'] . 'px">%s</div>';
        if ($position == self::CAPTCHA_PREPEND) {
            return sprintf($pattern, $captchaInput, $separator, $img);
        }
        return sprintf($pattern, $img, $separator, $captchaInput);
    }
public function render(ElementInterface $element)
    {
        $captcha = $element->getCaptcha();

        if ($captcha === null || !$captcha instanceof CaptchaAdapter) {
            throw new Exception\DomainException(sprintf(
                '%s requires that the element has a "captcha" attribute of type Zend\Captcha\Image; none found',
                __METHOD__
            ));
        }

        $captcha->generate();

        $imgAttributes = array(
            'width'  => $captcha->getWidth(),
            'height' => $captcha->getHeight(),
            'alt'    => $captcha->getImgAlt(),
            'src'    => $captcha->getImgUrl() . $captcha->getId() . $captcha->getSuffix(),
        );

        if ($element->hasAttribute('id')) {
            $imgAttributes['id'] = $element->getAttribute('id') . '-image';
        }

        $closingBracket = $this->getInlineClosingBracket();
        $img = sprintf(
            '<img %s%s',
            $this->createAttributesString($imgAttributes),
            $closingBracket
        );

        $position     = $this->getCaptchaPosition();
        $separator    = $this->getSeparator();
        $captchaInput = $this->renderCaptchaInputs($element);

        $pattern = '<div style="float:left;" class="form-captcha-image">%s%s</div><div class="form-captcha-input" style="margin-left:' . $imgAttributes['width'] . 'px">%s</div>';
        if ($position == self::CAPTCHA_PREPEND) {
            return sprintf($pattern, $captchaInput, $separator, $img);
        }
        return sprintf($pattern, $img, $separator, $captchaInput);
    }
public function render ( ElementInterface $ element ) { $ captcha = $ element -> getCaptcha ( ) ; if ( $ captcha === null || ! $ captcha instanceof CaptchaAdapter ) { throw new Exception \ DomainException ( sprintf ( '%s requires that the element has a "captcha" attribute of type Zend\Captcha\Image; none found' , __METHOD__ ) ) ; } $ captcha -> generate ( ) ; $ imgAttributes = array ( 'width' => $ captcha -> getWidth ( ) , 'height' => $ captcha -> getHeight ( ) , 'alt' => $ captcha -> getImgAlt ( ) , 'src' => $ captcha -> getImgUrl ( ) . $ captcha -> getId ( ) . $ captcha -> getSuffix ( ) , ) ; if ( $ element -> hasAttribute ( 'id' ) ) { $ imgAttributes [ 'id' ] = $ element -> getAttribute ( 'id' ) . '-image' ; } $ closingBracket = $ this -> getInlineClosingBracket ( ) ; $ img = sprintf ( '<img %s%s' , $ this -> createAttributesString ( $ imgAttributes ) , $ closingBracket ) ; $ position = $ this -> getCaptchaPosition ( ) ; $ separator = $ this -> getSeparator ( ) ; $ captchaInput = $ this -> renderCaptchaInputs ( $ element ) ; $ pattern = '<div style="float:left;" class="form-captcha-image">%s%s</div><div class="form-captcha-input" style="margin-left:' . $ imgAttributes [ 'width' ] . 'px">%s</div>' ; if ( $ position == self :: CAPTCHA_PREPEND ) { return sprintf ( $ pattern , $ captchaInput , $ separator , $ img ) ; } return sprintf ( $ pattern , $ img , $ separator , $ captchaInput ) ; }
Render the captcha

@param  ElementInterface          $element
@throws Exception\DomainException
@return string
Render the captcha