====== Store mailscanner attachments only once ======
If you use the mailscanner in vtigercrm 6 you probably recognized every mail attachment is stored multiple times in documents.
This isn't necessary.
To modify this, please apply the following modification
==== File: /modules/Settings/MailConverter/handlers/MailScannerAction.php ====
** Search **
var $STORAGE_FOLDER = 'storage/mailscanner/';
** Insert after **
private $_notesId = array();
** Search **
function __CreateTicket($mailscanner, $mailrecord) {
** Insert after **
$this->_notesId = array();
** Search **
// Create document record
$document = new Documents();
$document->column_fields['notes_title'] = $filename;
$document->column_fields['filename'] = $filename;
$document->column_fields['filesize'] = mb_strlen($filecontent, '8bit');
$document->column_fields['filestatus'] = 1;
$document->column_fields['filelocationtype'] = 'I';
$document->column_fields['folderid'] = 1; // Default Folder
$document->column_fields['assigned_user_id'] = $userid;
$document->save('Documents');
** replace these lines with **
if(!isset($this->_notesId[$filename])) {
// Create document record
$document = new Documents();
$document->column_fields['notes_title'] = $filename;
$document->column_fields['filename'] = $filename;
$document->column_fields['filesize'] = mb_strlen($filecontent, '8bit');
$document->column_fields['filestatus'] = 1;
$document->column_fields['filelocationtype'] = 'I';
$document->column_fields['folderid'] = 1; // Default Folder
$document->column_fields['assigned_user_id'] = $userid;
$document->save('Documents');
$this->_notesId[$filename] = $document->id;
} else {
$document = CRMEntity::getInstance('Documents');
$document->retrieve_entity_info($this->_notesId, 'Documents');
$document->id = $this->_notesId[$filename];
}