1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
<?php
/**
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
namespace Piwik\Plugins\Live\ProfileSummary;
/**
* Class ProfileSummaryAbstract
*
* This class can be implemented in a plugin to provide a new profile summary
*
* @api
*/
abstract class ProfileSummaryAbstract
{
/**
* Visitor profile information (will be automatically set)
*
* @var array
*/
protected $profile = [];
/**
* Set profile information
*
* @param array $profile
*/
public function setProfile($profile)
{
$this->profile = $profile;
}
/**
* Returns the unique ID
*
* @return string
*/
public function getId()
{
return static::class;
}
/**
* Returns the descriptive name
*
* @return string
*/
abstract public function getName();
/**
* Renders and returns the summary
*
* **Example**
*
* public function render() {
* if (empty($this->profile['crmData'])) {
* return '';
* }
*
* $view = new View('@pluginName/summary.twig');
* $view->crmData = $this->profile['crmData];
* return $view->render();
* }
*
* @return string
*/
abstract public function render();
/**
* Returns order indicator used to sort all summaries before displaying them
*
* @return int
*/
abstract public function getOrder();
}
|