Captcha/Image.php
Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to [email protected] so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Captcha
- Subpackage
- Adapter
- Version
- $Id: Image.php 24821 2012-05-29 14:54:50Z adamlundrigan $
\Zend_Captcha_Image
Image-based captcha element
Generates image displaying random word
- Parent(s)
- \Zend_Captcha_Word < \Zend_Captcha_Base < \Zend_Validate_Abstract
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Version
- $Id: Word.php 24593 2012-01-05 20:35:02Z matthew $
Constants
MISSING_VALUE
= 'missingValue'- Inherited_from
- \Zend_Captcha_Word::MISSING_VALUE
MISSING_ID
= 'missingID'- Inherited_from
- \Zend_Captcha_Word::MISSING_ID
BAD_CAPTCHA
= 'badCaptcha'- Inherited_from
- \Zend_Captcha_Word::BAD_CAPTCHA
Properties

$C = array("b", "c", "d", "f", "g", "h", "j", "k", "m", "n", "p", "q", "r", "s", "t", "u", "v", "w", "x", "z")
array("b", "c", "d", "f", "g", "h", "j", "k", "m", "n", "p", "q", "r", "s", "t", "u", "v", "w", "x", "z")Details- Type
- n/a
- Inherited_from
- \Zend_Captcha_Word::$$C

$CN = array("b", "c", "d", "f", "g", "h", "j", "k", "m", "n", "p", "q", "r", "s", "t", "u", "v", "w", "x", "z", "2", "3", "4", "5", "6", "7", "8", "9")
array("b", "c", "d", "f", "g", "h", "j", "k", "m", "n", "p", "q", "r", "s", "t", "u", "v", "w", "x", "z", "2", "3", "4", "5", "6", "7", "8", "9")Details- Type
- n/a
- Inherited_from
- \Zend_Captcha_Word::$$CN

$V = array("a", "e", "i", "o", "u", "y")
array("a", "e", "i", "o", "u", "y")Details- Type
- n/a
- Inherited_from
- \Zend_Captcha_Word::$$V

$VN = array("a", "e", "i", "o", "u", "y", "2", "3", "4", "5", "6", "7", "8", "9")
array("a", "e", "i", "o", "u", "y", "2", "3", "4", "5", "6", "7", "8", "9")Details- Type
- n/a
- Inherited_from
- \Zend_Captcha_Word::$$VN

\Zend_Translate $_defaultTranslator = Default translation object for all validate objects
Inherited from: \Zend_Validate_Abstract::$$_defaultTranslator\Zend_Captcha_Base::$$_defaultTranslator\Zend_Captcha_Word::$$_defaultTranslator- Type
- \Zend_Translate
- Inherited_from
- \Zend_Validate_Abstract::$$_defaultTranslator
- Inherited_from
- \Zend_Captcha_Base::$$_defaultTranslator
- Inherited_from
- \Zend_Captcha_Word::$$_defaultTranslator

int $_dotNoiseLevel = 100Number of noise dots on image Used twice - before and after transform
100Details- Type
- int

array $_errors = array()Array of validation failure message codes
Inherited from: \Zend_Validate_Abstract::$$_errors\Zend_Captcha_Base::$$_errors\Zend_Captcha_Word::$$_errorsarray()Details- Type
- array
- Inherited_from
- \Zend_Validate_Abstract::$$_errors
- Inherited_from
- \Zend_Captcha_Base::$$_errors
- Inherited_from
- \Zend_Captcha_Word::$$_errors

string $_imgDir = "./images/captcha/"Directory for generated images
"./images/captcha/"Details- Type
- string

string $_imgUrl = "/images/captcha/"URL for accessing images
"/images/captcha/"Details- Type
- string

boolean $_keepSession = falseShould generate() keep session or create a new one?
Inherited from: \Zend_Captcha_Word::$$_keepSessionfalseDetails- Type
- boolean
- Inherited_from
- \Zend_Captcha_Word::$$_keepSession

int $_lineNoiseLevel = 5Number of noise lines on image Used twice - before and after transform
5Details- Type
- int

Integer $_messageLength = -1Limits the maximum returned length of a error message
Inherited from: \Zend_Validate_Abstract::$$_messageLength\Zend_Captcha_Base::$$_messageLength\Zend_Captcha_Word::$$_messageLength-1Details- Type
- Integer
- Inherited_from
- \Zend_Validate_Abstract::$$_messageLength
- Inherited_from
- \Zend_Captcha_Base::$$_messageLength
- Inherited_from
- \Zend_Captcha_Word::$$_messageLength

array $_messageTemplates = array(self::MISSING_VALUE => 'Empty captcha value', self::MISSING_ID => 'Captcha ID field is missing', self::BAD_CAPTCHA => 'Captcha value is wrong')
array(self::MISSING_VALUE => 'Empty captcha value', self::MISSING_ID => 'Captcha ID field is missing', self::BAD_CAPTCHA => 'Captcha value is wrong')Details- Type
- array
- Inherited_from
- \Zend_Captcha_Word::$$_messageTemplates

array $_messageVariables = array()Additional variables available for validation failure messages
Inherited from: \Zend_Validate_Abstract::$$_messageVariables\Zend_Captcha_Base::$$_messageVariables\Zend_Captcha_Word::$$_messageVariablesarray()Details- Type
- array
- Inherited_from
- \Zend_Validate_Abstract::$$_messageVariables
- Inherited_from
- \Zend_Captcha_Base::$$_messageVariables
- Inherited_from
- \Zend_Captcha_Word::$$_messageVariables

array $_messages = array()Array of validation failure messages
Inherited from: \Zend_Validate_Abstract::$$_messages\Zend_Captcha_Base::$$_messages\Zend_Captcha_Word::$$_messagesarray()Details- Type
- array
- Inherited_from
- \Zend_Validate_Abstract::$$_messages
- Inherited_from
- \Zend_Captcha_Base::$$_messages
- Inherited_from
- \Zend_Captcha_Word::$$_messages

string $_name =
Useful to generate/check form fields
- Type
- string
- Inherited_from
- \Zend_Captcha_Base::$$_name
- Inherited_from
- \Zend_Captcha_Word::$$_name

bool $_obscureValue = falseFlag indidcating whether or not value should be obfuscated in error messages
Inherited from: \Zend_Validate_Abstract::$$_obscureValue\Zend_Captcha_Base::$$_obscureValue\Zend_Captcha_Word::$$_obscureValuefalseDetails- Type
- bool
- Inherited_from
- \Zend_Validate_Abstract::$$_obscureValue
- Inherited_from
- \Zend_Captcha_Base::$$_obscureValue
- Inherited_from
- \Zend_Captcha_Word::$$_obscureValue

array $_options = array()Captcha options
Inherited from: \Zend_Captcha_Base::$$_options\Zend_Captcha_Word::$$_optionsarray()Details- Type
- array
- Inherited_from
- \Zend_Captcha_Base::$$_options
- Inherited_from
- \Zend_Captcha_Word::$$_options

\Zend_Session_Namespace $_session =
- Type
- \Zend_Session_Namespace
- Inherited_from
- \Zend_Captcha_Word::$$_session

string $_sessionClass = 'Zend_Session_Namespace'
'Zend_Session_Namespace'Details- Type
- string
- Inherited_from
- \Zend_Captcha_Word::$$_sessionClass

array $_skipOptions = array('options', 'config')Options to skip when processing options
Inherited from: \Zend_Captcha_Base::$$_skipOptions\Zend_Captcha_Word::$$_skipOptionsarray('options', 'config')Details- Type
- array
- Inherited_from
- \Zend_Captcha_Base::$$_skipOptions
- Inherited_from
- \Zend_Captcha_Word::$$_skipOptions

string $_startImage = Image to use as starting point Default is blank image.
If provided, should be PNG image.
- Type
- string

integer $_timeout = 300
300Details- Type
- integer
- Inherited_from
- \Zend_Captcha_Word::$$_timeout

\Zend_Translate $_translator = Translation object
Inherited from: \Zend_Validate_Abstract::$$_translator\Zend_Captcha_Base::$$_translator\Zend_Captcha_Word::$$_translator- Type
- \Zend_Translate
- Inherited_from
- \Zend_Validate_Abstract::$$_translator
- Inherited_from
- \Zend_Captcha_Base::$$_translator
- Inherited_from
- \Zend_Captcha_Word::$$_translator

Boolean $_translatorDisabled = falseIs translation disabled?
Inherited from: \Zend_Validate_Abstract::$$_translatorDisabled\Zend_Captcha_Base::$$_translatorDisabled\Zend_Captcha_Word::$$_translatorDisabledfalseDetails- Type
- Boolean
- Inherited_from
- \Zend_Validate_Abstract::$$_translatorDisabled
- Inherited_from
- \Zend_Captcha_Base::$$_translatorDisabled
- Inherited_from
- \Zend_Captcha_Word::$$_translatorDisabled

boolean $_useNumbers = trueShould the numbers be used or only letters
Inherited from: \Zend_Captcha_Word::$$_useNumberstrueDetails- Type
- boolean
- Inherited_from
- \Zend_Captcha_Word::$$_useNumbers

mixed $_value = The value to be validated
Inherited from: \Zend_Validate_Abstract::$$_value\Zend_Captcha_Base::$$_value\Zend_Captcha_Word::$$_value- Type
- mixed
- Inherited_from
- \Zend_Validate_Abstract::$$_value
- Inherited_from
- \Zend_Captcha_Base::$$_value
- Inherited_from
- \Zend_Captcha_Word::$$_value

integer $_wordlen = 8
8Details- Type
- integer
- Inherited_from
- \Zend_Captcha_Word::$$_wordlen
Methods

__construct(array | \Zend_Config $options = null) : voidConstructor
Inherited from: \Zend_Captcha_Base::__construct()\Zend_Captcha_Word::__construct()| Name | Type | Description |
|---|---|---|
| $options | array | \Zend_Config |

__get(string $property) : mixedMagic function returns the value of the requested property, if and only if it is the value or a message variable.
Inherited from: \Zend_Validate_Abstract::__get()\Zend_Captcha_Base::__get()\Zend_Captcha_Word::__get()| Name | Type | Description |
|---|---|---|
| $property | string |
| Type | Description |
|---|---|
| mixed |
| Exception | Description |
|---|---|
| \Zend_Validate_Exception |

_createMessage(string $messageKey, string $value) : stringConstructs and returns a validation failure message with the given message key and value.
Inherited from: \Zend_Validate_Abstract::_createMessage()\Zend_Captcha_Base::_createMessage()\Zend_Captcha_Word::_createMessage()Returns null if and only if $messageKey does not correspond to an existing template.
If a translator is available and a translation exists for $messageKey, the translation will be used.
| Name | Type | Description |
|---|---|---|
| $messageKey | string | |
| $value | string |
| Type | Description |
|---|---|
| string |

_error(string $messageKey, string $value = null) : void| Name | Type | Description |
|---|---|---|
| $messageKey | string | |
| $value | string | OPTIONAL |

_generateImage(string $id, string $word) : voidGenerate image captcha
Override this function if you want different image generator Wave transform from http://www.captcha.ru/captchas/multiwave/
| Name | Type | Description |
|---|---|---|
| $id | string | Captcha ID |
| $word | string | Captcha word |

_setValue(mixed $value) : voidSets the value to be validated and clears the messages and errors arrays
Inherited from: \Zend_Validate_Abstract::_setValue()\Zend_Captcha_Base::_setValue()\Zend_Captcha_Word::_setValue()| Name | Type | Description |
|---|---|---|
| $value | mixed |

_setWord(string $word) : \Zend_Captcha_Word
| Name | Type | Description |
|---|---|---|
| $word | string |
| Type | Description |
|---|---|
| \Zend_Captcha_Word |

getDecorator() : string
By default, return null, indicating no extra decorator needed.
| Type | Description |
|---|---|
| string |

getDefaultTranslator() : \Zend_Translate_Adapter | nullGet default translation object for all validate objects
Inherited from: \Zend_Validate_Abstract::getDefaultTranslator()\Zend_Captcha_Base::getDefaultTranslator()\Zend_Captcha_Word::getDefaultTranslator()| Type | Description |
|---|---|
| \Zend_Translate_Adapter | null |

getErrors() : arrayReturns array of validation failure message codes
Inherited from: \Zend_Validate_Abstract::getErrors()\Zend_Captcha_Base::getErrors()\Zend_Captcha_Word::getErrors()| Type | Description |
|---|---|
| array |

getMessageLength() : integerReturns the maximum allowed message length
Inherited from: \Zend_Validate_Abstract::getMessageLength()\Zend_Captcha_Base::getMessageLength()\Zend_Captcha_Word::getMessageLength()| Type | Description |
|---|---|
| integer |

getMessageTemplates() : arrayReturns the message templates from the validator
Inherited from: \Zend_Validate_Abstract::getMessageTemplates()\Zend_Captcha_Base::getMessageTemplates()\Zend_Captcha_Word::getMessageTemplates()| Type | Description |
|---|---|
| array |

getMessageVariables() : arrayReturns an array of the names of variables that are used in constructing validation failure messages
Inherited from: \Zend_Validate_Abstract::getMessageVariables()\Zend_Captcha_Base::getMessageVariables()\Zend_Captcha_Word::getMessageVariables()| Type | Description |
|---|---|
| array |

getMessages() : arrayReturns array of validation failure messages
Inherited from: \Zend_Validate_Abstract::getMessages()\Zend_Captcha_Base::getMessages()\Zend_Captcha_Word::getMessages()The array keys are validation failure message identifiers, and the array values are the corresponding human-readable message strings.
If isValid() was never called or if the most recent isValid() call returned true, then this method returns an empty array.
| Type | Description |
|---|---|
| array |

getObscureValue() : boolRetrieve flag indicating whether or not value should be obfuscated in messages
Inherited from: \Zend_Validate_Abstract::getObscureValue()\Zend_Captcha_Base::getObscureValue()\Zend_Captcha_Word::getObscureValue()| Type | Description |
|---|---|
| bool |

getOptions() : arrayRetrieve options representing object state
Inherited from: \Zend_Captcha_Base::getOptions()\Zend_Captcha_Word::getOptions()| Type | Description |
|---|---|
| array |

getTranslator() : \Zend_Translate_Adapter | nullReturn translation object
Inherited from: \Zend_Validate_Abstract::getTranslator()\Zend_Captcha_Base::getTranslator()\Zend_Captcha_Word::getTranslator()| Type | Description |
|---|---|
| \Zend_Translate_Adapter | null |

getUseNumbers() : boolNumbers should be included in the pattern?
Inherited from: \Zend_Captcha_Word::getUseNumbers()| Type | Description |
|---|---|
| bool |

getWordlen() : integerRetrieve word length to use when genrating captcha
Inherited from: \Zend_Captcha_Word::getWordlen()| Type | Description |
|---|---|
| integer |

hasDefaultTranslator() : booleanIs there a default translation object set?
Inherited from: \Zend_Validate_Abstract::hasDefaultTranslator()\Zend_Captcha_Base::hasDefaultTranslator()\Zend_Captcha_Word::hasDefaultTranslator()| Type | Description |
|---|---|
| boolean |

hasTranslator() : boolDoes this validator have its own specific translator?
Inherited from: \Zend_Validate_Abstract::hasTranslator()\Zend_Captcha_Base::hasTranslator()\Zend_Captcha_Word::hasTranslator()| Type | Description |
|---|---|
| bool |

isValid(mixed $value, $context = null) : boolean
If $value fails validation, then this method returns false, and getMessages() will return an array of messages that explain why the validation failed.
| Name | Type | Description |
|---|---|---|
| $value | mixed | |
| $context |
| Type | Description |
|---|---|
| boolean |
| Exception | Description |
|---|---|
| \Zend_Validate_Exception | If validation of $value is impossible |
- See
- \global\Zend_Validate_Interface::isValid()

render(\Zend_View_Interface $view = null, mixed $element = null) : stringDisplay the captcha
| Name | Type | Description |
|---|---|---|
| $view | \Zend_View_Interface | |
| $element | mixed |
| Type | Description |
|---|---|
| string |

setConfig(\Zend_Config $config) : \Zend_Captcha_BaseSet object state from config object
Inherited from: \Zend_Captcha_Base::setConfig()\Zend_Captcha_Word::setConfig()| Name | Type | Description |
|---|---|---|
| $config | \Zend_Config |
| Type | Description |
|---|---|
| \Zend_Captcha_Base |

setDefaultTranslator(\Zend_Translate | \Zend_Translate_Adapter | null $translator = null) : voidSet default translation object for all validate objects
Inherited from: \Zend_Validate_Abstract::setDefaultTranslator()\Zend_Captcha_Base::setDefaultTranslator()\Zend_Captcha_Word::setDefaultTranslator()| Name | Type | Description |
|---|---|---|
| $translator | \Zend_Translate | \Zend_Translate_Adapter | null |

setDisableTranslator(bool $flag) : \Zend_Validate_AbstractIndicate whether or not translation should be disabled
Inherited from: \Zend_Validate_Abstract::setDisableTranslator()\Zend_Captcha_Base::setDisableTranslator()\Zend_Captcha_Word::setDisableTranslator()| Name | Type | Description |
|---|---|---|
| $flag | bool |
| Type | Description |
|---|---|
| \Zend_Validate_Abstract |

setExpiration(int $expiration) : \Zend_Captcha_ImageSet captcha expiration
| Name | Type | Description |
|---|---|---|
| $expiration | int |
| Type | Description |
|---|---|
| \Zend_Captcha_Image |

setFont(string $font) : \Zend_Captcha_ImageSet captcha font
| Name | Type | Description |
|---|---|---|
| $font | string |
| Type | Description |
|---|---|
| \Zend_Captcha_Image |

setFontSize(int $fsize) : \Zend_Captcha_ImageSet captcha font size
| Name | Type | Description |
|---|---|---|
| $fsize | int |
| Type | Description |
|---|---|
| \Zend_Captcha_Image |

setGcFreq(int $gcFreq) : \Zend_Captcha_ImageSet garbage collection frequency
| Name | Type | Description |
|---|---|---|
| $gcFreq | int |
| Type | Description |
|---|---|
| \Zend_Captcha_Image |

setHeight(int $height) : \Zend_Captcha_ImageSet captcha image height
| Name | Type | Description |
|---|---|---|
| $height | int |
| Type | Description |
|---|---|
| \Zend_Captcha_Image |

setImgDir(string $imgDir) : \Zend_Captcha_ImageSet captcha image storage directory
| Name | Type | Description |
|---|---|---|
| $imgDir | string |
| Type | Description |
|---|---|
| \Zend_Captcha_Image |

setImgUrl(string $imgUrl) : \Zend_Captcha_ImageSet captcha image base URL
| Name | Type | Description |
|---|---|---|
| $imgUrl | string |
| Type | Description |
|---|---|
| \Zend_Captcha_Image |

setKeepSession(bool $keepSession) : \Zend_Captcha_WordSets if session should be preserved on generate()
Inherited from: \Zend_Captcha_Word::setKeepSession()| Name | Type | Description |
|---|---|---|
| $keepSession | bool | Should session be kept on generate()? |
| Type | Description |
|---|---|
| \Zend_Captcha_Word |

setMessage(string $messageString, string $messageKey = null) : \Zend_Validate_AbstractSets the validation failure message template for a particular key
Inherited from: \Zend_Validate_Abstract::setMessage()\Zend_Captcha_Base::setMessage()\Zend_Captcha_Word::setMessage()| Name | Type | Description |
|---|---|---|
| $messageString | string | |
| $messageKey | string | OPTIONAL |
| Type | Description |
|---|---|
| \Zend_Validate_Abstract | Provides a fluent interface |
| Exception | Description |
|---|---|
| \Zend_Validate_Exception |

setMessageLength(integer $length = -1) : voidSets the maximum allowed message length
Inherited from: \Zend_Validate_Abstract::setMessageLength()\Zend_Captcha_Base::setMessageLength()\Zend_Captcha_Word::setMessageLength()| Name | Type | Description |
|---|---|---|
| $length | integer |

setMessages(array $messages) : \Zend_Validate_AbstractSets validation failure message templates given as an array, where the array keys are the message keys, and the array values are the message template strings.
Inherited from: \Zend_Validate_Abstract::setMessages()\Zend_Captcha_Base::setMessages()\Zend_Captcha_Word::setMessages()| Name | Type | Description |
|---|---|---|
| $messages | array |
| Type | Description |
|---|---|
| \Zend_Validate_Abstract |

setName(string $name) : \Zend_Captcha_Adapter
| Name | Type | Description |
|---|---|---|
| $name | string |
| Type | Description |
|---|---|
| \Zend_Captcha_Adapter |

setObscureValue(bool $flag) : \Zend_Validate_AbstractSet flag indicating whether or not value should be obfuscated in messages
Inherited from: \Zend_Validate_Abstract::setObscureValue()\Zend_Captcha_Base::setObscureValue()\Zend_Captcha_Word::setObscureValue()| Name | Type | Description |
|---|---|---|
| $flag | bool |
| Type | Description |
|---|---|
| \Zend_Validate_Abstract |

setOption(string $key, string $value) : \Zend_Form_ElementSet single option for the object
Inherited from: \Zend_Captcha_Base::setOption()\Zend_Captcha_Word::setOption()| Name | Type | Description |
|---|---|---|
| $key | string | |
| $value | string |
| Type | Description |
|---|---|
| \Zend_Form_Element |

setOptions(array $options = null) : \Zend_Form_ElementSet object state from options array
Inherited from: \Zend_Captcha_Base::setOptions()\Zend_Captcha_Word::setOptions()| Name | Type | Description |
|---|---|---|
| $options | array |
| Type | Description |
|---|---|
| \Zend_Form_Element |

setSession(\Zend_Session_Namespace $session) : \Zend_Captcha_Word
| Name | Type | Description |
|---|---|---|
| $session | \Zend_Session_Namespace |
| Type | Description |
|---|---|
| \Zend_Captcha_Word |

setSessionClass(string $_sessionClass) : \Zend_Captcha_Word
| Name | Type | Description |
|---|---|---|
| $_sessionClass | string |
| Type | Description |
|---|---|
| \Zend_Captcha_Word |

setSuffix(string $suffix) : \Zend_Captcha_ImageSet captch image filename suffix
| Name | Type | Description |
|---|---|---|
| $suffix | string |
| Type | Description |
|---|---|
| \Zend_Captcha_Image |

setTimeout(int $ttl) : \Zend_Captcha_Word
| Name | Type | Description |
|---|---|---|
| $ttl | int |
| Type | Description |
|---|---|
| \Zend_Captcha_Word |

setTranslator(\Zend_Translate | \Zend_Translate_Adapter | null $translator = null) : \Zend_Validate_AbstractSet translation object
Inherited from: \Zend_Validate_Abstract::setTranslator()\Zend_Captcha_Base::setTranslator()\Zend_Captcha_Word::setTranslator()| Name | Type | Description |
|---|---|---|
| $translator | \Zend_Translate | \Zend_Translate_Adapter | null |
| Type | Description |
|---|---|
| \Zend_Validate_Abstract |

setUseNumbers(bool $_useNumbers) : \Zend_Captcha_WordSet if numbers should be included in the pattern
Inherited from: \Zend_Captcha_Word::setUseNumbers()| Name | Type | Description |
|---|---|---|
| $_useNumbers | bool | numbers should be included in the pattern? |
| Type | Description |
|---|---|
| \Zend_Captcha_Word |

setWidth(int $width) : \Zend_Captcha_ImageSet captcha image width
| Name | Type | Description |
|---|---|---|
| $width | int |
| Type | Description |
|---|---|
| \Zend_Captcha_Image |

setWordlen(integer $wordlen) : \Zend_Captcha_Word
| Name | Type | Description |
|---|---|---|
| $wordlen | integer |
| Type | Description |
|---|---|
| \Zend_Captcha_Word |

translatorIsDisabled() : boolIs translation disabled?
Inherited from: \Zend_Validate_Abstract::translatorIsDisabled()\Zend_Captcha_Base::translatorIsDisabled()\Zend_Captcha_Word::translatorIsDisabled()| Type | Description |
|---|---|
| bool |