Project

General

Profile

Bug #15452 » 0002314.patch

Administrator Admin, 2009-07-18 21:07

View differences:

t3lib/class.t3lib_tcemain.php (working copy)
$updateFields['t3ver_state'] = 4; // Setting placeholder state value for version (so it can know it is currently a new version...)
$GLOBALS['TYPO3_DB']->exec_UPDATEquery($table, 'uid='.intval($wsUid), $updateFields);
}
//check for the localizations of that element and move them as well
$this->moveL10nOverlayRecords($table,$uid,$destPid);
}
/**
......
$this->moveRecord_procFields($table,$uid,$destPid);
// Create query for update:
$GLOBALS['TYPO3_DB']->exec_UPDATEquery($table, 'uid='.intval($uid), $updateFields);
// check for the localizations of that element
$this->moveL10nOverlayRecords($table,$uid,$destPid);
// Call post processing hooks:
foreach($hookObjectsArr as $hookObj) {
......
$this->moveRecord_procFields($table,$uid,$destPid);
// Create query for update:
$GLOBALS['TYPO3_DB']->exec_UPDATEquery($table, 'uid='.intval($uid), $updateFields);
// check for the localizations of that element
$this->moveL10nOverlayRecords($table,$uid,$destPid);
// Call post processing hooks:
foreach($hookObjectsArr as $hookObj) {
......
}
/**
* Find l10n-overlay records and perform the requested move action for these records.
*
* @param string $table: Record Table
* @param string $uid: Record UID
* @param string $destPid: Position to move to
* @return void
*/
function moveL10nOverlayRecords($table,$uid,$destPid) {
//there's no need to perform this for table-records
if( $table == 'pages' ) return;
t3lib_div::loadTCA( $table );
$l10nRecords = t3lib_BEfunc::getRecordsByField( $table, $GLOBALS['TCA'][$table]['ctrl']['transOrigPointerField'], $uid );
if( is_array($l10nRecords) ) {
foreach( $l10nRecords as $record ) {
$this->moveRecord( $table, $record['uid'], $destPid );
}
}
}
/**
* Localizes a record to another system language
* In reality it only works if transOrigPointerTable is not set. For "pages" the implementation is hardcoded
*
......
if ($TCA[$table]['ctrl']['sortby']) {
$keepFields[] = $TCA[$table]['ctrl']['sortby'];
}
// l10n-fields must be kept otherwise the localization will be lost during the publishing
if ( $TCA[$table]['ctrl']['transOrigPointerField'] ) {
$keepFields[] = $TCA[$table]['ctrl']['transOrigPointerField'];
}
// Swap "keepfields"
foreach($keepFields as $fN) {
(5-5/8)