Vault fixed enough. Still has a nasty error sometimes that I cant figure out. Will come back to it
This commit is contained in:
parent
38e512a4bb
commit
9b671b11a6
54
vendors/shells/vault.php
vendored
54
vendors/shells/vault.php
vendored
|
|
@ -31,6 +31,7 @@ class VaultShell extends Shell {
|
|||
echo "Number of messages to Process ".$number_of_messages."\n";
|
||||
/* Loop through the messages and sort them into ones to be processed or discarded */
|
||||
for ($i=1; $i <= $number_of_messages; $i++) {
|
||||
echo "Checking msg number $i\n";
|
||||
$this_header = imap_headerinfo($mbox, $i);
|
||||
$message = $this->getMessage($mbox, $i, $this_header);
|
||||
$enquiry = $this->checkIfValidEnquiry($message['subject'], $testing);
|
||||
|
|
@ -77,7 +78,7 @@ class VaultShell extends Shell {
|
|||
}
|
||||
|
||||
//Sanitize::clean($this->data);
|
||||
if( ($this->data['Email']['body'] != "") || ($this->data['Email']['plainbody'] != "") ) {
|
||||
if( ($this->data['Email']['body'] != "") || ($this->data['Email']['plainbody'] != "") || ($attachments != 1) ) {
|
||||
|
||||
if($this->Email->save($this->data)) {
|
||||
$email_id = $this->Email->id;
|
||||
|
|
@ -100,7 +101,7 @@ class VaultShell extends Shell {
|
|||
echo "Something went wrong saving the file to the DB\n";
|
||||
}
|
||||
}
|
||||
unlink($email_dir.'/'.$attachment['name']); #Delete this attachment now we're done with it.
|
||||
//unlink($email_dir.'/'.$attachment['name']); #Delete this attachment now we're done with it.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -112,15 +113,14 @@ class VaultShell extends Shell {
|
|||
|
||||
|
||||
|
||||
if($attachments != 1) {
|
||||
// if($attachments != 1) {
|
||||
// $this->clearEmailAttachmentDirs($email_dir, $temp_filename, $attachments);
|
||||
unlink($email_dir.'/'.$temp_filename); #remove the temp email. start again
|
||||
}
|
||||
//unlink($email_dir.'/'.$temp_filename); #remove the temp email. start again
|
||||
// }
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
else {
|
||||
echo 'Unable to save the Email\n';
|
||||
}
|
||||
|
|
@ -145,6 +145,10 @@ class VaultShell extends Shell {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
$this->rmdirr($email_dir); //delete all attachments from the working directory. Easiest way to stop random files persisting
|
||||
|
||||
|
||||
}
|
||||
/* Finished working with the IMAP server. Make the changes and close the connection */
|
||||
imap_expunge($mbox);
|
||||
|
|
@ -165,7 +169,6 @@ function fetchBodyAttachments($mailbox, $msg_number, $filename, $email_dir) {
|
|||
imap_savebody($mailbox, $email_file, $msg_number);
|
||||
$command = "/usr/local/bin/ripmime -i $email_file -d $email_dir -v --verbose-contenttype --paranoid --prefix $msg_number";
|
||||
|
||||
// $command = "/usr/local/bin/ripmime -i $email_file -d $email_dir --verbose-contenttype --paranoid --prefix $msg_number";
|
||||
$output = array();
|
||||
exec($command, $output, $status);
|
||||
|
||||
|
|
@ -291,6 +294,43 @@ function checkIfValidEnquiry($subject, $testing) {
|
|||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Delete a file, or a folder and its contents (recursive algorithm)
|
||||
*
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version 1.0.3
|
||||
* @link http://aidanlister.com/repos/v/function.rmdirr.php
|
||||
* @param string $dirname Directory to delete
|
||||
* @return bool Returns TRUE on success, FALSE on failure
|
||||
*/
|
||||
function rmdirr($dirname)
|
||||
{
|
||||
// Sanity check
|
||||
if (!file_exists($dirname)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Simple delete for a file
|
||||
if (is_file($dirname) || is_link($dirname)) {
|
||||
return unlink($dirname);
|
||||
}
|
||||
|
||||
// Loop through the folder
|
||||
$dir = dir($dirname);
|
||||
while (false !== $entry = $dir->read()) {
|
||||
// Skip pointers
|
||||
if ($entry == '.' || $entry == '..') {
|
||||
continue;
|
||||
}
|
||||
// Recurse
|
||||
$this->rmdirr($dirname . DIRECTORY_SEPARATOR . $entry);
|
||||
}
|
||||
// Clean up
|
||||
$dir->close();
|
||||
return; //removing the last recursion - should remove the deletion of the last directory I hope. Lazy hack using this but should work
|
||||
//rmdir($dirname);
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
Loading…
Reference in a new issue