diff options
author | benakamoorthi <benaka.moorthi@gmail.com> | 2011-12-02 06:51:45 +0400 |
---|---|---|
committer | benakamoorthi <benaka.moorthi@gmail.com> | 2011-12-02 06:51:45 +0400 |
commit | 6a91d6ace826425a5e287c68175ff16d7008def1 (patch) | |
tree | 197d000e5955ab988a737f9f5563420deee3d8ea /plugins/SitesManager/Controller.php | |
parent | 273c3cb92820a53873690b426f34a03628333168 (diff) |
Fixes #1077, Assorted optimizations for the Multi Sites plugin:
* Modified Piwik_Archive::build so it can accept Piwik_Segment instances. This way there won't be hundreds of segments created when they get overwritten by IndexedBySite anyway.
* Removed previously committed optimization that selected all sites in Piwik_Archive and replaced w/ a similar optimization in the code that selects data for every website (the Multi Sites controller & Sites Manager controller).
* Modified the setMinMaxDateAcrossWebsites function of the Multi Sites controller so Piwik_Date instances wouldn't be created within its loop and modified the Piwik_Date class to make the former change possible.
git-svn-id: http://dev.piwik.org/svn/trunk@5505 59fd770c-687e-43c8-a1e3-f5a4ff64c105
Diffstat (limited to 'plugins/SitesManager/Controller.php')
-rw-r--r-- | plugins/SitesManager/Controller.php | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/plugins/SitesManager/Controller.php b/plugins/SitesManager/Controller.php index 172349d7ec..e35572d9e4 100644 --- a/plugins/SitesManager/Controller.php +++ b/plugins/SitesManager/Controller.php @@ -22,13 +22,20 @@ class Piwik_SitesManager_Controller extends Piwik_Controller_Admin function index() { $view = Piwik_View::factory('SitesManager'); - $sites = Piwik_SitesManager_API::getInstance()->getSitesWithAdminAccess(); - $sitesIndexedById = array(); - foreach($sites as $site) + + if (Piwik::isUserIsSuperUser()) + { + $sites = Piwik_SitesManager_API::getInstance()->getAllSites(); + Piwik_Site::setSites($mySites); + + $mySites = array_values($mySites); + } + else { - $sitesIndexedById[$site['idsite']] = $site; + $sites = Piwik_SitesManager_API::getInstance()->getSitesWithAdminAccess(); + Piwik_Site::setSitesFromArray($sites); } - Piwik_Site::setSites($sitesIndexedById); + foreach($sites as &$site) { $site['alias_urls'] = Piwik_SitesManager_API::getInstance()->getSiteUrlsFromId($site['idsite']); |