Ejemplo n.º 1
0
 protected function getCertificateFromRoute()
 {
     $filter = new Alnum();
     $ISIN = $filter->filter($this->params()->fromRoute('ISIN', ''));
     if (!$ISIN) {
         return null;
     }
     $certificate = $this->getCertificatesTable()->get($ISIN);
     if (!$certificate) {
         return null;
     }
     return $certificate;
 }
Ejemplo n.º 2
0
 /**
  *
  * @param type name desc
  * @uses Clase::methodo()
  * @return type desc
  */
 public function urlFriendly($value, $valuechange = '', $min = '')
 {
     if (!self::$_unicodeEnabled) {
         // POSIX named classes are not supported, use alternative a-zA-Z0-9 match
         $pattern = '/[^a-zA-Z0-9]/';
     } else {
         if (self::$_meansEnglishAlphabet) {
             //The Alphabet means english alphabet.
             $pattern = '/[^a-zA-Z0-9]/u';
         } else {
             //The Alphabet means each language's alphabet.
             $pattern = '/[^\\p{L}\\p{N}]/u';
         }
     }
     if (trim($valuechange) != "") {
         $str = preg_replace('/\\s\\s+/', ' ', preg_replace($pattern, ' ', $value));
         $replace = array("á", "à", "é", "è", "í", "ì", "ó", "ò", "ú", "ù", "ñ", "Ñ", "Á", "À", "É", "È", "Í", "Ì", "Ó", "Ò", "Ú", "Ù");
         $change = array("a", "a", "e", "e", "i", "i", "o", "o", "u", "u", "n", "N", "A", "A", "E", "E", "I", "I", "O", "O", "U", "U");
         $str = str_replace($replace, $change, $str);
         if ($min == 1) {
             return str_replace(" ", $valuechange, strtoupper($str));
         }
         if ($min == 0) {
             return str_replace(" ", $valuechange, strtolower($str));
         }
         if ($min == '') {
             return str_replace(" ", $valuechange, $str);
         }
     } else {
         return parent::filter($value);
     }
 }
Ejemplo n.º 3
0
 /**
  * dijit.form.RadioButton
  *
  * @param  string $id
  * @param  string $value
  * @param  array $params  Parameters to use for dijit creation
  * @param  array $attribs HTML attributes
  * @param  array $options Array of radio options
  * @param  string $listsep String with which to separate options
  * @return string
  */
 public function __invoke($id = null, $value = null, array $params = array(), array $attribs = array(), array $options = null, $listsep = "<br />\n")
 {
     $attribs['name'] = $id;
     if (!array_key_exists('id', $attribs)) {
         $attribs['id'] = $id;
     }
     $attribs = $this->_prepareDijit($attribs, $params, 'element');
     if (is_array($options) && $this->_useProgrammatic() && !$this->_useProgrammaticNoScript()) {
         $baseId = $id;
         if (array_key_exists('id', $attribs)) {
             $baseId = $attribs['id'];
         }
         $filter = new AlnumFilter();
         foreach (array_keys($options) as $key) {
             $optId = $baseId . '-' . $filter->filter($key);
             $this->_createDijit($this->_dijit, $optId, array());
         }
     }
     return $this->view->formRadio($id, $value, $attribs, $options, $listsep);
 }
Ejemplo n.º 4
0
 /**
  * Ensures that the allowWhiteSpace option works as expected
  *
  * @return void
  */
 public function testAllowWhiteSpace()
 {
     $this->filter->setAllowWhiteSpace(true);
     if (!self::$unicodeEnabled) {
         // POSIX named classes are not supported, use alternative a-zA-Z match
         $valuesExpected = array('abc123' => 'abc123', 'abc 123' => 'abc 123', 'abcxyz' => 'abcxyz', 'AZ@#4.3' => 'AZ43', '' => '', "\n" => "\n", " \t " => " \t ");
     } elseif (self::$meansEnglishAlphabet) {
         //The Alphabet means english alphabet.
         $valuesExpected = array('a B 45' => 'a B 5', 'z3 x' => 'z3x');
     } else {
         //The Alphabet means each language's alphabet.
         $valuesExpected = array('abc123' => 'abc123', 'abc 123' => 'abc 123', 'abcxyz' => 'abcxyz', 'če2 t3ně' => 'če2 t3ně', 'gr z5e4gżółka' => 'gr z5e4gżółka', 'Be3l5 gië' => 'Be3l5 gië', '' => '');
     }
     foreach ($valuesExpected as $input => $expected) {
         $actual = $this->filter->filter($input);
         $this->assertEquals($expected, $actual);
     }
 }
Ejemplo n.º 5
0
 /**
  * Returns true if and only if $value contains only alphabetic and digit characters
  *
  * @param  string $value
  * @return bool
  */
 public function isValid($value)
 {
     if (!is_string($value) && !is_int($value) && !is_float($value)) {
         $this->error(self::INVALID);
         return false;
     }
     $this->setValue($value);
     if ('' === $value) {
         $this->error(self::STRING_EMPTY);
         return false;
     }
     if (null === static::$filter) {
         static::$filter = new AlnumFilter();
     }
     static::$filter->setAllowWhiteSpace($this->options['allowWhiteSpace']);
     if ($value != static::$filter->filter($value)) {
         $this->error(self::NOT_ALNUM);
         return false;
     }
     return true;
 }
Ejemplo n.º 6
0
 /**
  * @dataProvider returnUnfilteredDataProvider
  * @return void
  */
 public function testReturnUnfiltered($input)
 {
     $filter = new AlnumFilter();
     $this->assertEquals($input, $filter->filter($input));
 }