/**
  * delete file when record is deleted
  */
 function processCmdmap_preProcess($command, $table, $id, $value, $tce)
 {
     global $FILEMOUNTS, $BE_USER, $TYPO3_CONF_VARS;
     if ($table === 'tx_dam') {
         if ($rows = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('*', 'tx_dam', 'uid=' . $id, '', '', 1, 'uid')) {
             $row = $rows[$id];
             switch ($command) {
                 // delete the file when the record is deleted
                 case 'delete':
                     require_once PATH_t3lib . 'class.t3lib_basicfilefunc.php';
                     require_once PATH_t3lib . 'class.t3lib_extfilefunc.php';
                     $filepath = tx_dam::file_absolutePath($row);
                     if (@is_file($filepath)) {
                         $cmd = array();
                         $cmd['delete'][0]['data'] = $filepath;
                         // Initializing:
                         $tce->fileProcessor = t3lib_div::makeInstance('t3lib_extFileFunctions');
                         $tce->fileProcessor->init($FILEMOUNTS, $TYPO3_CONF_VARS['BE']['fileExtensions']);
                         $tce->fileProcessor->init_actionPerms(tx_dam::getFileoperationPermissions());
                         $tce->fileProcessor->dontCheckForUnique = $tce->overwriteExistingFiles ? 1 : 0;
                         // Checking referer / executing:
                         $refInfo = parse_url(t3lib_div::getIndpEnv('HTTP_REFERER'));
                         $httpHost = t3lib_div::getIndpEnv('TYPO3_HOST_ONLY');
                         if ($httpHost != $refInfo['host'] && $tce->vC != $BE_USER->veriCode() && !$TYPO3_CONF_VARS['SYS']['doNotCheckReferer']) {
                             $tce->fileProcessor->writeLog(0, 2, 1, 'Referer host "%s" and server host "%s" did not match!', array($refInfo['host'], $httpHost));
                         } else {
                             $tce->fileProcessor->start($cmd);
                             $tce->fileProcessor->processData();
                         }
                     }
                     break;
                 default:
                     break;
             }
         }
     }
 }
 /**
  * Registering Incoming data
  *
  * @param	array		$file: Command map. Default: t3lib_div::_GP('file')
  * @return	string	$this->error
  */
 function init($file = '')
 {
     global $FILEMOUNTS, $TYPO3_CONF_VARS, $BE_USER;
     // GP vars:
     $this->file = is_array($file) ? $file : t3lib_div::_GP('file');
     $this->overwriteExistingFiles = t3lib_div::_GP('overwriteExistingFiles');
     // Initializing:
     # $this->fileProcessor = t3lib_div::makeInstance('t3lib_extFileFunctions');
     $this->fileProcessor = t3lib_div::makeInstance('tx_dam_extFileFunctions');
     $this->fileProcessor->init($FILEMOUNTS, $TYPO3_CONF_VARS['BE']['fileExtensions']);
     $this->fileProcessor->init_actionPerms(tx_dam::getFileoperationPermissions());
     $this->fileProcessor->dontCheckForUnique = $this->overwriteExistingFiles ? 1 : 0;
     return $this->error;
 }