/**
  * Aktualisiert einen Datensatz
  *
  * @param 	string 	$tablename
  * @param 	string 	$where
  * @param 	array 	$values
  * @param 	int 	$debug = 0 		Set to 1 to debug sql-String
  * @param 	mixed 	$noQuoteFields 	Array or commaseparated string with fieldnames
  * @param 	array 	$options
  * @return 	int 	number of rows affected
  */
 public static function doUpdate($tablename, $where, $values, $debug = 0, $noQuoteFields = false, array $options = array())
 {
     if ($options['eleminateNonTcaColumns']) {
         $values = tx_mklib_util_TCA::eleminateNonTcaColumnsByTable($tablename, $values);
     }
     $res = parent::doUpdate($tablename, $where, self::insertTimestamp($values, $tablename), $debug, $noQuoteFields);
     self::log('doUpdate', $tablename, $where, $values);
     return $res;
 }
 /**
  *
  */
 public function testEleminateNonTcaColumnsByTable()
 {
     if (tx_rnbase_util_TYPO3::isTYPO60OrHigher()) {
         \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::loadNewTcaColumnsConfigFiles();
     }
     $data = array('blacklisted' => true, 'whitelisted' => 0, 'ich-muss-raus' => true, 'ich-auch' => false);
     $res = tx_mklib_util_TCA::eleminateNonTcaColumnsByTable('tx_mklib_wordlist', $data);
     $this->assertEquals(2, count($res), 'falsche array größe');
     $this->assertTrue($res['blacklisted'], 'blacklsited Feld ist nicht korrekt!');
     $this->assertEquals(0, $res['whitelisted'], 'whitelisted Feld ist nicht korrekt!');
     $this->assertFalse(isset($res['ich-muss-raus']), 'ich-muss-raus Feld wurde nicht entfernt!');
     $this->assertFalse(isset($res['ich-auch']), 'ich-auch Feld wurde nicht entfernt!');
 }