Feature #16323 » 6039_v9.diff

Administrator Admin, 2009-05-25 21:50

View differences:

t3lib/class.t3lib_admin.php (working copy)
582 582
	 */
583 583
	function testFileRefs ()	{
584 584
		$output=Array();
585
		// handle direct references with upload folder setting (workaround)
586
		$newCheckFileRefs = array();
587
        foreach ($this->checkFileRefs as $folder => $files) {
588
			// only direct references without a folder setting
589
			if ($folder !== '') {
590
				$newCheckFileRefs[$folder] = $files;
591
				continue;
592
			}
593

  
594
			foreach ($files as $file => $references) {
595

  
596
				// direct file references have often many references (removes occurences in the moreReferences section of the result array)
597
				if ($references > 1) {
598
					$references = 1;
599
				}
600

  
601
				// the directory must be empty (prevents checking of the root directory)
602
				$directory = dirname($file);
603
				if ($directory !== '') {
604
					$newCheckFileRefs[$directory][basename($file)] = $references;
605
				}
606
			}
607
		}
608
		$this->checkFileRefs = $newCheckFileRefs;
609

  
585 610
		reset($this->checkFileRefs);
586 611
		while(list($folder,$fileArr)=each($this->checkFileRefs))	{
587 612
			$path = PATH_site.$folder;
......
600 625
							}
601 626
							unset($fileArr[$entry]);
602 627
						} else {
603
							if (!strstr($entry,'index.htm'))	{
628
							// contains workaround for direct references
629
							if (!strstr($entry, 'index.htm') && !preg_match('/^fileadmin/', $folder)) {
604 630
								$output['noReferences'][] = Array($path,$entry);
605 631
							}
606 632
						}
......
610 636
				reset($fileArr);
611 637
				$tempCounter=0;
612 638
				while(list($file,)=each($fileArr))	{
639
					// workaround for direct file references
640
					if (preg_match('/^fileadmin/', $folder)) {
641
						$file = $folder . '/' . $file;
642
						$folder = '';
643
						$path = substr(PATH_site, 0, - 1);
644
					}
613 645
					$temp = $this->whereIsFileReferenced($folder,$file);
614 646
					$tempList = '';
615 647
					while(list(,$inf)=each($temp))	{
......
736 768
if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_admin.php'])	{
737 769
	include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_admin.php']);
738 770
}
739
?>
771
?>
t3lib/class.t3lib_refindex.php (working copy)
205 205
 						case 'db':
206 206
 							$this->createEntryData_dbRels($table,$uid,$fieldname,'',$deleted,$dat['itemArray']);
207 207
 						break;
208
 						case 'file_reference':
208 209
 						case 'file':
209 210
 							$this->createEntryData_fileRels($table,$uid,$fieldname,'',$deleted,$dat['newValueFiles']);
210 211
 						break;
......
342 343
								 	list($tableName,$recordId) = explode(':',$el['subst']['recordRef']);
343 344
								 	$this->relations[] = $this->createEntryData($table,$uid,$fieldname,$flexpointer,$deleted,$tableName,$recordId,'',-1,$spKey,$subKey);
344 345
								 break;
346
								 case 'file_reference':
345 347
								 case 'file':
346 348
								 	$this->relations[] = $this->createEntryData($table,$uid,$fieldname,$flexpointer,$deleted,'_FILE',0,$el['subst']['relFileName'],-1,$spKey,$subKey);
347 349
								 break;
......
537 539
	 */
538 540
	function getRelations_procFiles($value, $conf, $uid)	{
539 541
			// Take care of files...
540
		if ($conf['type']=='group' && $conf['internal_type']=='file')	{
542
		if ($conf['type'] == 'group' && ($conf['internal_type'] == 'file' || $conf['internal_type'] == 'file_reference')) {
541 543

  
542 544
				// Collect file values in array:
543 545
			if ($conf['MM'])	{
......
555 557
			}
556 558

  
557 559
				// Traverse the files and add them:
558
			$uploadFolder = $conf['uploadfolder'];
560
			$uploadFolder = $conf['internal_type'] == 'file' ? $conf['uploadfolder'] : '';
559 561
			$dest = $this->destPathFromUploadFolder($uploadFolder);
560 562
			$newValue = array();
561 563
			$newValueFiles = array();
......
565 567
					$realFile = $dest.'/'.trim($file);
566 568
#					if (@is_file($realFile))	{		// Now, the refernece index should NOT look if files exist - just faithfully include them if they are in the records!
567 569
						$newValueFiles[] = array(
568
							'filename' => $file,
570
							'filename' => basename($file),
569 571
							'ID' => md5($realFile),
570 572
							'ID_absFile' => $realFile
571 573
						);	// the order should be preserved here because.. (?)
......
668 670
		 							$error = $this->setReferenceValue_dbRels($refRec,$dat['itemArray'],$newValue,$dataArray);
669 671
									if ($error)	return $error;
670 672
		 						break;
673
		 						case 'file_reference':
671 674
		 						case 'file':
672 675
		 							$this->setReferenceValue_fileRels($refRec,$dat['newValueFiles'],$newValue,$dataArray);
673 676
									if ($error)	return $error;
......
975 978
	 * @return	string		Input folder prefixed with PATH_site. No checking for existence is done. Output must be a folder without trailing slash.
976 979
	 */
977 980
	function destPathFromUploadFolder($folder)	{
981
		if (!$folder) {
982
			return substr(PATH_site, 0, -1);
983
		}
978 984
		return PATH_site.$folder;
979 985
	}
980 986

  
t3lib/class.t3lib_tceforms.php (working copy)
2005 2005

  
2006 2006
			// Acting according to either "file" or "db" type:
2007 2007
		switch((string)$config['internal_type'])	{
2008
			case 'file_reference':
2009
				$config['uploadfolder'] = '';
2010
				// Fall through
2008 2011
			case 'file':	// If the element is of the internal type "file":
2009 2012

  
2010 2013
					// Creating string showing allowed types:
......
2039 2042
						$rowCopy[$field] = $imgPath;
2040 2043

  
2041 2044
							// Icon + clickmenu:
2042
						$absFilePath = t3lib_div::getFileAbsFileName($config['uploadfolder'].'/'.$imgPath);
2045
						$absFilePath = t3lib_div::getFileAbsFileName($config['uploadfolder'] ? $config['uploadfolder'].'/'.$imgPath : $imgPath);
2043 2046

  
2044 2047
						$fI = pathinfo($imgPath);
2045 2048
						$fileIcon = t3lib_BEfunc::getFileIcon(strtolower($fI['extension']));
......
2071 2074

  
2072 2075
				if(!$disabled && !(isset($config['disable_controls']) && t3lib_div::inList($config['disable_controls'], 'upload'))) {
2073 2076
						// Adding the upload field:
2074
					if ($this->edit_docModuleUpload)	$item.='<input type="file" name="'.$PA['itemFormElName_file'].'"'.$this->formWidth().' size="60" />';
2077
					if ($this->edit_docModuleUpload && $config['uploadfolder']) {
2078
						$item .= '<input type="file" name="' . $PA['itemFormElName_file'] . '"' . $this->formWidth() . ' size="60" />';
2079
					}
2075 2080
				}
2076 2081
			break;
2077 2082
			case 'folder':	// If the element is of the internal type "folder":
......
3395 3400
						}
3396 3401
					}
3397 3402
				break;
3403
				case 'file_reference':
3398 3404
				case 'file':
3405
					while(list(,$pp)=each($itemArray))	{
3406
						$pParts = explode('|',$pp);
3407
						$uidList[]=$pUid=$pTitle = $pParts[0];
3408
						$opt[] = '<option value="' . htmlspecialchars(rawurldecode($pParts[0])) . '">' . htmlspecialchars(basename(rawurldecode($pParts[0]))) . '</option>';
3409
					}
3410
				break;
3399 3411
				case 'folder':
3400 3412
					while(list(,$pp)=each($itemArray))	{
3401 3413
						$pParts = explode('|',$pp);
3402 3414
						$uidList[]=$pUid=$pTitle = $pParts[0];
3403
						$opt[]='<option value="'.htmlspecialchars(rawurldecode($pParts[0])).'">'.htmlspecialchars(rawurldecode($pParts[0])).'</option>';
3415
						$opt[] = '<option value="' . htmlspecialchars(rawurldecode($pParts[0])) . '">' . htmlspecialchars(rawurldecode($pParts[0])) . '</option>';
3404 3416
					}
3405 3417
				break;
3406 3418
				default:
......
3438 3450
				}
3439 3451
				$aOnClick='setFormValueOpenBrowser(\''.$mode.'\',\''.($fName.'|||'.$allowed.'|'.$aOnClickInline).'\'); return false;';
3440 3452
				$icons['R'][]='<a href="#" onclick="'.htmlspecialchars($aOnClick).'">'.
3441
						'<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/insert3.gif','width="14" height="14"').' border="0" '.t3lib_BEfunc::titleAltAttrib($this->getLL('l_browse_'.($mode=='file'?'file':'db'))).' />'.
3453
						'<img' . t3lib_iconWorks::skinImg($this->backPath, 'gfx/insert3.gif', 'width="14" height="14"') . ' border="0" ' . t3lib_BEfunc::titleAltAttrib($this->getLL('l_browse_' . ($mode == 'db' ? 'db' : 'file'))) . ' />' .
3442 3454
						'</a>';
3443 3455
			}
3444 3456
			if (!$params['dontShowMoveIcons'])	{
......
3463 3475
			$clipElements = $this->getClipboardElements($allowed,$mode);
3464 3476
			if (count($clipElements))	{
3465 3477
				$aOnClick = '';
3466
	#			$counter = 0;
3467 3478
				foreach($clipElements as $elValue)	{
3468
					if ($mode=='file')	{
3469
						$itemTitle = 'unescape(\''.rawurlencode(basename($elValue)).'\')';
3470
					} else {	// 'db' mode assumed
3471
						list($itemTable,$itemUid) = explode('|', $elValue);
3472
						$itemTitle = $GLOBALS['LANG']->JScharCode(t3lib_BEfunc::getRecordTitle($itemTable, t3lib_BEfunc::getRecordWSOL($itemTable,$itemUid)));
3473
						$elValue = $itemTable.'_'.$itemUid;
3474
					}
3479
					if ($mode == 'db') {
3480
 						list($itemTable,$itemUid) = explode('|', $elValue);
3481
 						$itemTitle = $GLOBALS['LANG']->JScharCode(t3lib_BEfunc::getRecordTitle($itemTable, t3lib_BEfunc::getRecordWSOL($itemTable,$itemUid)));
3482
 						$elValue = $itemTable.'_'.$itemUid;
3483
					} else {
3484
						// 'file', 'file_reference' and 'folder' mode
3485
						$itemTitle = 'unescape(\'' . rawurlencode(basename($elValue)) . '\')';
3486
 					}
3475 3487
					$aOnClick.= 'setFormValueFromBrowseWin(\''.$fName.'\',unescape(\''.rawurlencode(str_replace('%20',' ',$elValue)).'\'),'.$itemTitle.');';
3476

  
3477
	#				$counter++;
3478
	#				if ($params['maxitems'] && $counter >= $params['maxitems'])	{	break;	}	// Makes sure that no more than the max items are inserted... for convenience.
3479 3488
				}
3480 3489
				$aOnClick.= 'return false;';
3481 3490
				$icons['R'][]='<a href="#" onclick="'.htmlspecialchars($aOnClick).'">'.
3482
						'<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/insert5.png','width="14" height="14"').' border="0" '.t3lib_BEfunc::titleAltAttrib(sprintf($this->getLL('l_clipInsert_'.($mode=='file'?'file':'db')),count($clipElements))).' />'.
3491
						'<img' . t3lib_iconWorks::skinImg($this->backPath, 'gfx/insert5.png', 'width="14" height="14"') . ' border="0" ' . t3lib_BEfunc::titleAltAttrib(sprintf($this->getLL('l_clipInsert_' . ($mode == 'db' ? 'db' : 'file')), count($clipElements))) . ' />' .
3483 3492
						'</a>';
3484 3493
			}
3485 3494
			$rOnClick = $rOnClickInline.'setFormValueManipulate(\''.$fName.'\',\'Remove\'); return false';
......
3531 3540

  
3532 3541
		if (is_object($this->clipObj))	{
3533 3542
			switch($mode)	{
3543
				case 'file_reference':
3534 3544
				case 'file':
3535 3545
					$elFromTable = $this->clipObj->elFromTable('_FILE');
3536 3546
					$allowedExts = t3lib_div::trimExplode(',', $allowed, 1);
......
5818 5828
	 * @return 	string		HTML formatted output
5819 5829
	 */
5820 5830
	function previewFieldValue($value, $config)	{
5821
		if ($config['config']['type']==='group' && $config['config']['internal_type'] === 'file')	{
5831
		if ($config['config']['type']==='group' &&
5832
				($config['config']['internal_type'] === 'file' ||
5833
				$config['config']['internal_type'] === 'file_reference')) {
5834
			// Ignore uploadfolder if internal_type is file_reference
5835
			if ($config['config']['internal_type'] === 'file_reference') {
5836
				$config['config']['uploadfolder'] = '';
5837
			}
5838

  
5822 5839
			$show_thumbs = TRUE;
5823 5840
			$table = 'tt_content';
5824 5841

  
......
5837 5854
					$rowCopy[$field] = $imgPath;
5838 5855

  
5839 5856
						// Icon + clickmenu:
5840
					$absFilePath = t3lib_div::getFileAbsFileName($config['config']['uploadfolder'].'/'.$imgPath);
5857
					$absFilePath = t3lib_div::getFileAbsFileName($config['config']['uploadfolder'] ? $config['config']['uploadfolder'].'/'.$imgPath : $imgPath);
5841 5858

  
5842 5859
					$fI = pathinfo($imgPath);
5843 5860
					$fileIcon = t3lib_BEfunc::getFileIcon(strtolower($fI['extension']));
t3lib/class.t3lib_tcemain.php (working copy)
270 270
	var $defaultValues = array();			// Array [table][fields]=value: New records are created with default values and you can set this array on the form $defaultValues[$table][$field] = $value to override the default values fetched from TCA. If ->setDefaultsFromUserTS is called UserTSconfig default values will overrule existing values in this array (thus UserTSconfig overrules externally set defaults which overrules TCA defaults)
271 271
	var $overrideValues = array();			// Array [table][fields]=value: You can set this array on the form $overrideValues[$table][$field] = $value to override the incoming data. You must set this externally. You must make sure the fields in this array are also found in the table, because it's not checked. All columns can be set by this array!
272 272
	var $alternativeFileName = array();		// Array [filename]=alternative_filename: Use this array to force another name onto a file. Eg. if you set ['/tmp/blablabal'] = 'my_file.txt' and '/tmp/blablabal' is set for a certain file-field, then 'my_file.txt' will be used as the name instead.
273
	var $alternativeFilePath = array();		// Array [filename]=alternative_filepath: Same as alternativeFileName but with relative path to the file 
273 274
	var $data_disableFields=array();		// If entries are set in this array corresponding to fields for update, they are ignored and thus NOT updated. You could set this array from a series of checkboxes with value=0 and hidden fields before the checkbox with 1. Then an empty checkbox will disable the field.
274 275
	var $suggestedInsertUids=array();		// Use this array to validate suggested uids for tables by setting [table]:[uid]. This is a dangerous option since it will force the inserted record to have a certain UID. The value just have to be true, but if you set it to "DELETE" it will make sure any record with that UID will be deleted first (raw delete). The option is used for import of T3D files when synchronizing between two mirrored servers. As a security measure this feature is available only for Admin Users (for now)
275 276

  
......
1497 1498
			// For group types:
1498 1499
		if ($tcaFieldConf['type']=='group')	{
1499 1500
			switch($tcaFieldConf['internal_type'])	{
1501
				case 'file_reference':
1500 1502
				case 'file':
1501 1503
					$valueArray = $this->checkValue_group_select_file(
1502 1504
						$valueArray,
......
1581 1583
		}
1582 1584

  
1583 1585
			// If there is an upload folder defined:
1584
		if ($tcaFieldConf['uploadfolder'])	{
1586
		if ($tcaFieldConf['uploadfolder'] && $tcaFieldConf['internal_type'] == 'file') {
1585 1587
			if (!$this->bypassFileHandling)	{	// If filehandling should NOT be bypassed, do processing:
1586 1588
					// For logging..
1587 1589
				$propArr = $this->getRecordProperties($table,$id);
......
1714 1716
				}
1715 1717
				$valueArray = $dbAnalysis->countItems();
1716 1718
			}
1719
			//store path relative to site root (if uploadfolder is not set or internal_type is file_reference)
1720
		} else {
1721
			if (count($valueArray)){
1722
				if (!$this->bypassFileHandling) {	// If filehandling should NOT be bypassed, do processing:
1723
					$propArr = $this->getRecordProperties($table, $id); // For logging..
1724
					foreach($valueArray as &$theFile){ 
1725
						
1726
						// if alernative File Path is set for the file, then it was an import
1727
						if ($this->alternativeFilePath[$theFile]){
1728
							
1729
							// don't import the file if it already exists
1730
							if (@is_file(PATH_site . $this->alternativeFilePath[$theFile])) {
1731
								$theFile = PATH_site . $this->alternativeFilePath[$theFile];
1732
							
1733
							// import the file
1734
							} elseif (@is_file($theFile)){
1735
								$dest = dirname(PATH_site . $this->alternativeFilePath[$theFile]);
1736
								if (!@is_dir($dest)) {
1737
									t3lib_div::mkdir_deep(PATH_site, dirname($this->alternativeFilePath[$theFile]) . '/');
1738
								}
1739
								
1740
								// Init:
1741
								$maxSize = intval($tcaFieldConf['max_size']);
1742
								$cmd = '';
1743
								$theDestFile = '';		// Must be cleared. Else a faulty fileref may be inserted if the below code returns an error!
1744
								$fileSize = filesize($theFile);
1745

  
1746
								if (!$maxSize || $fileSize <= ($maxSize * 1024))	{	// Check file size:
1747
										// Prepare filename:
1748
									$theEndFileName = isset($this->alternativeFileName[$theFile]) ? $this->alternativeFileName[$theFile] : $theFile;
1749
									$fI = t3lib_div::split_fileref($theEndFileName);
1750

  
1751
										// Check for allowed extension:
1752
									if ($this->fileFunc->checkIfAllowed($fI['fileext'], $dest, $theEndFileName)) {
1753
										$theDestFile = PATH_site . $this->alternativeFilePath[$theFile];
1754

  
1755
											// Write the file:
1756
										if ($theDestFile)	{
1757
											t3lib_div::upload_copy_move($theFile, $theDestFile);
1758
											$this->copiedFileMap[$theFile] = $theDestFile;
1759
											clearstatcache();
1760
											if (!@is_file($theDestFile)) $this->log($table, $id, 5, 0, 1, "Copying file '%s' failed!: The destination path (%s) may be write protected. Please make it write enabled!. (%s)", 16, array($theFile, dirname($theDestFile), $recFID), $propArr['event_pid']);
1761
										} else $this->log($table, $id, 5, 0, 1, "Copying file '%s' failed!: No destination file (%s) possible!. (%s)", 11, array($theFile, $theDestFile, $recFID), $propArr['event_pid']);
1762
									} else $this->log($table, $id, 5, 0, 1, "Fileextension '%s' not allowed. (%s)", 12, array($fI['fileext'], $recFID), $propArr['event_pid']);
1763
								} else $this->log($table, $id, 5, 0, 1, "Filesize (%s) of file '%s' exceeds limit (%s). (%s)", 13, array(t3lib_div::formatSize($fileSize), $theFile,t3lib_div::formatSize($maxSize * 1024),$recFID), $propArr['event_pid']);
1764

  
1765
									// If the destination file was created, we will set the new filename in the value array, otherwise unset the entry in the value array!
1766
								if (@is_file($theDestFile))	{
1767
									$theFile = $theDestFile; // The value is set to the new filename
1768
								} else {
1769
									unset($theFile); // The value is set to the new filename
1770
								}
1771
							}
1772
						}
1773
						$theFile = t3lib_div::fixWindowsFilePath($theFile);
1774
						if (t3lib_div::isFirstPartOfStr($theFile, PATH_site)) {
1775
							$theFile = substr($theFile, strlen(PATH_site));
1776
						}
1777
					}
1778
				}
1779
			}
1717 1780
		}
1718 1781

  
1719 1782
		return $valueArray;
......
3155 3218
	function copyRecord_procFilesRefs($conf, $uid, $value)	{
3156 3219

  
3157 3220
			// Prepend absolute paths to files:
3158
		if ($conf['type']=='group' && $conf['internal_type']=='file')	{
3221
		if ($conf['type'] == 'group' && ($conf['internal_type'] == 'file' || $conf['internal_type'] == 'file_reference')) {
3159 3222

  
3160 3223
				// Get an array with files as values:
3161 3224
			if ($conf['MM'])	{
......
3175 3238
			}
3176 3239

  
3177 3240
				// Traverse this array of files:
3178
			$uploadFolder = $conf['uploadfolder'];
3241
			$uploadFolder = $conf['internal_type'] == 'file' ? $conf['uploadfolder'] : '';
3179 3242
			$dest = $this->destPathFromUploadFolder($uploadFolder);
3180 3243
			$newValue = array();
3181 3244

  
3182 3245
			foreach($theFileValues as $file)	{
3183 3246
				if (trim($file))	{
3184
					$realFile = $dest.'/'.trim($file);
3247
					$realFile = str_replace('//', '/', $dest.'/'.trim($file));
3185 3248
					if (@is_file($realFile))	{
3186 3249
						$newValue[] = $realFile;
3187 3250
					}
......
6498 6561
		if ($TCA[$table]['columns'])	{
6499 6562
			reset($TCA[$table]['columns']);
6500 6563
			while (list($field,$configArr)=each($TCA[$table]['columns']))	{
6501
				if ($configArr['config']['type']=='group' && $configArr['config']['internal_type']=='file')	{
6502
					$listArr[]=$field;
6564
				if ($configArr['config']['type'] == 'group' &&
6565
					($configArr['config']['internal_type'] == 'file' ||
6566
					 $configArr['config']['internal_type'] == 'file_reference')) {
6567
					$listArr[] = $field;
6503 6568
				}
6504 6569
			}
6505 6570
		}
......
6667 6732
		global $TCA;
6668 6733
		t3lib_div::loadTCA($table);
6669 6734
		$uploadFolder = $TCA[$table]['columns'][$field]['config']['uploadfolder'];
6670
		if ($uploadFolder && trim($filelist))	{
6735
		if ($uploadFolder && trim($filelist) && $TCA[$table]['columns'][$field]['config']['internal_type'] == 'file') {
6671 6736
			$uploadPath = $this->destPathFromUploadFolder($uploadFolder);
6672 6737
			$fileArray = explode(',',$filelist);
6673 6738
			while (list(,$theFile)=each($fileArray))	{
typo3/sysext/impexp/class.tx_impexp.php (working copy)
783 783
				$fileRec['filesize'] = filesize($fI['ID_absFile']);
784 784
				$fileRec['filename'] = basename($fI['ID_absFile']);
785 785
				$fileRec['filemtime'] = filemtime($fI['ID_absFile']);
786
				$fileRec['relFileRef'] = substr($fI['ID_absFile'], strlen(PATH_site)); //for internal type file_reference
786 787
				if ($recordRef)	{
787 788
					$fileRec['record_ref'] = $recordRef.'/'.$fieldname;
788 789
				}
......
1167 1168
			// Temporary files stack initialized:
1168 1169
		$this->unlinkFiles = array();
1169 1170
		$this->alternativeFileName = array();
1170

  
1171
        $this->alternativeFilePath = array();
1172
        
1171 1173
			// Write records, first pages, then the rest
1172 1174
			// Fields with "hard" relations to database, files and flexform fields are kept empty during this run
1173 1175
		$this->writeRecords_pages($pid);
......
1486 1488
		$tce->dontProcessTransformations = 1;
1487 1489
		$tce->enableLogging = $this->enableLogging;
1488 1490
		$tce->alternativeFileName = $this->alternativeFileName;
1491
		$tce->alternativeFilePath = $this->alternativeFilePath;
1489 1492
		return $tce;
1490 1493
	}
1491 1494

  
......
1623 1626
				$this->unlinkFiles[] = $tmpFile;
1624 1627
				if (filesize($tmpFile)==$this->dat['files'][$fI['ID']]['filesize'])	{
1625 1628
					$this->alternativeFileName[$tmpFile] = $fI['filename'];
1626

  
1629
                    $this->alternativeFilePath[$tmpFile] = $this->dat['files'][$fI['ID']]['relFileRef'];
1630
                    
1627 1631
					return $tmpFile;
1628 1632
				} else $this->error('Error: temporary file '.$tmpFile.' had a size ('.filesize($tmpFile).') different from the original ('.$this->dat['files'][$fI['ID']]['filesize'].')',1);
1629 1633
			} else $this->error('Error: temporary file '.$tmpFile.' was not written as it should have been!',1);
......
3329 3333
if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/impexp/class.tx_impexp.php'])	{
3330 3334
	include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/impexp/class.tx_impexp.php']);
3331 3335
}
3332
?>
3336
?>
(11-11/15)