/** * * @param tx_rnbase_model_base $item * @param tx_rnbase_util_FormTool $formTool * @param array $options * @return string */ public function makeLink(tx_rnbase_model_base $item, tx_rnbase_util_FormTool $formTool, $options = array()) { $out = $formTool->createSubmit('showDetails[' . $this->identifier . '][' . $item->getUid() . ']', isset($options['label']) ? $options['label'] : '###LABEL_SHOW_DETAILS###', isset($options['confirm']) ? $options['confirm'] : '', $options); return $out; }
public static function getAddLocalizationLinks(tx_rnbase_model_base $item, tx_rnbase_mod_BaseModule $mod = NULL) { if ($item->getUid() != $item->getProperty('uid') || $item->getSysLanguageUid() !== 0) { return ''; } $out = ''; foreach (self::getLangRecords($item->getPid()) as $lang) { // skip, if the be user hase no access to for the language! if (!$GLOBALS['BE_USER']->checkLanguageAccess($lang['uid'])) { continue; } // skip, if a overlay for this language allready exists tx_rnbase::load('tx_rnbase_util_TCA'); $parentField = tx_rnbase_util_TCA::getTransOrigPointerFieldForTable($item->getTableName()); $sysLanguageUidField = tx_rnbase_util_TCA::getLanguageFieldForTable($item->getTableName()); $overlays = tx_rnbase_util_DB::doSelect('uid', $item->getTableName(), array('where' => implode(' AND ', array($parentField . '=' . $item->getUid(), $sysLanguageUidField . '=' . (int) $lang['uid'])), 'limit' => 1)); if (!empty($overlays)) { continue; } /* @var $mod tx_rnbase_mod_BaseModule */ if (!$mod instanceof tx_rnbase_mod_BaseModule) { $mod = $GLOBALS['SOBE']; } $onclick = $mod->getDoc()->issueCommand('&cmd[' . $item->getTableName() . '][' . $item->getUid() . '][localize]=' . $lang['uid']); $onclick = 'window.location.href=\'' . $onclick . '\'; return false;'; $out .= sprintf('<a href="#" onclick="%1$s">%2$s</a>', htmlspecialchars($onclick), self::getLangSpriteIcon($lang, array('show_title' => FALSE))); } return $out; }
/** * 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_model_base $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_model_base Updated (on success actually empty) model. */ public function handleDelete(tx_rnbase_model_base $model, $where = '', $mode = 0, $table = null) { if (empty($table)) { $table = $model->getTableName(); } $uid = $model->getUid(); if (!$where) { $where = '1=1 AND `' . $table . '`.`uid`=' . $GLOBALS['TYPO3_DB']->fullQuoteStr($uid, $table); } $this->delete($table, $where, $mode); $model->reset(); return $model; }