403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/vote/analytics/dist/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/vote/analytics/dist/analytics.bundle.js
/* eslint-disable */
this.BX = this.BX || {};
(function (exports,main_core,ui_analytics) {
	'use strict';

	const AnalyticsEvents = Object.freeze({
	  publishPoll: 'publish_poll',
	  finishPoll: 'finish_poll',
	  vote: 'vote',
	  cancelVote: 'cancel_vote',
	  copyPollLink: 'copy_poll_link',
	  setOptions: 'set_options',
	  isMultipleChoice: 'is_multiple_choice',
	  setCancelVote: 'set_cancel_vote',
	  setTimeLimit: 'set_time_limit',
	  downloadResult: 'download_result'
	});
	const AnalyticsCategories = Object.freeze({
	  pollSettings: 'poll_settings',
	  polls: 'polls'
	});

	const getAnalyticsOptions = async (dialogId, messageId) => {
	  try {
	    const {
	      Analytics: ImAnalytics
	    } = await main_core.Runtime.loadExtension('im.v2.lib.analytics');
	    const analyticsInstance = ImAnalytics.getInstance();
	    const options = analyticsInstance.vote.getAnalyticsOptions(dialogId);
	    options.p3 = `pollId_${messageId}`;
	    return options;
	  } catch (ex) {
	    console.error(ex);
	    return null;
	  }
	};
	const publishVote = (anonymousVote, messageId) => {
	  const {
	    searchParams
	  } = new URL(document.location.href);
	  const options = {
	    tool: searchParams.get('st[tool]'),
	    event: AnalyticsEvents.publishPoll,
	    type: anonymousVote ? 'anonymous' : 'public',
	    category: searchParams.get('st[category]'),
	    p1: searchParams.get('st[p1]'),
	    p2: searchParams.get('st[p2]'),
	    p3: `pollId_${messageId}`,
	    p5: searchParams.get('st[p5]')
	  };
	  if (searchParams.has('st[p4]')) {
	    options.p4 = searchParams.get('st[p4]');
	  }
	  ui_analytics.sendData(options);
	};
	const sendDataByImOptions = async (dialogId, messageId, event, type) => {
	  const analyticsOptions = await getAnalyticsOptions(dialogId, messageId);
	  if (!analyticsOptions) {
	    return;
	  }
	  analyticsOptions.event = event;
	  if (event === AnalyticsEvents.finishPoll) {
	    ui_analytics.sendData({
	      ...analyticsOptions,
	      type
	    });
	    return;
	  }
	  const {
	    p4,
	    p5,
	    ...rest
	  } = analyticsOptions;
	  if (type) {
	    rest.type = type;
	  }
	  ui_analytics.sendData(rest);
	};
	const downloadResult = messageId => {
	  const options = {
	    tool: 'im',
	    event: AnalyticsEvents.downloadResult,
	    category: AnalyticsCategories.polls,
	    p3: `pollId_${messageId}`
	  };
	  ui_analytics.sendData(options);
	};
	const setupVote = (optionValue, event, messageId) => {
	  let type = '';
	  switch (event) {
	    case AnalyticsEvents.isMultipleChoice:
	      type = optionValue ? 'Y' : 'N';
	      break;
	    case AnalyticsEvents.setCancelVote:
	      type = optionValue ? 'Y' : 'N';
	      break;
	    case AnalyticsEvents.setTimeLimit:
	      type = optionValue ? 'limited' : '';
	      break;
	    case AnalyticsEvents.setOptions:
	      type = optionValue > 2 ? 'multiple' : 'two';
	      break;
	    default:
	      break;
	  }
	  const options = {
	    tool: 'im',
	    category: AnalyticsCategories.pollSettings,
	    event,
	    type,
	    p3: `pollId_${messageId}`
	  };
	  ui_analytics.sendData(options);
	};
	const VoteAnalytics = {
	  publishVote,
	  downloadResult,
	  setupVote,
	  vote: (dialogId, messageId) => {
	    sendDataByImOptions(dialogId, messageId, AnalyticsEvents.vote);
	  },
	  revokeVote: (dialogId, messageId) => {
	    sendDataByImOptions(dialogId, messageId, AnalyticsEvents.cancelVote);
	  },
	  completeVote: (dialogId, messageId) => {
	    sendDataByImOptions(dialogId, messageId, AnalyticsEvents.finishPoll, 'user');
	  },
	  copyLink: (dialogId, messageId, type) => {
	    sendDataByImOptions(dialogId, messageId, AnalyticsEvents.copyPollLink, type);
	  }
	};

	exports.VoteAnalytics = VoteAnalytics;
	exports.AnalyticsEvents = AnalyticsEvents;

}((this.BX.Vote = this.BX.Vote || {}),BX,BX.UI.Analytics));
//# sourceMappingURL=analytics.bundle.js.map

Youez - 2016 - github.com/yon3zu
LinuXploit