当前位置: 首页>>代码示例>>PHP>>正文


PHP FrontendModel::addURLParameters方法代码示例

本文整理汇总了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;
 }
开发者ID:netconstructor,项目名称:forkcms,代码行数:101,代码来源:mailer.php

示例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);
 }
开发者ID:naujasdizainas,项目名称:forkcms,代码行数:18,代码来源:ical.php

示例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;
 }
开发者ID:netconstructor,项目名称:forkcms,代码行数:35,代码来源:rss.php


注:本文中的FrontendModel::addURLParameters方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。