Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/modules/sale/lib/internals/analytics/
Upload File :
Current File : /var/www/homesaver/www/bitrix/modules/sale/lib/internals/analytics/provider.php

<?php
namespace Bitrix\Sale\Internals\Analytics;

use Bitrix\Main\Loader;
use Bitrix\Main\Type\DateTime;

/**
 * Class Provider
 * @package Bitrix\Sale\Internals\Analytics
 * @internal
 */
abstract class Provider
{
	/**
	 * @return string
	 */
	abstract public static function getCode(): string;

	/**
	 * @return bool
	 */
	abstract protected function needProvideData(): bool;

	/**
	 * @return array
	 */
	abstract protected function getProviderData(): array;

	/**
	 * @return array
	 */
	public function getData(): array
	{
		$result = [];

		if ($this->needProvideData())
		{
			$data = $this->getProviderData();
			if ($data)
			{
				$result = $data;
			}
		}

		return $result;
	}
}