Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F8198625
Int.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
Int.php
View Options
<?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 license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Validate
* @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: Int.php 10020 2009-08-18 14:34:09Z j.fischer@metaways.de $
*/
/**
* @see Zend_Validate_Abstract
*/
require_once
'Zend/Validate/Abstract.php'
;
/**
* @see Zend_Locale_Format
*/
require_once
'Zend/Locale/Format.php'
;
/**
* @category Zend
* @package Zend_Validate
* @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class
Zend_Validate_Int
extends
Zend_Validate_Abstract
{
const
INVALID
=
'intInvalid'
;
const
NOT_INT
=
'notInt'
;
/**
* @var array
*/
protected
$_messageTemplates
=
array
(
self
::
INVALID
=>
"Invalid type given, value should be a string or a integer"
,
self
::
NOT_INT
=>
"'%value%' does not appear to be an integer"
);
protected
$_locale
;
/**
* Constructor for the integer validator
*
* @param string|Zend_Locale $locale
*/
public
function
__construct
(
$locale
=
null
)
{
if
(
$locale
!==
null
)
{
$this
->
setLocale
(
$locale
);
}
}
/**
* Returns the set locale
*/
public
function
getLocale
()
{
return
$this
->
_locale
;
}
/**
* Sets the locale to use
*
* @param string|Zend_Locale $locale
*/
public
function
setLocale
(
$locale
=
null
)
{
require_once
'Zend/Locale.php'
;
$this
->
_locale
=
Zend_Locale
::
findLocale
(
$locale
);
return
$this
;
}
/**
* Defined by Zend_Validate_Interface
*
* Returns true if and only if $value is a valid integer
*
* @param string|integer $value
* @return boolean
*/
public
function
isValid
(
$value
)
{
if
(!
is_string
(
$value
)
&&
!
is_int
(
$value
)
&&
!
is_float
(
$value
))
{
$this
->
_error
(
self
::
INVALID
);
return
false
;
}
$this
->
_setValue
(
$value
);
if
(
$this
->
_locale
===
null
)
{
$locale
=
localeconv
();
$valueFiltered
=
str_replace
(
$locale
[
'decimal_point'
],
'.'
,
$value
);
$valueFiltered
=
str_replace
(
$locale
[
'thousands_sep'
],
''
,
$valueFiltered
);
if
(
strval
(
intval
(
$valueFiltered
))
!=
$valueFiltered
)
{
$this
->
_error
(
self
::
NOT_INT
);
return
false
;
}
}
else
{
try
{
if
(!
Zend_Locale_Format
::
isInteger
(
$value
,
array
(
'locale'
=>
'en'
))
&&
!
Zend_Locale_Format
::
isInteger
(
$value
,
array
(
'locale'
=>
$this
->
_locale
)))
{
$this
->
_error
(
self
::
NOT_INT
);
return
false
;
}
}
catch
(
Zend_Locale_Exception
$e
)
{
$this
->
_error
(
self
::
NOT_INT
);
return
false
;
}
}
return
true
;
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Wed, Jul 8, 8:22 PM (1 d, 22 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1051723
Default Alt Text
Int.php (3 KB)
Attached To
Mode
R4 syncroton
Attached
Detach File
Event Timeline
Log In to Comment