Advertisement
vanchelo

Untitled

Nov 17th, 2012
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.24 KB | None | 0 0
  1. /**
  2. * Evaluates the message and returns modifications for inline images and backgrounds
  3. *
  4. * @access private
  5. * @param string $message
  6. * @param string $basedir
  7. * @return string $message
  8. * */
  9. private function MsgHTML($message, $basedir = MODX_BASE_PATH) {
  10.     preg_match_all("/(src)=\"(.*)\"/Ui", $message, $images);
  11.     if(isset($images[2])) {
  12.         foreach($images[2] as $i => $url) {
  13.             // do not change urls for absolute images (thanks to corvuscorax)
  14.             if (!preg_match('/^[A-z][A-z]*:\/\//',$url)) {
  15.                 $filename = basename($url);
  16.                 $directory = dirname($url);
  17.                 ($directory == '.')?$directory='':'';
  18.                 $cid = 'cid:' . md5($filename);
  19.                 $fileParts = preg_split("/\./", $filename);
  20.                 $ext = $fileParts[1];
  21.                 $mimeType = $this->modx->mail->mailer->_mime_types($ext);
  22.                 if ( strlen($basedir) > 1 && substr($basedir,-1) != '/') { $basedir .= '/'; }
  23.                 if ( strlen($directory) > 1 && substr($directory,-1) != '/') { $directory .= '/'; }
  24.                 if ( $this->modx->mail->mailer->AddEmbeddedImage($basedir.$directory.$filename, md5($filename), $filename, 'base64',$mimeType) ) {
  25.                 $message = preg_replace("/".$images[1][$i]."=\"".preg_quote($url, '/')."\"/Ui", $images[1][$i]."=\"".$cid."\"", $message);
  26.                 }
  27.             }
  28.         }
  29.     }
  30.     return $message;
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement