protected function prepareItem(Tx_Rnbase_Domain_Model_RecordInterface $item, tx_rnbase_configurations $configurations, $confId)
 {
     if (!tx_rnbase_util_TYPO3::isTYPO60OrHigher()) {
         // Localize data (DAM 1.1.0)
         if (method_exists(self::getDamDB(), 'getRecordOverlay')) {
             $loc = self::getDamDB()->getRecordOverlay('tx_dam', $item->getRecord(), array('sys_language_uid' => $GLOBALS['TSFE']->sys_language_uid));
             if ($loc) {
                 $item->setProperty($loc);
             }
         }
     }
     // TODO: record overlay for FAL??
     parent::prepareItem($item, $configurations, $confId);
 }
 /**
  * returns all language overlays.
  *
  * @param Tx_Rnbase_Domain_Model_Base $entry
  * @return array[Tx_Rnbase_Domain_Model_Base]
  */
 private static function getLangOverlayEntries(Tx_Rnbase_Domain_Model_RecordInterface $entry)
 {
     tx_rnbase::load('tx_rnbase_util_TCA');
     $parentField = tx_rnbase_util_TCA::getTransOrigPointerFieldForTable($entry->getTableName());
     $overlays = tx_rnbase_util_DB::doSelect('*', $entry->getTableName(), array('where' => $parentField . '=' . $entry->getUid(), 'wrapperclass' => get_class($entry)));
     return $overlays;
 }
 /**
  * Delete one model
  *
  * Overwrite this method to specify a specialised method signature,
  * and just call THIS method via parent::handleDelete().
  * Additionally, the deriving implementation may perform further checks etc.
  *
  * @param Tx_Rnbase_Domain_Model_RecordInterface $model This model is being updated.
  * @param string $where Override default restriction by defining an explicite where clause
  * @param int $mode Deletion mode with the following options: 0: Hide record; 1: Soft-delete (via "deleted" field) record; 2: Really DELETE record.
  * @param int $table Wenn eine Tabelle angegeben wird, wird die des Models missachtet (wichtig für temp anzeigen)
  * @return Tx_Rnbase_Domain_Model_RecordInterface Updated (on success actually empty) model.
  */
 public function handleDelete(Tx_Rnbase_Domain_Model_RecordInterface $model, $where = '', $mode = 0, $table = NULL)
 {
     if (empty($table)) {
         $table = $model->getTableName();
     }
     $uid = intval($model->getUid());
     if (!$where) {
         $where = '1=1 AND `' . $table . '`.`uid`=' . $uid;
     }
     $this->delete($table, $where, $mode);
     $model->reset();
     return $model;
 }
 /**
  * Eleminate non-TCA-defined columns from given data
  *
  * Doesn't do anything if no TCA columns are found.
  *
  * @param array $data Data to be filtered
  * @return array Data now containing only TCA-defined columns
  */
 public static function eleminateNonTcaColumns(Tx_Rnbase_Domain_Model_RecordInterface $model, array $data)
 {
     tx_rnbase::load('tx_rnbase_util_Arrays');
     return tx_rnbase_util_Arrays::removeNotIn($data, $model->getColumnNames());
 }