Esempio n. 1
0
 /**
  * Increments conversion post day counter
  *
  * @param int $id Post ID.
  * @param array $fields Post fields.
  * @return void
  */
 public static function onPostAdd($id, $fields)
 {
     if (Loader::includeModule('conversion')) {
         $context = DayContext::getInstance();
         $context->addDayCounter('blog_post_add_day', 1);
     }
 }
Esempio n. 2
0
 /**
  * Increments conversion banner click day counter
  *
  * @param int $id Banner ID.
  * @param array $fields Banner fields.
  * @return void
  */
 public static function onBannerClick($id, $fields)
 {
     if (Loader::includeModule('conversion')) {
         $context = DayContext::getInstance();
         $context->addDayCounter('advertising_banner_click_day', 1);
     }
 }
Esempio n. 3
0
 /**
  * Increments conversion post day counter
  *
  * @param int $id Topic ID.
  * @param array $message Message fields.
  * @param array $topicInfo Message TOPIC_INFO field.
  * @param array $forumInfo Message FORUM_INFO field.
  * @param array $fields Message fields used to insert.
  * @return void
  */
 public static function onMessageAdd($id, $message, $topicInfo, $forumInfo, $fields)
 {
     if (Loader::includeModule('conversion')) {
         $context = DayContext::getInstance();
         $context->addDayCounter('forum_post_add_day', 1);
     }
 }
Esempio n. 4
0
 public static function OnOrderAdd($id, array $fields)
 {
     if (Loader::includeModule('conversion')) {
         $context = DayContext::getInstance();
         $context->addDayCounter('sale_order_add_day', 1);
         $context->addCurrencyCounter('sale_order_sum_add', $fields['PRICE'], $fields['CURRENCY']);
         $context->attachEntityItem('sale_order', $id);
     }
 }
Esempio n. 5
0
 public static function OnProlog()
 {
     DayContext::getInstance();
     //
     //		$asset = Asset::getInstance();
     //
     //		$asset->addString('
     //		<script type="text/javascript">
     //			(window.BX||top.BX).message({"BITRIX_CONVERSION_VARNAME":"'.DayContext::getVarName().'"});
     //		</script>
     //		', true, AssetLocation::AFTER_CSS);
     //
     //		$asset->addJs('/bitrix/js/conversion/ajax_counter.js');
 }
Esempio n. 6
0
    public static function onProlog()
    {
        static $done = false;
        if (!$done) {
            $done = true;
            DayContext::getInstance();
            // For composite site this script must not be changing often!!!
            Asset::getInstance()->addString('<script type="text/javascript">
					(function () {
						"use strict";

						var counter = function ()
						{
							var cookie = (function (name) {
								var parts = ("; " + document.cookie).split("; " + name + "=");
								if (parts.length == 2) {
									try {return JSON.parse(decodeURIComponent(parts.pop().split(";").shift()));}
									catch (e) {}
								}
							})("' . DayContext::getVarName() . '");

							if (! cookie || cookie.EXPIRE < BX.message("SERVER_TIME"))
							{
								var request = new XMLHttpRequest();
								request.open("POST", "/bitrix/tools/conversion/ajax_counter.php", true);
								request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
								request.send(
									"SITE_ID="      + encodeURIComponent(BX.message("SITE_ID")) + "&" +
									"sessid="       + encodeURIComponent(BX.bitrix_sessid())    + "&" +
									"HTTP_REFERER=" + encodeURIComponent(document.referrer)
								);
							}
						};

						if (window.frameRequestStart === true)
							BX.addCustomEvent("onFrameDataReceived", counter);
						else
							BX.ready(counter);
					})();
				</script>', false, AssetLocation::AFTER_JS_KERNEL);
        }
    }
Esempio n. 7
0
 public static function onProlog()
 {
     DayContext::getInstance();
 }