Exemple #1
0
 public function testasArrayCSV()
 {
     $input = array('a', 'b', 'c', 'd' => 'four', 'e' => 5, 'f' => null, 'g' => false, 'h' => true, 'i' => '');
     $result = Re::arrayCSV($input);
     $this->assertEquals($result, $input);
     $input = 'a,b,c,d,four,e,0,1,2,3,[NULL],asd;asd|asd"asd\'asd[asd]asd\\asd';
     $expect = array('a', 'b', 'c', 'd', 'four', 'e', '0', '1', '2', '3', '[NULL]', 'asd;asd|asd"asd\'asd[asd]asd\\asd');
     $result = Re::arrayCSV($input);
     $this->assertEquals($result, $expect);
     $expect = array('a', 'b', 'c', 'd', 'four', 'e', '0', '1', '2', '3', '[NULL]', 'asd', 'asd', 'asd"asd\'asd[asd]asd\\asd');
     $result = Re::arrayCSV($input, ';,|');
     $this->assertEquals($result, $expect);
     $expect = array('a', 'b', 'c', 'd', 'four', 'e', '0', '1', '2', '3', '[NULL]', 'asd', 'asd', 'asd', 'asd', 'asd[asd]asd', 'asd');
     $result = Re::arrayCSV($input, ';,|,",\',\\');
     $this->assertEquals($result, $expect);
 }
Exemple #2
0
 /**
  * just a simpler test function.  Tests if something is !emtpy() || == '0'
  * @param mixed $data
  * @param array $settings
  *				$settings[disallow] values to disallow (if empty, we default to our known "empties")
  * @return bool
  */
 public static function isValid($data, $settings = array())
 {
     extract(array_merge(array('disallow' => null), $settings));
     if (is_array($data) && count($data) == 1) {
         $data = array_shift($data);
     }
     $disallowDefaults = array('0000-00-00', '0000-00-00 00:00:00', '', null, false);
     $disallow = array_merge($disallowDefaults, Re::arrayCSV($disallow), Re::$config['disallow']);
     if (is_array($data)) {
         $bads = array_intersect($disallow, $data);
         if (!empty($bads)) {
             return false;
         }
     } elseif (in_array($data, $disallow, true)) {
         return false;
     }
     if ($data === 0 || $data === '0') {
         // allow 0 unless explicitly disallowed
         // if disallowed, it would have already returned
         return true;
     }
     return !empty($data);
 }