/**
  * @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;
 }