![]() Server : LiteSpeed System : Linux premium84.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : claqxcrl ( 523) PHP Version : 8.1.32 Disable Function : NONE Directory : /home/claqxcrl/anfangola.com/wp-content/plugins/matomo/app/plugins/Tour/Engagement/ |
<?php /** * Matomo - free/libre analytics platform * * @link https://matomo.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * */ namespace Piwik\Plugins\Tour\Engagement; use Piwik\API\Request; use Piwik\Piwik; class Levels { /** * @var array */ private $challenges = array(); private function getChallenges() { if (empty($this->challenges)) { $this->challenges = Request::processRequest('Tour.getChallenges', [], []); } return $this->challenges; } public function getNumChallengesCompleted() { $challenges = $this->getChallenges(); $completed = 0; foreach ($challenges as $challenge) { if ($challenge['isSkipped'] || $challenge['isCompleted']) { $completed++; } } return $completed; } public function getCurrentLevel() { $completed = $this->getNumChallengesCompleted(); $current = 0; foreach ($this->getLevels() as $threshold => $level) { if ($completed >= $threshold) { $current++; } } return $current; } public function getCurrentLevelName() { $completed = $this->getNumChallengesCompleted(); $current = ''; foreach ($this->getLevels() as $threshold => $level) { if ($completed >= $threshold) { $current = $level; } } return $current; } public function getNextLevelName() { $completed = $this->getNumChallengesCompleted(); foreach ($this->getLevels() as $threshold => $level) { if ($completed < $threshold) { return $level; } } } public function getNumLevels() { $levels = $this->getLevels(); return count($levels); } public function getNumChallengesNeededToNextLevel() { $completed = $this->getNumChallengesCompleted(); foreach ($this->getLevels() as $threshold => $level) { if ($completed < $threshold) { return $threshold - $completed; } } } public function getCurrentDescription() { $login = Piwik::getCurrentUserLogin(); $numChallengesCompleted = $this->getNumChallengesCompleted(); $numChallengesTotal = $this->getNumChallengesTotal(); if ($numChallengesCompleted <= $numChallengesTotal / 4) { return Piwik::translate('Tour_Part1Title', $login); } if ($numChallengesCompleted <= $numChallengesTotal / 2) { return Piwik::translate('Tour_Part2Title', $login); } if ($numChallengesCompleted <= $numChallengesTotal / 1.333) { return Piwik::translate('Tour_Part3Title', $login); } return Piwik::translate('Tour_Part4Title', $login); } private function getNumChallengesTotal() { $challenges = $this->getChallenges(); return count($challenges); } public function getLevels() { $numChallengesTotal = $this->getNumChallengesTotal(); $levels = array(0 => Piwik::translate('Tour_MatomoBeginner'), 5 => Piwik::translate('Tour_MatomoIntermediate')); if ($numChallengesTotal > 10) { // the number of challenges varies from Matomo to Matomo depending on activated plugins and activated // features. Therefore we may remove some levels if there aren't too many challenges available. $levels[10] = Piwik::translate('Tour_MatomoTalent'); } if ($numChallengesTotal > 15) { $levels[15] = Piwik::translate('Tour_MatomoProfessional'); } $levels[$numChallengesTotal] = Piwik::translate('Tour_MatomoExpert'); return $levels; } }