예제 #1
0
 public function getValue($row, $ddList)
 {
     $value = "";
     switch ($this->type) {
         case self::FIELD_TYPE_DIRECT:
             if (isset($row[$this->name])) {
                 $valueFromDb = $row[$this->name];
                 $value = CSVField::escape($valueFromDb);
             }
             break;
         case self::FIELD_TYPE_DATE:
             if (isset($row[$this->name])) {
                 $valueFromDb = $row[$this->name];
                 $value = CSVField::escape(LocaleUtil::getInstance()->formatDate($valueFromDb));
             }
             break;
         case self::FIELD_TYPE_FROMMAP:
             if (isset($row[$this->name])) {
                 $valueFromDb = $row[$this->name];
                 $value = CSVField::escape(CSVField::getValueFromMap($this->map, $valueFromDb));
             }
             break;
         case self::FIELD_TYPE_DIRECT_DEBIT:
             $value = CSVField::escape($this->_getDDValue($row, $ddList));
             break;
     }
     return $value;
 }
예제 #2
0
 /** Test escape() method */
 public function testEscape()
 {
     // no escape needed:
     $this->assertEquals('test value', CSVField::escape('test value'));
     $this->assertEquals('name', CSVField::escape('name'));
     // escape comma
     $this->assertEquals('"name, aaa"', CSVField::escape('name, aaa'));
     $this->assertEquals('",name aaa"', CSVField::escape(',name aaa'));
     $this->assertEquals('"name aaa,"', CSVField::escape('name aaa,'));
     // escape quotes
     $this->assertEquals('"""Hello"""', CSVField::escape('"Hello"'));
     $this->assertEquals('"Hello"" how"', CSVField::escape('Hello" how'));
     // both
     $this->assertEquals('"Hello"", how"', CSVField::escape('Hello", how'));
 }