Project

General

Profile

Bug #16766 ยป 0004616.patch

Administrator Admin, 2006-12-07 22:35

View differences:

t3lib/class.t3lib_tcemain.php (Revision 4262)
var $autoVersionIdMap = Array(); // Contains mapping of auto-versionized records.
var $substNEWwithIDs = Array(); // When new elements are created, this array contains a map between their "NEW..." string IDs and the eventual UID they got when stored in database
var $substNEWwithIDs_table = Array(); // Like $substNEWwithIDs, but where each old "NEW..." id is mapped to the table it was from.
var $newRelatedIDs = Array(); // Holds the tables and there the ids of newly created child records from IRRE
var $copyMappingArray_merged = Array(); // This array is the sum of all copying operations in this class. May be READ from outside, thus partly public.
var $copiedFileMap = Array(); // A map between input file name and final destination for files being attached to records.
var $errorLog = Array(); // Errors are collected in this variable.
......
if(is_array($valueArray)) {
foreach($valueArray as $key => $value) {
if(strpos($value, 'NEW') !== false) {
// fetch the proper uid as integer for the NEW...-ID
$valueArray[$key] = $this->substNEWwithIDs[$value];
// set a hint that this was a new child record
$this->newRelatedIDs[$table][] = $valueArray[$key];
}
}
$remapAction['args'][$remapAction['pos']['valueArray']] = $valueArray;
typo3/alt_doc.php (Revision 4262)
if(count($keys) > 0) {
foreach($keys as $key) {
$editId = $tce->substNEWwithIDs[$key];
// translate new id to the workspace version:
if ($versionRec = t3lib_BEfunc::getWorkspaceVersionOfRecord($GLOBALS['BE_USER']->workspace, $nTable, $editId,'uid')) {
$editId = $versionRec['uid'];
// check if the $editId isn't a child record of an IRRE action
if (!(is_array($tce->newRelatedIDs[$tableName]) && in_array($editId, $tce->newRelatedIDs[$tableName]))) {
// translate new id to the workspace version:
if ($versionRec = t3lib_BEfunc::getWorkspaceVersionOfRecord($GLOBALS['BE_USER']->workspace, $nTable, $editId,'uid')) {
$editId = $versionRec['uid'];
}
$newEditConf[$tableName][$editId] = 'edit';
}
$newEditConf[$tableName][$editId] = 'edit';
// Traverse all new records and forge the content of ->editconf so we can continue to EDIT these records!
if ($tableName=='pages' && $this->retUrl!='dummy.php' && $this->returnNewPageId) {
    (1-1/1)