/** * Liefert eine initialisierte TCEmain */ public function &getTCEmain($data = 0, $cmd = 0) { $tce; if (!$tce || $data || $cmd) { // Die TCEmain laden tx_rnbase::load('tx_rnbase_util_Typo3Classes'); $tce = tx_rnbase::makeInstance(tx_rnbase_util_Typo3Classes::getDataHandlerClass()); $tce->stripslashes_values = 0; // Wenn wir ein data-Array bekommen verwenden wir das $tce->start($data ? $data : array(), $cmd ? $cmd : array()); // set default TCA values specific for the user $TCAdefaultOverride = $GLOBALS['BE_USER']->getTSConfigProp('TCAdefaults'); if (is_array($TCAdefaultOverride)) { $tce->setDefaultsFromUserTS($TCAdefaultOverride); } } return $tce; }
/** * @group unit */ public function testRemoveLogTablesFromTablesThatCanBeCopied() { $mklogTable = 'tx_mklog_devlog_entry'; $devLogTable = Tx_Mklog_Utility_Devlog::getTableName(); $dataHandler = tx_rnbase::makeInstance('Tx_Mklog_Hooks_DataHandler'); $dataHandlerParent = tx_rnbase::makeInstance(tx_rnbase_util_Typo3Classes::getDataHandlerClass()); $dataHandlerParent = $this->getMock(tx_rnbase_util_Typo3Classes::getDataHandlerClass(), array('compileAdminTables')); $dataHandlerParent->expects(self::once())->method('compileAdminTables')->will(self::returnValue(array('pages', 'tt_content', 'sys_template', $devLogTable, $mklogTable))); $this->callInaccessibleMethod($dataHandler, 'removeLogTablesFromTablesThatCanBeCopied', $dataHandlerParent); self::assertNotSame('*', $dataHandlerParent->copyWhichTables, 'es sollte nicht per default auf * stehen'); $copyWhichTables = array_flip(explode(',', $dataHandlerParent->copyWhichTables)); self::assertTrue(is_array($copyWhichTables), 'das sollte ein array sein'); self::assertGreaterThan(2, count($copyWhichTables), 'es sollte mehr als eine Tabelle enthalten sein'); self::assertArrayNotHasKey($devLogTable, $copyWhichTables, 'devlog Tabelle noch enthalten'); self::assertArrayNotHasKey($mklogTable, $copyWhichTables, 'mklog Tabelle noch enthalten'); }