Skip to content
This repository has been archived by the owner on Jan 30, 2020. It is now read-only.

Commit

Permalink
Merge branch
Browse files Browse the repository at this point in the history
  • Loading branch information
fdeleon committed Oct 31, 2013
156 parents 6b74fc7 + 9b5478d + 91a23e2 + 8649d44 + 3f353b0 + d340adb + 1e0e8f4 + 5c4289e + fb94cca + 2a3844c + 906bbcf + 3d9b8bb + 84844ae + 62fc651 + b0a3dd4 + 0dca0ef + 910bbbf + e574b9b + f30ec7d + 1fa84de + 41b8543 + 9e2c9d5 + 913f51c + 39924f3 + c2a11e1 + 61b9322 + 413a38b + e51b2b8 + 20e328b + 6437ec0 + e9b8476 + 95e54a0 + 7ea3aed + df6a706 + a82fc82 + 7c2a059 + 4fefb53 + 599ee3a + ea3fc65 + f6c04c2 + 6591e3d + a4f76e3 + 33c7531 + 2d59782 + 8152327 + e56ce9b + db9b18f + b88635a + a262823 + b79aef6 + c2284e4 + 70193eb + 96acf77 + 9675426 + 5f02411 + 0dafea7 + 15dc674 + 4a2447d + e6eb7f3 + e9499c5 + 272b15f + 11c7758 + 6f0e918 + 5f4980a + ecca95a + 88b5971 + ecb8d13 + 9de1c08 + 44aad17 + 13269e9 + 654cdb6 + dc708db + 380ffba + ff67e7f + fe2e025 + 95f0efa + 68cc4b3 + bf13b96 + 8870381 + 56480f4 + 1fa90d7 + 5c7fe1f + abe9bc1 + a33cacd + cdd7d9f + 6a261b1 + 5e594c4 + 01c1241 + 30d1dd2 + d4af079 + c9aa9b4 + 10f47ca + ef20fa1 + 2187ae2 + e7f3993 + db93d37 + aa57612 + 4af81d8 + 2f90998 + 3013404 + 69d83fe + f383ca9 + 1b26f48 + 054f09d + 0c86829 + f22d81a + e7ebffe + 72a7a54 + cc09223 + ab99f58 + 2c69e37 + b6ccfbc + b92a5da + 773a133 + 9ee28ff + 5865e20 + 63c7303 + 73371d0 + b96f402 + b36e36b + 60fa081 + a1d27a6 + 43e9240 + 9e59ae6 + be1ce44 + 5a6465d + 7e455b4 + 83d837e + 28bc01e + 215be48 + efcc8e0 + 5192ae6 + 7e1ba0f + dec8ccf + 94afc0f + 8c3ea5f + d680762 + 9092473 + 041fc63 + ea6499d + 1f59300 + a75142b + f592cc2 + f523aef + 2d12221 + 34ad758 + 23cc229 + 1fa15a0 + 7a1829c + 39d06a8 + c05aee7 + 08d26c4 + a5cc444 + fe92acf + 740abb6 + 7b26586 commit 04f4340
Show file tree
Hide file tree
Showing 40 changed files with 312 additions and 136 deletions.
2 changes: 1 addition & 1 deletion src/Translator/Translator.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
/**
* Translator.
*/
class Translator
class Translator implements TranslatorInterface
{
/**
* Event fired when the translation for a message is missing.
Expand Down
12 changes: 6 additions & 6 deletions src/Translator/TranslatorAwareInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,18 @@ interface TranslatorAwareInterface
/**
* Sets translator to use in helper
*
* @param Translator $translator [optional] translator.
* Default is null, which sets no translator.
* @param string $textDomain [optional] text domain
* Default is null, which skips setTranslatorTextDomain
* @param TranslatorInterface $translator [optional] translator.
* Default is null, which sets no translator.
* @param string $textDomain [optional] text domain
* Default is null, which skips setTranslatorTextDomain
* @return TranslatorAwareInterface
*/
public function setTranslator(Translator $translator = null, $textDomain = null);
public function setTranslator(TranslatorInterface $translator = null, $textDomain = null);

/**
* Returns translator used in object
*
* @return Translator|null
* @return TranslatorInterface|null
*/
public function getTranslator();

Expand Down
6 changes: 2 additions & 4 deletions src/Translator/TranslatorAwareTrait.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,10 @@

namespace Zend\I18n\Translator;

use Zend\I18n\Translator\Translator;

trait TranslatorAwareTrait
{
/**
* @var Translator
* @var TranslatorInterface
*/
protected $translator = null;

Expand All @@ -35,7 +33,7 @@ trait TranslatorAwareTrait
* @param string $textDomain
* @return mixed
*/
public function setTranslator(Translator $translator = null, $textDomain = null)
public function setTranslator(TranslatorInterface $translator = null, $textDomain = null)
{
$this->translator = $translator;

Expand Down
45 changes: 45 additions & 0 deletions src/Translator/TranslatorInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?php
/**
* Zend Framework (http://framework.zend.com/)
*
* @link http://github.com/zendframework/zf2 for the canonical source repository
* @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/

namespace Zend\I18n\Translator;

/**
* Translator interface.
*/
interface TranslatorInterface
{
/**
* Translate a message.
*
* @param string $message
* @param string $textDomain
* @param string $locale
* @return string
*/
public function translate($message, $textDomain = 'default', $locale = null);

/**
* Translate a plural message.
*
* @param string $singular
* @param string $plural
* @param int $number
* @param string $textDomain
* @param string|null $locale
* @return string
* @throws Exception\OutOfBoundsException
*/
public function translatePlural(
$singular,
$plural,
$number,
$textDomain = 'default',
$locale = null
);
}
30 changes: 23 additions & 7 deletions src/Validator/PhoneNumber.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

namespace Zend\I18n\Validator;

use Locale;
use Traversable;
use Zend\Stdlib\ArrayUtils;
use Zend\Validator\AbstractValidator;
Expand All @@ -28,13 +29,13 @@ class PhoneNumber extends AbstractValidator
protected $messageTemplates = array(
self::NO_MATCH => 'The input does not match a phone number format',
self::UNSUPPORTED => 'The country provided is currently unsupported',
self::INVALID => 'Invalid type given. String expected',
self::INVALID => 'Invalid type given. String expected',
);

/**
* Phone Number Patterns
*
* @link http://libphonenumber.googlecode.com/svn/trunk/resources/PhoneNumberMetaData.xml
* @link http://code.google.com/p/libphonenumber/source/browse/trunk/resources/PhoneNumberMetadata.xml
* @var array
*/
protected static $phone = array();
Expand Down Expand Up @@ -86,6 +87,9 @@ public function __construct($options = array())

if (array_key_exists('country', $options)) {
$this->setCountry($options['country']);
} else {
$country = Locale::getRegion(Locale::getDefault());
$this->setCountry($country);
}

if (array_key_exists('allowed_types', $options)) {
Expand Down Expand Up @@ -164,7 +168,7 @@ public function setCountry($country)
*/
protected function loadPattern($code)
{
if (!isset(self::$phone[$code])) {
if (!isset(static::$phone[$code])) {
if (!preg_match('/^[A-Z]{2}$/D', $code)) {
return false;
}
Expand All @@ -174,10 +178,10 @@ protected function loadPattern($code)
return false;
}

self::$phone[$code] = include $file;
static::$phone[$code] = include $file;
}

return self::$phone[$code];
return static::$phone[$code];
}

/**
Expand Down Expand Up @@ -210,8 +214,20 @@ public function isValid($value = null, $context = null)
}
}

if ($countryPattern['code'] == substr($value, 0, strlen($countryPattern['code']))) {
$valueNoCountry = substr($value, strlen($countryPattern['code']));
$codeLength = strlen($countryPattern['code']);

/*
* Check for existence of either:
* 1) E.123/E.164 international prefix
* 2) International double-O prefix
* 3) Bare country prefix
*/
if (('+' . $countryPattern['code']) == substr($value, 0, $codeLength + 1)) {
$valueNoCountry = substr($value, $codeLength + 1);
} elseif (('00' . $countryPattern['code']) == substr($value, 0, $codeLength + 2)) {
$valueNoCountry = substr($value, $codeLength + 2);
} elseif ($countryPattern['code'] == substr($value, 0, $codeLength)) {
$valueNoCountry = substr($value, $codeLength);
}

// check against allowed types strict match:
Expand Down
16 changes: 8 additions & 8 deletions src/View/Helper/AbstractTranslatorHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

namespace Zend\I18n\View\Helper;

use Zend\I18n\Translator\Translator;
use Zend\I18n\Translator\TranslatorInterface;
use Zend\I18n\Translator\TranslatorAwareInterface;
use Zend\View\Helper\AbstractHelper;

Expand All @@ -19,7 +19,7 @@ abstract class AbstractTranslatorHelper extends AbstractHelper implements
/**
* Translator (optional)
*
* @var Translator
* @var TranslatorInterface
*/
protected $translator;

Expand All @@ -40,13 +40,13 @@ abstract class AbstractTranslatorHelper extends AbstractHelper implements
/**
* Sets translator to use in helper
*
* @param Translator $translator [optional] translator.
* Default is null, which sets no translator.
* @param string $textDomain [optional] text domain
* Default is null, which skips setTranslatorTextDomain
* @param TranslatorInterface $translator [optional] translator.
* Default is null, which sets no translator.
* @param string $textDomain [optional] text domain
* Default is null, which skips setTranslatorTextDomain
* @return AbstractTranslatorHelper
*/
public function setTranslator(Translator $translator = null, $textDomain = null)
public function setTranslator(TranslatorInterface $translator = null, $textDomain = null)
{
$this->translator = $translator;
if (null !== $textDomain) {
Expand All @@ -59,7 +59,7 @@ public function setTranslator(Translator $translator = null, $textDomain = null)
/**
* Returns translator used in helper
*
* @return Translator|null
* @return TranslatorInterface|null
*/
public function getTranslator()
{
Expand Down
7 changes: 5 additions & 2 deletions src/View/Helper/DateFormat.php
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ public function __invoke(
}

// DateTime support for IntlDateFormatter::format() was only added in 5.3.4
if ($date instanceof DateTime && version_compare(PHP_VERSION, '5.3.4', '<')) {
if ($date instanceof DateTime && (PHP_VERSION_ID < 50304)) {
$date = $date->getTimestamp();
}

Expand Down Expand Up @@ -133,8 +133,11 @@ public function setTimezone($timezone)
{
$this->timezone = (string) $timezone;

// The method setTimeZoneId is deprecated as of PHP 5.5.0
$setTimeZoneMethodName = (PHP_VERSION_ID < 50500) ? 'setTimeZoneId' : 'setTimeZone';

foreach ($this->formatters as $formatter) {
$formatter->setTimeZoneId($this->timezone);
$formatter->$setTimeZoneMethodName($this->timezone);
}

return $this;
Expand Down
20 changes: 10 additions & 10 deletions test/Filter/AlnumTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
* @link http://github.com/zendframework/zf2 for the canonical source repository
* @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @package Zend_I18n
*/

namespace ZendTest\Filter;
Expand All @@ -14,9 +13,6 @@
use Locale;

/**
* @category Zend
* @package Zend_Filter
* @subpackage UnitTests
* @group Zend_Filter
*/
class AlnumTest extends \PHPUnit_Framework_TestCase
Expand Down Expand Up @@ -56,12 +52,16 @@ class AlnumTest extends \PHPUnit_Framework_TestCase
*/
public function setUp()
{
if (!extension_loaded('intl')) {
$this->markTestSkipped('ext/intl not enabled');
}

$this->filter = new AlnumFilter();

$this->locale = Locale::getDefault();
$language = Locale::getPrimaryLanguage($this->locale);
self::$meansEnglishAlphabet = in_array($language, array('ja'));
self::$unicodeEnabled = (@preg_match('/\pL/u', 'a')) ? true : false;
static::$meansEnglishAlphabet = in_array($language, array('ja'));
static::$unicodeEnabled = (@preg_match('/\pL/u', 'a')) ? true : false;
}

/**
Expand All @@ -71,7 +71,7 @@ public function setUp()
*/
public function testBasic()
{
if (!self::$unicodeEnabled) {
if (!static::$unicodeEnabled) {
// POSIX named classes are not supported, use alternative a-zA-Z match
$valuesExpected = array(
'abc123' => 'abc123',
Expand All @@ -80,7 +80,7 @@ public function testBasic()
'AZ@#4.3' => 'AZ43',
'' => ''
);
} elseif (self::$meansEnglishAlphabet) {
} elseif (static::$meansEnglishAlphabet) {
// The Alphabet means english alphabet.

/**
Expand Down Expand Up @@ -123,7 +123,7 @@ public function testAllowWhiteSpace()
{
$this->filter->setAllowWhiteSpace(true);

if (!self::$unicodeEnabled) {
if (!static::$unicodeEnabled) {
// POSIX named classes are not supported, use alternative a-zA-Z match
$valuesExpected = array(
'abc123' => 'abc123',
Expand All @@ -134,7 +134,7 @@ public function testAllowWhiteSpace()
"\n" => "\n",
" \t " => " \t "
);
} elseif (self::$meansEnglishAlphabet) {
} elseif (static::$meansEnglishAlphabet) {
//The Alphabet means english alphabet.
$valuesExpected = array(
'a B 45' => 'a B 5',
Expand Down
8 changes: 4 additions & 4 deletions test/Filter/AlphaTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
* @link http://github.com/zendframework/zf2 for the canonical source repository
* @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @package Zend_I18n
*/

namespace ZendTest\Filter;
Expand All @@ -14,9 +13,6 @@
use Locale;

/**
* @category Zend
* @package Zend_Filter
* @subpackage UnitTests
* @group Zend_Filter
*/
class AlphaTest extends \PHPUnit_Framework_TestCase
Expand Down Expand Up @@ -56,6 +52,10 @@ class AlphaTest extends \PHPUnit_Framework_TestCase
*/
public function setUp()
{
if (!extension_loaded('intl')) {
$this->markTestSkipped('ext/intl not enabled');
}

$this->filter = new AlphaFilter();

$this->locale = Locale::getDefault();
Expand Down
Loading

0 comments on commit 04f4340

Please sign in to comment.