Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Check for attachments
- if(isset($results['Related']) || isset($results['Attachments']))
- {
- function walk_func(&$el, $key, $params)
- {
- global $database;
- $email_id = $params[0];
- $last_email_id = $params[1];
- $last_email_message_id = $params[2];
- $fromEmail = $params[3];
- $new_email = $params[4];
- /*
- # Debug
- print_r($params);
- echo "Email ID: ".$email_id."\n";
- echo "Last Email ID: ".$last_email_id."\n";
- echo "Last Email Message ID: ".$last_email_message_id."\n";
- echo "From Email: ".$fromEmail."\n";
- echo "New Email: ".$new_email."\n";
- */
- $file_data = $el['Data'];
- $filename = $el['FileName'];
- $filename = preg_replace('/[^0-9,a-z,\.,_]*/i', '', str_replace(' ', '_', $filename));
- if($new_email == true)
- {
- $database->query('INSERT INTO email_attachments (email_id, file_name, created) VALUES (?, ?, NOW())', array($last_email_id, $filename));
- }
- else {
- $database->query('INSERT INTO email_attachments (email_id, reply_id, file_name, created) VALUES (?, ?, ?, NOW())', array($email_id, $last_email_message_id, $filename));
- }
- $last_attachment_id = $database->lastInsertId();
- # Write the data to the file
- if(!is_dir(ATTACHMENTS.$fromEmail.DS.$last_email_id.DS.$last_attachment_id))
- {
- mkdir(ATTACHMENTS.$fromEmail.DS.$last_email_id.DS.$last_attachment_id.DS, 0755, true);
- }
- $fp = fopen(ATTACHMENTS.$fromEmail.DS.$last_email_id.DS.$last_attachment_id.DS.$filename, 'w');
- $written = fwrite($fp, $file_data);
- fclose($fp);
- $database->query('UPDATE email_attachments SET file_size = :filesize WHERE id = :lastattachmentid', array(':filesize' => filesize(ATTACHMENTS.$fromEmail.DS.$last_email_id.DS.$last_attachment_id.DS.$filename), ':lastattachmentid' => $last_attachment_id));
- };
- $data = array($email_id, $last_email_id, $last_email_message_id, $fromEmail, $new_email);
- if(isset($results['Related']))
- {
- array_walk($results['Related'], 'walk_func', $data);
- }
- if(isset($results['Attachments']))
- {
- array_walk($results['Attachments'], 'walk_func', $data);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement