예제 #1
0
 /**
  * Assign UTM parameters to an individual URL
  * @since Version 3.10.0
  * @param \Railpage\Newsletters\Newsletter $Newsletter
  * @param string $url
  * @return string
  */
 public static function CreateUTMParametersForLink(Newsletter $Newsletter, $url)
 {
     if (is_array($url)) {
         $url = $url['url'];
     }
     $utm = ["utm_source=newsletter", "utm_medium=email", sprintf("utm_campaign=%s", ContentUtility::generateUrlSlug($Newsletter->subject))];
     $parts = parse_url($url);
     if (!isset($parts['query'])) {
         $url .= "?" . implode("&", $utm);
         return $url;
     }
     $parts['query'] = array_merge(explode("&", $parts['query']), $utm);
     return ContentUtility::unparse_url($parts);
 }