/** * @group unit */ public function testGetEnableColumnReturnsDefaultValueForDisabled() { $expected = 'removed'; $actual = tx_mklib_util_TCA::getEnableColumn('tt_mktest_table', 'disabled', $expected); $this->assertEquals($expected, $actual); }
/** * Logs DB changes * * @TODO: t3users log nutzen, wenn installiert! tx_t3users_util_ServiceRegistry::getLoggingService(); * * @param string $msg * @param string $tablename * @param string $where * @param mixed $values */ private static function log($msg, $tablename, $where = false, $values = false) { if (!self::isLog($tablename)) { return false; } // else // daten sammeln $data = array(); $data['fe_user'] = isset($GLOBALS['TSFE']->fe_user->user['uid']) ? $GLOBALS['TSFE']->fe_user->user['uid'] : 'none'; $data['be_user'] = array_key_exists('BE_USER', $GLOBALS) && is_object($GLOBALS['BE_USER']) ? $GLOBALS['BE_USER']->user['uid'] : 'none'; $data['tablename'] = $tablename; if ($where) { $data['where'] = $where; } if ($values) { $data['values'] = $values; } // backtrace Konfigurierbar machen? tx_rnbase::load('tx_mklib_util_Logger'); $data['debug_backtrace'] = tx_mklib_util_Logger::getDebugBacktrace(); // wurde auf hidden gesetzt? $disabled = tx_mklib_util_TCA::getEnableColumn($tablename, 'disabled', 'hidden'); if ($values && isset($values[$disabled]) && $values[$disabled]) { $msg .= '->disabled'; } // wurde gelöscht? $delete = tx_mklib_util_TCA::getEnableColumn($tablename, 'delete', 'deleted'); if ($values && isset($values[$delete]) && $values[$delete]) { $msg .= '->delete'; } // tabellenname ergänzen $msg .= '(' . $tablename . ')'; tx_rnbase_util_Logger::notice($msg, 'mklib', $data); return true; }
/** * @TODO: weitere links integrieren! * $options = array('hide'=>'ausblenden,'edit'=>'bearbeiten,'remove'=>'löschen','history'='history','info'=>'info','move'=>'verschieben'); * * @param tx_rnbase_model_base $item * @param array $options * @return string */ protected function getActions(tx_rnbase_model_base $item, array $options) { $ret = ''; $tableName = $item->getTableName(); // we use the real uid, not the uid of the parent! $uid = $item->getProperty('uid'); foreach ($options as $sLinkId => $bTitle) { switch ($sLinkId) { case 'edit': $ret .= $this->getFormTool()->createEditLink($tableName, $uid, $bTitle); break; case 'hide': $sHiddenColumn = tx_mklib_util_TCA::getEnableColumn($tableName, 'disabled', 'hidden'); $ret .= $this->getFormTool()->createHideLink($tableName, $uid, $item->record[$sHiddenColumn]); break; case 'remove': //Es wird immer ein Bestätigungsdialog ausgegeben!!! Dieser steht //in der BE-Modul locallang.xml der jeweiligen Extension im Schlüssel //'confirmation_deletion'. (z.B. mkkvbb/mod1/locallang.xml) Soll kein //Bestätigungsdialog ausgegeben werden, dann einfach 'confirmation_deletion' leer lassen $ret .= $this->getFormTool()->createDeleteLink($tableName, $uid, $bTitle, array('confirm' => $GLOBALS['LANG']->getLL('confirmation_deletion'))); break; default: break; } } return $ret; }