/** * 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!'); }