Exemple #1
0
 /**
  * Run the filters before each save.
  *
  * @param \Titon\Event\Event $event
  * @param \Titon\Db\Query $query
  * @param int|int[] $id
  * @param array $data
  * @return bool
  */
 public function preSave(Event $event, Query $query, $id, array &$data)
 {
     $filters = $this->getFilters();
     foreach ($data as $key => $value) {
         if (empty($filters[$key])) {
             continue;
         }
         $filter = $filters[$key];
         // HTML escape
         if (isset($filter['html'])) {
             $value = Sanitize::html($value, $filter['html']);
         }
         // Newlines
         if (isset($filter['newlines'])) {
             $value = Sanitize::newlines($value, $filter['newlines']);
         }
         // Whitespace
         if (isset($filter['whitespace'])) {
             $value = Sanitize::whitespace($value, $filter['whitespace']);
         }
         // XSS
         if (isset($filter['xss'])) {
             $value = Sanitize::xss($value, $filter['xss']);
         }
         $data[$key] = $value;
     }
     return true;
 }
Exemple #2
0
 function nl($value, array $options = array())
 {
     return Sanitize::newlines($value, $options);
 }
Exemple #3
0
 /**
  * Test that newlines() removes extraneous CRLF.
  */
 public function testNewlines()
 {
     $this->assertEquals("Testing\rCarriage\rReturns", Sanitize::newlines("Testing\rCarriage\r\rReturns"));
     $this->assertEquals("Testing\r\rCarriage\rReturns", Sanitize::newlines("Testing\r\rCarriage\r\r\rReturns", array('limit' => 3)));
     $this->assertEquals("TestingCarriageReturns", Sanitize::newlines("Testing\r\rCarriage\r\r\rReturns", array('limit' => 0)));
     $this->assertEquals("Testing\nLine\nFeeds", Sanitize::newlines("Testing\nLine\n\nFeeds"));
     $this->assertEquals("Testing\nLine\n\nFeeds", Sanitize::newlines("Testing\n\n\nLine\n\nFeeds", array('limit' => 3)));
     $this->assertEquals("TestingLineFeeds", Sanitize::newlines("Testing\n\nLine\n\nFeeds", array('limit' => 0)));
     $this->assertEquals("Testing\r\nBoth\r\nLineFeeds\r\n\r\nAnd\r\nCarriageReturns", Sanitize::newlines("Testing\r\nBoth\r\r\n\nLineFeeds\r\n\r\r\n\nAnd\r\nCarriageReturns"));
     $this->assertEquals("Testing\r\nBoth\r\nLineFeeds\r\nAnd\r\nCarriageReturns", Sanitize::newlines("Testing\r\nBoth\r\n\r\nLineFeeds\r\n\r\n\r\nAnd\r\nCarriageReturns"));
     $this->assertEquals("Testing\r\nBoth\r\n\r\nLineFeeds\r\n\r\n\r\nAnd\r\nCarriageReturns", Sanitize::newlines("Testing\r\nBoth\r\n\r\nLineFeeds\r\n\r\n\r\nAnd\r\nCarriageReturns", array('crlf' => false)));
 }