getAllSitesId(); } $idSites = PiwikSite::getIdSitesFromIdSitesString($idSites); foreach ($idSites as $idsite) { if (!in_array($idsite, $websitesAccess)) { throw new NoAccessException("checkUserHasAdminAccess Fake exception // string not to be tested"); } } } //means at least view access public function checkUserHasViewAccess($idSites) { if (self::$superUser) { return; } $websitesAccess = array_merge(self::$idSitesView, self::$idSitesAdmin); if (!is_array($idSites)) { if ($idSites == 'all') { $idSites = API::getInstance()->getAllSitesId(); } else { $idSites = explode(',', $idSites); } } if (empty($websitesAccess)) { throw new NoAccessException("checkUserHasViewAccess Fake exception // string not to be tested"); } foreach ($idSites as $idsite) { if (!in_array($idsite, $websitesAccess)) { throw new NoAccessException("checkUserHasViewAccess Fake exception // string not to be tested"); } } } public function checkUserHasSomeViewAccess() { if (!self::$superUser) { if (count(array_merge(self::$idSitesView, self::$idSitesAdmin)) == 0) { throw new NoAccessException("checkUserHasSomeViewAccess Fake exception // string not to be tested"); } } else { return; } } //means at least view access public function isUserHasSomeAdminAccess() { if (self::$superUser) { return true; } return count(self::$idSitesAdmin) > 0; } //means at least view access public function checkUserHasSomeAdminAccess() { if (!$this->isUserHasSomeAdminAccess()) { throw new NoAccessException("checkUserHasSomeAdminAccess Fake exception // string not to be tested"); } } public function getLogin() { return self::$identity; } public function getSitesIdWithAdminAccess() { if (self::$superUser) { return API::getInstance()->getAllSitesId(); } return self::$idSitesAdmin; } public function getSitesIdWithViewAccess() { if (self::$superUser) { return API::getInstance()->getAllSitesId(); } return self::$idSitesView; } public function getSitesIdWithAtLeastViewAccess() { if (self::$superUser) { return API::getInstance()->getAllSitesId(); } return array_merge(self::$idSitesView, self::$idSitesAdmin); } public function getRawSitesWithSomeViewAccess($login) { $result = array(); foreach (array_merge(self::$idSitesView, self::$idSitesAdmin) as $idSite) { $result[] = array('idsite' => $idSite); } return $result; } }