Skip to content

Commit

Permalink
Merge pull request #3 from tomsommer/patch-1
Browse files Browse the repository at this point in the history
Improve list-unsubscribe parsing
  • Loading branch information
Steven Sullivan committed Aug 25, 2019
2 parents 08679a4 + 95b9bb1 commit d09f442
Showing 1 changed file with 5 additions and 10 deletions.
15 changes: 5 additions & 10 deletions easy_unsubscribe.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,11 @@ public function message_headers($p)
$this->message_headers_done = true;

$ListUnsubscribe = $p['headers']->others['list-unsubscribe'];

preg_match('%\bhttps?://[^,\s()<>]+(?:\([\w\d]+\)|([^,[:punct:]\s]|/))%i', $ListUnsubscribe, $UnsubURL);
preg_match('/mailto:(.*?)>/', $ListUnsubscribe, $UnsubEmail);

if(!empty($UnsubURL[0]))
$this->unsubscribe_img = '<a class="easy_unsubscribe_link tooltip-right" data-tooltip="Unsubscribe via URL" href="'.$UnsubEmail[0].'" target="_blank" onclick="return confirm(\'Are you sure you want to unsubscribe?\');"><img src="plugins/easy_unsubscribe/icon.png" alt="Unsubscribe" /></a>';

if(!empty($UnsubEmail[1]))
$this->unsubscribe_img .= '<a class="easy_unsubscribe_link tooltip-right" data-tooltip="Unsubscribe via Email" href="'.$UnsubEmail[1].'" target="_blank" onclick="return confirm(\'Are you sure you want to unsubscribe?\');"><img src="plugins/easy_unsubscribe/icon.png" alt="Unsubscribe" /></a>';

if ( preg_match_all('/<(.+)>/mU', $ListUnsubscribe, $items, PREG_PATTERN_ORDER) ) {
foreach ( $items[1] as $uri ) {
$this->unsubscribe_img .= '<a class="easy_unsubscribe_link tooltip-right" data-tooltip="Click to unsubscribe" href="'. htmlentities($uri) .'" target="_blank" onclick="return confirm(\'Are you sure you want to unsubscribe?\');"><img src="plugins/easy_unsubscribe/icon.png" alt="Unsubscribe" /></a>';
}
}
}

if(isset($p['output']['subject']))
Expand Down

0 comments on commit d09f442

Please sign in to comment.