示例#1
0
 protected function makeUrl()
 {
     /** @var \Bitrix\Main\UI\PageNavigation $nav */
     $nav = $this->arParams["~NAV_OBJECT"];
     if ($this->arParams["~BASE_LINK"] != '') {
         $uri = new \Bitrix\Main\Web\Uri($this->arParams["~BASE_LINK"]);
     } else {
         $uri = new \Bitrix\Main\Web\Uri($this->request->getRequestUri());
         $uri->deleteParams(\Bitrix\Main\HttpRequest::getSystemParameters());
         $nav->clearParams($uri, $this->arParams["SEF_MODE"]);
     }
     $this->arResult["URL"] = $uri->getUri();
     $this->arResult["URL_TEMPLATE"] = $nav->addParams($uri, $this->arParams["SEF_MODE"], "--page--", count($this->arResult["PAGE_SIZES"]) > 1 ? "--size--" : null)->getUri();
 }
示例#2
0
 /**
  * Do click actions
  *
  * @param $recipientId
  * @param $url
  * @return void
  * @throws \Bitrix\Main\ArgumentException
  */
 public static function click($recipientId, $url)
 {
     $postingContactPrimary = array('ID' => $recipientId);
     $recipient = PostingRecipientTable::getRowById($postingContactPrimary);
     if ($recipient && $recipient['ID']) {
         $read = PostingReadTable::getRowById(array('POSTING_ID' => $recipient['POSTING_ID'], 'RECIPIENT_ID' => $recipient['ID']));
         if ($read === null) {
             static::read($recipientId);
         }
         $postingDb = PostingTable::getList(array('select' => array('ID'), 'filter' => array('ID' => $recipient['POSTING_ID'])));
         if ($postingDb->fetch()) {
             $uri = new \Bitrix\Main\Web\Uri($url);
             $fixedUrl = $uri->deleteParams(array('bx_sender_conversion_id'))->getLocator();
             $addClickDb = PostingClickTable::add(array('POSTING_ID' => $recipient['POSTING_ID'], 'RECIPIENT_ID' => $recipient['ID'], 'URL' => $fixedUrl));
             if ($addClickDb->isSuccess()) {
                 // send event
                 $eventData = array('URL' => $url, 'URL_FIXED' => $fixedUrl, 'CLICK_ID' => $addClickDb->getId(), 'RECIPIENT' => $recipient);
                 $event = new Event('sender', 'OnAfterRecipientClick', array($eventData));
                 $event->send();
             }
         }
     }
 }