public function configureAdminMenu(MenuAdmin $menu) { if (Piwik::isUserHasSomeAdminAccess()) { $menu->addManageItem('UsersManager_MenuUsers', array('module' => 'UsersManager', 'action' => 'index'), $order = 2); $menu->addManageItem('UsersManager_MenuUserSettings', array('module' => 'UsersManager', 'action' => 'userSettings'), $order = 3); } }
public function demo() { if (!Development::isEnabled() || !Piwik::isUserHasSomeAdminAccess()) { return; } return $this->renderTemplate('demo'); }
public function configureAdminMenu(MenuAdmin $menu) { if (Piwik::isUserHasSomeAdminAccess()) { $menu->addManageItem('UsersManager_MenuUsers', $this->urlForAction('index'), $order = 2); $menu->addManageItem('UsersManager_MenuUserSettings', $this->urlForAction('userSettings'), $order = 3); } }
public function configureUserMenu(MenuUser $menu) { $menu->registerMenuIcon('UsersManager_MenuPersonal', 'icon-user-personal'); $menu->registerMenuIcon('CoreAdminHome_MenuManage', 'icon-user-manage'); $menu->registerMenuIcon('CorePluginsAdmin_MenuPlatform', 'icon-user-platform'); if (Development::isEnabled() && Piwik::isUserHasSomeAdminAccess()) { $menu->addPlatformItem('UI Demo', $this->urlForAction('demo'), $order = 15); } }
function addMenu() { MenuAdmin::getInstance()->add('CoreAdminHome_MenuManage', null, "", Piwik::isUserHasSomeAdminAccess(), $order = 1); MenuAdmin::getInstance()->add('CoreAdminHome_MenuDiagnostic', null, "", Piwik::isUserHasSomeAdminAccess(), $order = 10); MenuAdmin::getInstance()->add('General_Settings', null, "", Piwik::isUserHasSomeAdminAccess(), $order = 5); MenuAdmin::getInstance()->add('General_Settings', 'CoreAdminHome_MenuGeneralSettings', array('module' => 'CoreAdminHome', 'action' => 'generalSettings'), Piwik::isUserHasSomeAdminAccess(), $order = 6); MenuAdmin::getInstance()->add('CoreAdminHome_MenuManage', 'CoreAdminHome_TrackingCode', array('module' => 'CoreAdminHome', 'action' => 'trackingCodeGenerator'), Piwik::isUserHasSomeAdminAccess(), $order = 4); MenuAdmin::getInstance()->add('General_Settings', 'CoreAdminHome_PluginSettings', array('module' => 'CoreAdminHome', 'action' => 'pluginSettings'), SettingsManager::hasPluginsSettingsForCurrentUser(), $order = 7); }
public function configureAdminMenu(MenuAdmin $menu) { if (Piwik::isUserHasSomeAdminAccess()) { $menu->addManageItem('UsersManager_MenuUsers', $this->urlForAction('index'), $order = 2); } if (Piwik::hasUserSuperUserAccess() && API::getInstance()->getSitesAccessFromUser('anonymous')) { $menu->addSettingsItem('UsersManager_AnonymousUser', $this->urlForAction('anonymousSettings'), $order = 20); } }
public function configureAdminMenu(MenuAdmin $menu) { $hasAdminAccess = Piwik::isUserHasSomeAdminAccess(); $menu->add('CoreAdminHome_MenuManage', null, "", $hasAdminAccess, $order = 1); $menu->add('CoreAdminHome_MenuDiagnostic', null, "", $hasAdminAccess, $order = 10); $menu->add('General_Settings', null, "", $hasAdminAccess, $order = 5); $menu->add('General_Settings', 'CoreAdminHome_MenuGeneralSettings', array('module' => 'CoreAdminHome', 'action' => 'generalSettings'), $hasAdminAccess, $order = 6); $menu->add('CoreAdminHome_MenuManage', 'CoreAdminHome_TrackingCode', array('module' => 'CoreAdminHome', 'action' => 'trackingCodeGenerator'), $hasAdminAccess, $order = 4); $menu->add('General_Settings', 'CoreAdminHome_PluginSettings', array('module' => 'CoreAdminHome', 'action' => 'pluginSettings'), SettingsManager::hasPluginsSettingsForCurrentUser(), $order = 7); }
public function configureTopMenu(MenuTop $menu) { if (Piwik::isUserHasSomeAdminAccess()) { $url = $this->urlForModuleAction('SitesManager', 'index'); if (Piwik::hasUserSuperUserAccess()) { $url = $this->urlForAction('generalSettings'); } $menu->addItem('CoreAdminHome_Administration', null, $url, 10); } }
/** * The "Manage Users and Permissions" Admin UI screen */ function index() { Piwik::checkUserIsNotAnonymous(); $view = new View('@UsersManager/index'); $IdSitesAdmin = APISitesManager::getInstance()->getSitesIdWithAdminAccess(); $idSiteSelected = 1; if (count($IdSitesAdmin) > 0) { $defaultWebsiteId = $IdSitesAdmin[0]; $idSiteSelected = Common::getRequestVar('idSite', $defaultWebsiteId); } if ($idSiteSelected === 'all') { $usersAccessByWebsite = array(); $defaultReportSiteName = Piwik::translate('UsersManager_ApplyToAllWebsites'); } else { $usersAccessByWebsite = APIUsersManager::getInstance()->getUsersAccessFromSite($idSiteSelected); $defaultReportSiteName = Site::getNameFor($idSiteSelected); } // we dont want to display the user currently logged so that the user can't change his settings from admin to view... $currentlyLogged = Piwik::getCurrentUserLogin(); $usersLogin = APIUsersManager::getInstance()->getUsersLogin(); foreach ($usersLogin as $login) { if (!isset($usersAccessByWebsite[$login])) { $usersAccessByWebsite[$login] = 'noaccess'; } } unset($usersAccessByWebsite[$currentlyLogged]); // $usersAccessByWebsite is not supposed to contain unexistant logins, but it does when upgrading from some old Piwik version foreach ($usersAccessByWebsite as $login => $access) { if (!in_array($login, $usersLogin)) { unset($usersAccessByWebsite[$login]); continue; } } ksort($usersAccessByWebsite); $users = array(); $usersAliasByLogin = array(); if (Piwik::isUserHasSomeAdminAccess()) { $users = APIUsersManager::getInstance()->getUsers(); foreach ($users as $user) { $usersAliasByLogin[$user['login']] = $user['alias']; } } $view->anonymousHasViewAccess = $this->hasAnonymousUserViewAccess($usersAccessByWebsite); $view->idSiteSelected = $idSiteSelected; $view->defaultReportSiteName = $defaultReportSiteName; $view->users = $users; $view->usersAliasByLogin = $usersAliasByLogin; $view->usersCount = count($users) - 1; $view->usersAccessByWebsite = $usersAccessByWebsite; $websites = APISitesManager::getInstance()->getSitesWithAdminAccess(); uasort($websites, array('Piwik\\Plugins\\UsersManager\\Controller', 'orderByName')); $view->websites = $websites; $this->setBasicVariablesView($view); return $view->render(); }
public function configureAdminMenu(MenuAdmin $menu) { if (Piwik::isUserHasSomeAdminAccess()) { $type = $this->getFirstTypeIfOnlyOneIsInUse(); $menuName = 'General_Measurables'; if ($type) { $menuName = $type->getNamePlural(); } $menu->addManageItem($menuName, $this->urlForAction('index'), $order = 1); } }
public function configureAdminMenu(MenuAdmin $menu) { if (Piwik::isUserHasSomeAdminAccess()) { $menu->addSystemItem('UsersManager_MenuUsers', $this->urlForAction('index'), $order = 15); } if (Piwik::hasUserSuperUserAccess() && API::getInstance()->getSitesAccessFromUser('anonymous')) { $menu->addSystemItem('UsersManager_AnonymousUser', $this->urlForAction('anonymousSettings'), $order = 16); } if (!Piwik::isUserIsAnonymous()) { $menu->addItem('UsersManager_MenuPersonal', 'General_Settings', $this->urlForAction('userSettings'), 0); } }
public function configureAdminMenu(MenuAdmin $menu) { if (Piwik::hasUserSuperUserAccess()) { $menu->addMeasurableItem('General_Settings', $this->urlForAction('globalSettings'), $order = 11); } if (Piwik::isUserHasSomeAdminAccess()) { $menu->addMeasurableItem('SitesManager_MenuManage', $this->urlForAction('index'), $order = 10); $type = $this->getFirstTypeIfOnlyOneIsInUse(); if ($type) { $menu->rename('CoreAdminHome_MenuMeasurables', $subMenuOriginal = null, $type->getNamePlural(), $subMenuRenamed = null); } } }
public function configureAdminMenu(MenuAdmin $menu) { $hasAdminAccess = Piwik::isUserHasSomeAdminAccess(); if ($hasAdminAccess) { $menu->addManageItem(null, "", $order = 1); $menu->addSettingsItem(null, "", $order = 5); $menu->addDiagnosticItem(null, "", $order = 10); $menu->addDevelopmentItem(null, "", $order = 15); $menu->addSettingsItem('CoreAdminHome_MenuGeneralSettings', $this->urlForAction('generalSettings'), $order = 6); $menu->addManageItem('CoreAdminHome_TrackingCode', $this->urlForAction('trackingCodeGenerator'), $order = 4); } if (SettingsManager::hasPluginsSettingsForCurrentUser()) { $menu->addSettingsItem('CoreAdminHome_PluginSettings', $this->urlForAction('pluginSettings'), $order = 7); } }
public function configureAdminMenu(MenuAdmin $menu) { $menu->registerMenuIcon('CoreAdminHome_MenuDevelopment', 'icon-admin-development'); $menu->registerMenuIcon('CoreAdminHome_MenuDiagnostic', 'icon-admin-diagnostic'); $menu->registerMenuIcon('CorePluginsAdmin_MenuPlatform', 'icon-admin-platform'); $menu->registerMenuIcon('General_Settings', 'icon-admin-settings'); $menu->registerMenuIcon('CoreAdminHome_Administration', 'icon-settings'); $menu->registerMenuIcon('UsersManager_MenuPersonal', 'icon-user-personal'); $menu->registerMenuIcon('CoreAdminHome_MenuSystem', 'icon-server'); $menu->registerMenuIcon('CorePluginsAdmin_MenuPlatform', 'icon-user-platform'); $manageMeasurablesIcon = 'icon-open-source'; $menu->registerMenuIcon('CoreAdminHome_MenuMeasurables', $manageMeasurablesIcon); $menu->registerMenuIcon('SitesManager_Sites', $manageMeasurablesIcon); $menu->registerMenuIcon('MobileAppMeasurable_MobileApps', $manageMeasurablesIcon); if (Development::isEnabled() && Piwik::isUserHasSomeAdminAccess()) { $menu->addDevelopmentItem('UI Demo', $this->urlForAction('demo')); } }
private static function notifyAnyInvalidLicense() { if (!Marketplace::isMarketplaceEnabled()) { return; } if (Piwik::isUserIsAnonymous()) { return; } if (!Piwik::isUserHasSomeAdminAccess()) { return; } $expired = StaticContainer::get('Piwik\\Plugins\\Marketplace\\Plugins\\InvalidLicenses'); $messageLicenseMissing = $expired->getMessageNoLicense(); if (!empty($messageLicenseMissing)) { $notification = new Notification($messageLicenseMissing); $notification->raw = true; $notification->context = Notification::CONTEXT_ERROR; $notification->title = Piwik::translate('Marketplace_LicenseMissing'); Notification\Manager::notify('ControllerAdmin_LicenseMissingWarning', $notification); } $messageExceeded = $expired->getMessageExceededLicenses(); if (!empty($messageExceeded)) { $notification = new Notification($messageExceeded); $notification->raw = true; $notification->context = Notification::CONTEXT_WARNING; $notification->title = Piwik::translate('Marketplace_LicenseExceeded'); Notification\Manager::notify('ControllerAdmin_LicenseExceededWarning', $notification); } $messageExpired = $expired->getMessageExpiredLicenses(); if (!empty($messageExpired)) { $notification = new Notification($messageExpired); $notification->raw = true; $notification->context = Notification::CONTEXT_WARNING; $notification->title = Piwik::translate('Marketplace_LicenseExpired'); Notification\Manager::notify('ControllerAdmin_LicenseExpiredWarning', $notification); } }
public function configureAdminMenu(MenuAdmin $menu) { if (Piwik::isUserHasSomeAdminAccess()) { $menu->addSettingsItem('PrivacyManager_MenuPrivacySettings', $this->urlForAction('privacySettings'), $order = 7); } }
/** * Assigns a set of generally useful variables to a {@link Piwik\View} instance. * * The following variables assigned: * * **enableMeasurePiwikForSiteId** - The value of the `[Debug] enable_measure_piwik_usage_in_idsite` * INI config option. * **isSuperUser** - True if the current user is the Super User, false if otherwise. * **hasSomeAdminAccess** - True if the current user has admin access to at least one site, * false if otherwise. * **isCustomLogo** - The value of the `branding_use_custom_logo` option. * **logoHeader** - The header logo URL to use. * **logoLarge** - The large logo URL to use. * **logoSVG** - The SVG logo URL to use. * **hasSVGLogo** - True if there is a SVG logo, false if otherwise. * **enableFrames** - The value of the `[General] enable_framed_pages` INI config option. If * true, {@link Piwik\View::setXFrameOptions()} is called on the view. * * Also calls {@link setHostValidationVariablesView()}. * * @param View $view * @api */ protected function setBasicVariablesView($view) { $view->clientSideConfig = PiwikConfig::getInstance()->getClientSideOptions(); $view->enableMeasurePiwikForSiteId = PiwikConfig::getInstance()->Debug['enable_measure_piwik_usage_in_idsite']; $view->isSuperUser = Access::getInstance()->hasSuperUserAccess(); $view->hasSomeAdminAccess = Piwik::isUserHasSomeAdminAccess(); $view->hasSomeViewAccess = Piwik::isUserHasSomeViewAccess(); $view->isUserIsAnonymous = Piwik::isUserIsAnonymous(); $view->hasSuperUserAccess = Piwik::hasUserSuperUserAccess(); $this->addCustomLogoInfo($view); $view->logoHeader = \Piwik\Plugins\API\API::getInstance()->getHeaderLogoUrl(); $view->logoLarge = \Piwik\Plugins\API\API::getInstance()->getLogoUrl(); $view->logoSVG = \Piwik\Plugins\API\API::getInstance()->getSVGLogoUrl(); $view->hasSVGLogo = \Piwik\Plugins\API\API::getInstance()->hasSVGLogo(); $view->superUserEmails = implode(',', Piwik::getAllSuperUserAccessEmailAddresses()); $general = PiwikConfig::getInstance()->General; $view->enableFrames = $general['enable_framed_pages'] || isset($general['enable_framed_logins']) && $general['enable_framed_logins']; if (!$view->enableFrames) { $view->setXFrameOptions('sameorigin'); } self::setHostValidationVariablesView($view); }
/** * The "Manage Users and Permissions" Admin UI screen */ function index() { Piwik::checkUserIsNotAnonymous(); $view = new View('@UsersManager/index'); $IdSitesAdmin = APISitesManager::getInstance()->getSitesIdWithAdminAccess(); $idSiteSelected = 1; if (count($IdSitesAdmin) > 0) { $defaultWebsiteId = $IdSitesAdmin[0]; $idSiteSelected = Common::getRequestVar('idSite', $defaultWebsiteId); } if ($idSiteSelected === 'all') { $usersAccessByWebsite = array(); $defaultReportSiteName = $this->translator->translate('UsersManager_ApplyToAllWebsites'); } else { $defaultReportSiteName = Site::getNameFor($idSiteSelected); try { $usersAccessByWebsite = Request::processRequest('UsersManager.getUsersAccessFromSite', array('idSite' => $idSiteSelected)); } catch (NoAccessException $e) { return $this->noAdminAccessToWebsite($idSiteSelected, $defaultReportSiteName, $e->getMessage()); } } // we dont want to display the user currently logged so that the user can't change his settings from admin to view... $currentlyLogged = Piwik::getCurrentUserLogin(); $usersLogin = APIUsersManager::getInstance()->getUsersLogin(); foreach ($usersLogin as $login) { if (!isset($usersAccessByWebsite[$login])) { $usersAccessByWebsite[$login] = 'noaccess'; } } unset($usersAccessByWebsite[$currentlyLogged]); // $usersAccessByWebsite is not supposed to contain unexistant logins, but it does when upgrading from some old Piwik version foreach ($usersAccessByWebsite as $login => $access) { if (!in_array($login, $usersLogin)) { unset($usersAccessByWebsite[$login]); continue; } } ksort($usersAccessByWebsite); $users = array(); $superUsers = array(); $usersAliasByLogin = array(); $formatter = new Formatter(); if (Piwik::isUserHasSomeAdminAccess()) { $view->showLastSeen = true; $users = APIUsersManager::getInstance()->getUsers(); foreach ($users as $index => $user) { $usersAliasByLogin[$user['login']] = $user['alias']; $lastSeen = LastSeenTimeLogger::getLastSeenTimeForUser($user['login']); $users[$index]['last_seen'] = $lastSeen == 0 ? false : $formatter->getPrettyTimeFromSeconds(time() - $lastSeen); } if (Piwik::hasUserSuperUserAccess()) { foreach ($users as $user) { if ($user['superuser_access']) { $superUsers[] = $user['login']; } } } } $view->anonymousHasViewAccess = $this->hasAnonymousUserViewAccess($usersAccessByWebsite); $view->idSiteSelected = $idSiteSelected; $view->defaultReportSiteName = $defaultReportSiteName; $view->users = $users; $view->superUserLogins = $superUsers; $view->usersAliasByLogin = $usersAliasByLogin; $view->usersCount = count($users) - 1; $view->usersAccessByWebsite = $usersAccessByWebsite; $websites = APISitesManager::getInstance()->getSitesWithAdminAccess(); uasort($websites, array('Piwik\\Plugins\\UsersManager\\Controller', 'orderByName')); $view->websites = $websites; $this->setBasicVariablesView($view); return $view->render(); }
public function configureAdminMenu(MenuAdmin $menu) { $menu->add('CoreAdminHome_MenuDiagnostic', 'DevicesDetection_DeviceDetection', array('module' => 'DevicesDetection', 'action' => 'deviceDetection'), Piwik::isUserHasSomeAdminAccess(), $order = 40); }
/** * Renders the current view. Also sends the stored 'Content-Type' HTML header. * See {@link setContentType()}. * * @return string Generated template. */ public function render() { try { $this->currentModule = Piwik::getModule(); $this->currentAction = Piwik::getAction(); $this->url = Common::sanitizeInputValue(Url::getCurrentUrl()); $this->token_auth = Piwik::getCurrentUserTokenAuth(); $this->userHasSomeAdminAccess = Piwik::isUserHasSomeAdminAccess(); $this->userIsAnonymous = Piwik::isUserIsAnonymous(); $this->userIsSuperUser = Piwik::hasUserSuperUserAccess(); $this->latest_version_available = UpdateCheck::isNewestVersionAvailable(); $this->disableLink = Common::getRequestVar('disableLink', 0, 'int'); $this->isWidget = Common::getRequestVar('widget', 0, 'int'); $piwikAds = StaticContainer::get('Piwik\\ProfessionalServices\\Advertising'); $this->areAdsForProfessionalServicesEnabled = $piwikAds->areAdsForProfessionalServicesEnabled(); if (Development::isEnabled()) { $cacheBuster = rand(0, 10000); } else { $cacheBuster = UIAssetCacheBuster::getInstance()->piwikVersionBasedCacheBuster(); } $this->cacheBuster = $cacheBuster; $this->loginModule = Piwik::getLoginPluginName(); $user = APIUsersManager::getInstance()->getUser($this->userLogin); $this->userAlias = $user['alias']; } catch (Exception $e) { Log::debug($e); // can fail, for example at installation (no plugin loaded yet) } ProxyHttp::overrideCacheControlHeaders('no-store'); Common::sendHeader('Content-Type: ' . $this->contentType); // always sending this header, sometimes empty, to ensure that Dashboard embed loads // - when calling sendHeader() multiple times, the last one prevails Common::sendHeader('X-Frame-Options: ' . (string) $this->xFrameOptions); return $this->renderTwigTemplate(); }
public function configureAdminMenu(MenuAdmin $menu) { $menu->add('CoreAdminHome_MenuManage', 'SitesManager_Sites', array('module' => 'SitesManager', 'action' => 'index'), Piwik::isUserHasSomeAdminAccess(), $order = 1); }
public function configureAdminMenu(MenuAdmin $menu) { if (Piwik::isUserHasSomeAdminAccess()) { $menu->addSettingsItem('Custom OptOut', $this->urlForDefaultAction()); } }
public function configureAdminMenu(MenuAdmin $menu) { if (Piwik::isUserHasSomeAdminAccess()) { $menu->addSettingsItem('PrivacyManager_MenuPrivacySettings', array('module' => 'PrivacyManager', 'action' => 'privacySettings'), $order = 7); } }
public function configureAdminMenu(MenuAdmin $menu) { if (Piwik::isUserHasSomeAdminAccess()) { $menu->addManageItem('SitesManager_Sites', array('module' => 'SitesManager', 'action' => 'index'), $order = 1); } }
public function overview() { $view = $this->configureViewAndCheckPermission('@Marketplace/overview'); $show = Common::getRequestVar('show', 'plugins', 'string'); $query = Common::getRequestVar('query', '', 'string', $_POST); $sort = new Sort(); $sort = $sort->getSort(); $mode = new Mode(); $mode = $mode->getMode(); // we're fetching all available plugins to decide which tabs need to be shown in the UI and to know the number // of total available plugins $allPlugins = $this->plugins->getAllPlugins(); $allThemes = $this->plugins->getAllThemes(); $paidPlugins = $this->plugins->getAllPaidPlugins(); $showThemes = $show === 'themes'; $showPlugins = !$showThemes; $showPaid = $show === 'premium'; $showAll = !$showPaid; if ($showPlugins && $showPaid) { $type = PurchaseType::TYPE_PAID; $view->numAvailablePlugins = count($paidPlugins); } elseif ($showPlugins && $showAll) { $type = PurchaseType::TYPE_ALL; $view->numAvailablePlugins = count($allPlugins); } else { $type = PurchaseType::TYPE_ALL; $view->numAvailablePlugins = count($allThemes); } $pluginsToShow = $this->plugins->searchPlugins($query, $sort, $showThemes, $type); $paidPluginsToInstallAtOnce = array(); if (SettingsPiwik::isAutoUpdatePossible()) { foreach ($paidPlugins as $paidPlugin) { if ($this->canPluginBeInstalled($paidPlugin) || $this->pluginManager->isPluginInstalled($paidPlugin['name']) && !$this->pluginManager->isPluginActivated($paidPlugin['name'])) { $paidPluginsToInstallAtOnce[] = $paidPlugin['name']; } } } $view->paidPluginsToInstallAtOnce = $paidPluginsToInstallAtOnce; $view->pluginsToShow = $pluginsToShow; $view->isValidConsumer = $this->consumer->isValidConsumer(); $view->paidPlugins = $paidPlugins; $view->freePlugins = $allPlugins; $view->themes = $allThemes; $view->showThemes = $showThemes; $view->showPlugins = $showPlugins; $view->showFree = $showAll; $view->showPaid = $showPaid; $view->pluginType = $show; $view->pluginTypeOptions = array('plugins' => Piwik::translate('General_Plugins'), 'premium' => Piwik::translate('Marketplace_PaidPlugins'), 'themes' => Piwik::translate('CorePluginsAdmin_Themes')); $view->pluginSortOptions = array(Sort::METHOD_LAST_UPDATED => Piwik::translate('Marketplace_SortByLastUpdated'), Sort::METHOD_POPULAR => Piwik::translate('Marketplace_SortByPopular'), Sort::METHOD_NEWEST => Piwik::translate('Marketplace_SortByNewest'), Sort::METHOD_ALPHA => Piwik::translate('Marketplace_SortByAlpha')); $view->mode = $mode; $view->query = $query; $view->sort = $sort; $view->hasLicenseKey = $this->licenseKey->has(); $view->hasSomeAdminAccess = Piwik::isUserHasSomeAdminAccess(); $view->installNonce = Nonce::getNonce(static::INSTALL_NONCE); $view->updateNonce = Nonce::getNonce(static::UPDATE_NONCE); $view->deactivateNonce = Nonce::getNonce(PluginsController::DEACTIVATE_NONCE); $view->activateNonce = Nonce::getNonce(PluginsController::ACTIVATE_NONCE); $view->isSuperUser = Piwik::hasUserSuperUserAccess(); $view->isPluginsAdminEnabled = CorePluginsAdmin::isPluginsAdminEnabled(); $view->isAutoUpdatePossible = SettingsPiwik::isAutoUpdatePossible(); $view->isAutoUpdateEnabled = SettingsPiwik::isAutoUpdateEnabled(); return $view->render(); }
public function configureAdminMenu(MenuAdmin $menu) { $menu->add('CoreAdminHome_MenuManage', 'UsersManager_MenuUsers', array('module' => 'UsersManager', 'action' => 'index'), Piwik::isUserHasSomeAdminAccess(), $order = 2); $menu->add('CoreAdminHome_MenuManage', 'UsersManager_MenuUserSettings', array('module' => 'UsersManager', 'action' => 'userSettings'), Piwik::isUserHasSomeViewAccess(), $order = 3); }
/** * Constructor. * * @param string $name The persisted name of the setting. * @param string $title The display name of the setting. */ public function __construct($name, $title) { parent::__construct($name, $title); $this->writableByCurrentUser = Piwik::isUserHasSomeAdminAccess(); $this->readableByCurrentUser = Piwik::isUserHasSomeViewAccess(); }
public function configureAdminMenu(MenuAdmin $menu) { if (Piwik::isUserHasSomeAdminAccess()) { $menu->addDiagnosticItem('DevicesDetection_DeviceDetection', $this->urlForAction('detection'), $order = 40); } }
public function addConfigMenu() { if (Piwik::isUserHasSomeAdminAccess()) { MenuAdmin::getInstance()->addItem('General_Settings', 'IP2Location', array('module' => 'IP2Location', 'action' => 'index'), $order = 9); } }
/** * Renders the current view. Also sends the stored 'Content-Type' HTML header. * See {@link setContentType()}. * * @return string Generated template. */ public function render() { try { $this->currentModule = Piwik::getModule(); $this->currentAction = Piwik::getAction(); $this->url = Common::sanitizeInputValue(Url::getCurrentUrl()); $this->token_auth = Piwik::getCurrentUserTokenAuth(); $this->userHasSomeAdminAccess = Piwik::isUserHasSomeAdminAccess(); $this->userIsSuperUser = Piwik::hasUserSuperUserAccess(); $this->latest_version_available = UpdateCheck::isNewestVersionAvailable(); $this->disableLink = Common::getRequestVar('disableLink', 0, 'int'); $this->isWidget = Common::getRequestVar('widget', 0, 'int'); $this->cacheBuster = UIAssetCacheBuster::getInstance()->piwikVersionBasedCacheBuster(); $this->loginModule = Piwik::getLoginPluginName(); $user = APIUsersManager::getInstance()->getUser($this->userLogin); $this->userAlias = $user['alias']; } catch (Exception $e) { // can fail, for example at installation (no plugin loaded yet) } try { $this->totalTimeGeneration = Registry::get('timer')->getTime(); $this->totalNumberOfQueries = Profiler::getQueryCount(); } catch (Exception $e) { $this->totalNumberOfQueries = 0; } ProxyHttp::overrideCacheControlHeaders('no-store'); @header('Content-Type: ' . $this->contentType); // always sending this header, sometimes empty, to ensure that Dashboard embed loads (which could call this header() multiple times, the last one will prevail) @header('X-Frame-Options: ' . (string) $this->xFrameOptions); return $this->renderTwigTemplate(); }