Пример #1
0
 /**
  * Sets the name of the user this setting will be set for.
  *
  * @param $userLogin
  * @throws \Exception If the current user does not have permission to set the setting value
  *                    of `$userLogin`.
  */
 public function setUserLogin($userLogin)
 {
     if (!empty($userLogin) && !Piwik::isUserIsSuperUserOrTheUser($userLogin)) {
         throw new \Exception('You do not have the permission to read the settings of a different user');
     }
     $this->userLogin = $userLogin;
     $this->key = $this->buildUserSettingName($this->name, $userLogin);
 }
Пример #2
0
 /**
  * Returns the list of websites ID with the 'view' or 'admin' access for the current user.
  * For the superUser it returns all the websites in the database.
  *
  * @param bool $_restrictSitesToLogin
  * @return array list of websites ID
  */
 public function getSitesIdWithAtLeastViewAccess($_restrictSitesToLogin = false)
 {
     if (Piwik::isUserIsSuperUser() && !TaskScheduler::isTaskBeingExecuted()) {
         return Access::getInstance()->getSitesIdWithAtLeastViewAccess();
     }
     if (!empty($_restrictSitesToLogin) && (Piwik::isUserIsSuperUserOrTheUser($_restrictSitesToLogin) || TaskScheduler::isTaskBeingExecuted())) {
         $accessRaw = Access::getInstance()->getRawSitesWithSomeViewAccess($_restrictSitesToLogin);
         $sitesId = array();
         foreach ($accessRaw as $access) {
             $sitesId[] = $access['idsite'];
         }
         return $sitesId;
     } else {
         return Access::getInstance()->getSitesIdWithAtLeastViewAccess();
     }
 }