本文整理汇总了PHP中FrontendModel::addURLParameters方法的典型用法代码示例。如果您正苦于以下问题:PHP FrontendModel::addURLParameters方法的具体用法?PHP FrontendModel::addURLParameters怎么用?PHP FrontendModel::addURLParameters使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FrontendModel
的用法示例。
在下文中一共展示了FrontendModel::addURLParameters方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: addEmail
//.........这里部分代码省略.........
throw new FrontendException('Invalid e-mail address for sender.');
}
if (!empty($email['reply_to_email']) && !SpoonFilter::isEmail($email['reply_to_email'])) {
throw new FrontendException('Invalid e-mail address for reply-to address.');
}
// build array
$email['subject'] = SpoonFilter::htmlentitiesDecode($subject);
if ($isRawHTML) {
$email['html'] = $template;
} else {
$email['html'] = self::getTemplateContent($template, $variables);
}
if ($plainText !== null) {
$email['plain_text'] = $plainText;
}
$email['created_on'] = FrontendModel::getUTCDate();
// init var
$matches = array();
// get internal links
preg_match_all('|href="/(.*)"|i', $email['html'], $matches);
// any links?
if (!empty($matches[0])) {
// init vars
$search = array();
$replace = array();
// loop the links
foreach ($matches[0] as $key => $link) {
$search[] = $link;
$replace[] = 'href="' . SITE_URL . '/' . $matches[1][$key] . '"';
}
// replace
$email['html'] = str_replace($search, $replace, $email['html']);
}
// init var
$matches = array();
// get internal urls
preg_match_all('|src="/(.*)"|i', $email['html'], $matches);
// any links?
if (!empty($matches[0])) {
// init vars
$search = array();
$replace = array();
// loop the links
foreach ($matches[0] as $key => $link) {
$search[] = $link;
$replace[] = 'src="' . SITE_URL . '/' . $matches[1][$key] . '"';
}
// replace
$email['html'] = str_replace($search, $replace, $email['html']);
}
// init var
$matches = array();
// match links
preg_match_all('/href="(http:\\/\\/(.*))"/iU', $email['html'], $matches);
// any links?
if (isset($matches[0]) && !empty($matches[0])) {
// init vars
$searchLinks = array();
$replaceLinks = array();
// loop old links
foreach ($matches[1] as $i => $link) {
$searchLinks[] = $matches[0][$i];
$replaceLinks[] = 'href="' . FrontendModel::addURLParameters($link, $utm) . '"';
}
// replace
$email['html'] = str_replace($searchLinks, $replaceLinks, $email['html']);
}
// attachments added
if (!empty($attachments)) {
// add attachments one by one
foreach ($attachments as $attachment) {
// only add existing files
if (SpoonFile::exists($attachment)) {
$email['attachments'][] = $attachment;
}
}
// serialize :)
if (!empty($email['attachments'])) {
$email['attachments'] = serialize($email['attachments']);
}
}
// set send date
if ($queue) {
if ($sendOn === null) {
$email['send_on'] = FrontendModel::getUTCDate('Y-m-d H') . ':00:00';
} else {
$email['send_on'] = FrontendModel::getUTCDate('Y-m-d H:i:s', (int) $sendOn);
}
}
// insert the email into the database
$id = FrontendModel::getDB(true)->insert('emails', $email);
// trigger event
FrontendModel::triggerEvent('core', 'after_email_queued', array('id' => $id));
// if queue was not enabled, send this mail right away
if (!$queue) {
self::send($id);
}
// return
return $id;
}
示例2: setUrl
/**
* Set the url
*
* @param string $url The url to assiociate the item with.
*/
public function setUrl($url)
{
// redefine var
$url = (string) $url;
// if link doesn't start with http, we prepend the URL of the site
if (substr($url, 0, 7) != 'http://') {
$url = SITE_URL . $url;
}
$url = FrontendModel::addURLParameters($url, $this->utm);
$url = htmlspecialchars_decode($url);
// call parent
parent::setUrl($url);
}
示例3: processLinks
/**
* Process links, will prepend SITE_URL if needed and append UTM-parameters
*
* @return string
* @param string $content The content to process.
*/
public function processLinks($content)
{
// redefine
$content = (string) $content;
// replace URLs and images
$search = array('href="/', 'src="/');
$replace = array('href="' . SITE_URL . '/', 'src="' . SITE_URL . '/');
// replace links to files
$content = str_replace($search, $replace, $content);
// init var
$matches = array();
// match links
preg_match_all('/href="(http:\\/\\/(.*))"/iU', $content, $matches);
// any links?
if (isset($matches[1]) && !empty($matches[1])) {
// init vars
$searchLinks = array();
$replaceLinks = array();
// loop old links
foreach ($matches[1] as $i => $link) {
$searchLinks[] = $matches[0][$i];
$replaceLinks[] = 'href="' . FrontendModel::addURLParameters($link, $this->utm) . '"';
}
// replace
$content = str_replace($searchLinks, $replaceLinks, $content);
}
// return content
return $content;
}