Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Steur <thomas.steur@gmail.com>2013-09-20 01:07:13 +0400
committerThomas Steur <thomas.steur@gmail.com>2013-09-20 01:07:24 +0400
commitbae55edaabac744a8627f6a116aa0e5bbc4a8d71 (patch)
tree956508563db6b626c3a6ca193aa6191bebf345ae /plugins/CorePluginsAdmin
parenta4f9bc4ae468f906b35d45583a11f689799408bd (diff)
refs #4053 highlight current active sort method
Diffstat (limited to 'plugins/CorePluginsAdmin')
-rw-r--r--plugins/CorePluginsAdmin/Controller.php32
-rw-r--r--plugins/CorePluginsAdmin/Marketplace.php34
-rw-r--r--plugins/CorePluginsAdmin/stylesheets/marketplace.less6
-rw-r--r--plugins/CorePluginsAdmin/templates/browsePlugins.twig8
-rw-r--r--plugins/CorePluginsAdmin/templates/browseThemes.twig8
5 files changed, 55 insertions, 33 deletions
diff --git a/plugins/CorePluginsAdmin/Controller.php b/plugins/CorePluginsAdmin/Controller.php
index d0001570ce..05e53300ce 100644
--- a/plugins/CorePluginsAdmin/Controller.php
+++ b/plugins/CorePluginsAdmin/Controller.php
@@ -29,7 +29,7 @@ use Piwik\PluginsManager;
*/
class Controller extends \Piwik\Controller\Admin
{
- private $validSortMethods = array('popular', 'newest', 'alpha');
+ private $validSortMethods = array('popular', 'newest', 'alpha');
private $defaultSortMethod = 'popular';
public function updatePlugin()
@@ -134,24 +134,19 @@ class Controller extends \Piwik\Controller\Admin
{
$query = Common::getRequestVar('query', '', 'string', $_POST);
$sort = Common::getRequestVar('sort', $this->defaultSortMethod, 'string');
+
if (!in_array($sort, $this->validSortMethods)) {
$sort = $this->defaultSortMethod;
}
- $marketplace = new MarketplaceApiClient();
-
- $view = $this->configureView('@CorePluginsAdmin/browsePlugins');
- $plugins = $marketplace->searchForPlugins('', $query, $sort);
+ $view = $this->configureView('@CorePluginsAdmin/browsePlugins');
- foreach ($plugins as $plugin) {
- $plugin->isInstalled = PluginsManager::getInstance()->isPluginLoaded($plugin->name);
- $plugin->lastUpdated = Date::factory($plugin->lastUpdated)->getLocalized(Piwik_Translate('CoreHome_ShortDateFormatWithYear'));
- }
-
- $view->plugins = $plugins;
+ $marketplace = new Marketplace();
+ $view->plugins = $marketplace->searchPlugins($query, $sort, $themesOnly = false);
$view->query = $query;
$view->nonce = Nonce::getNonce('CorePluginsAdmin.installPlugin');
+ $view->sort = $sort;
echo $view->render();
}
@@ -160,24 +155,19 @@ class Controller extends \Piwik\Controller\Admin
{
$query = Common::getRequestVar('query', '', 'string', $_POST);
$sort = Common::getRequestVar('sort', $this->defaultSortMethod, 'string');
+
if (!in_array($sort, $this->validSortMethods)) {
$sort = $this->defaultSortMethod;
}
- $marketplace = new MarketplaceApiClient();
-
- $view = $this->configureView('@CorePluginsAdmin/browseThemes');
- $plugins = $marketplace->searchForThemes('', $query, $sort);
-
- foreach ($plugins as $plugin) {
- $plugin->isInstalled = PluginsManager::getInstance()->isPluginLoaded($plugin->name);
- $plugin->lastUpdated = Date::factory($plugin->lastUpdated)->getLocalized(Piwik_Translate('CoreHome_ShortDateFormatWithYear'));
- }
+ $view = $this->configureView('@CorePluginsAdmin/browseThemes');
- $view->plugins = $plugins;
+ $marketplace = new Marketplace();
+ $view->plugins = $marketplace->searchPlugins($query, $sort, $themesOnly = true);
$view->query = $query;
$view->nonce = Nonce::getNonce('CorePluginsAdmin.installPlugin');
+ $view->sort = $sort;
echo $view->render();
}
diff --git a/plugins/CorePluginsAdmin/Marketplace.php b/plugins/CorePluginsAdmin/Marketplace.php
index 8703d54bf8..bda4b4e44d 100644
--- a/plugins/CorePluginsAdmin/Marketplace.php
+++ b/plugins/CorePluginsAdmin/Marketplace.php
@@ -10,6 +10,7 @@
*/
namespace Piwik\Plugins\CorePluginsAdmin;
+use Piwik\Date;
use Piwik\Piwik;
use Piwik\PluginsManager;
@@ -19,6 +20,33 @@ use Piwik\PluginsManager;
*/
class Marketplace
{
+ /**
+ * @var MarketplaceApiClient
+ */
+ private $client;
+
+ public function __construct()
+ {
+ $this->client = new MarketplaceApiClient();
+ }
+
+ public function searchPlugins($query, $sort, $themesOnly)
+ {
+ if ($themesOnly) {
+ $plugins = $this->client->searchForThemes('', $query, $sort);
+ } else {
+ $plugins = $this->client->searchForPlugins('', $query, $sort);
+ }
+
+ $dateFormat = Piwik_Translate('CoreHome_ShortDateFormatWithYear');
+
+ foreach ($plugins as $plugin) {
+ $plugin->isInstalled = PluginsManager::getInstance()->isPluginLoaded($plugin->name);
+ $plugin->lastUpdated = Date::factory($plugin->lastUpdated)->getLocalized($dateFormat);
+ }
+
+ return $plugins;
+ }
/**
* @param bool $themesOnly
@@ -28,13 +56,11 @@ class Marketplace
{
$loadedPlugins = PluginsManager::getInstance()->getLoadedPlugins();
- $marketplace = new MarketplaceApiClient();
-
try {
if ($themesOnly) {
- $pluginsHavingUpdate = $marketplace->getInfoOfThemesHavingUpdate($loadedPlugins);
+ $pluginsHavingUpdate = $this->client->getInfoOfThemesHavingUpdate($loadedPlugins);
} else {
- $pluginsHavingUpdate = $marketplace->getInfoOfPluginsHavingUpdate($loadedPlugins);
+ $pluginsHavingUpdate = $this->client->getInfoOfPluginsHavingUpdate($loadedPlugins);
}
} catch (\Exception $e) {
$pluginsHavingUpdate = array();
diff --git a/plugins/CorePluginsAdmin/stylesheets/marketplace.less b/plugins/CorePluginsAdmin/stylesheets/marketplace.less
index 5e42eced44..5f476d326b 100644
--- a/plugins/CorePluginsAdmin/stylesheets/marketplace.less
+++ b/plugins/CorePluginsAdmin/stylesheets/marketplace.less
@@ -110,6 +110,12 @@
display: inline;
}
+ .sort {
+ .active {
+ font-weight: bold;
+ }
+ }
+
.infoBox {
font-size: 14px;
margin: 0px 0px 10px 10px;
diff --git a/plugins/CorePluginsAdmin/templates/browsePlugins.twig b/plugins/CorePluginsAdmin/templates/browsePlugins.twig
index 8f89d5f4de..f096c4fa2c 100644
--- a/plugins/CorePluginsAdmin/templates/browsePlugins.twig
+++ b/plugins/CorePluginsAdmin/templates/browsePlugins.twig
@@ -10,12 +10,12 @@
Piwik is not the owner of these Plugins and did not review them.
</div>
- <div>
- <a href="{{ linkTo({'sort': 'popular', 'query': ''}) }}">popular</a>
+ <div class="sort">
+ <a href="{{ linkTo({'sort': 'popular', 'query': ''}) }}" {% if 'popular' == sort %}class="active"{% endif %}>popular</a>
|
- <a href="{{ linkTo({'sort': 'newest', 'query': ''}) }}">newest</a>
+ <a href="{{ linkTo({'sort': 'newest', 'query': ''}) }}" {% if 'newest' == sort %}class="active"{% endif %}>newest</a>
|
- <a href="{{ linkTo({'sort': 'alpha', 'query': ''}) }}">alpha</a>
+ <a href="{{ linkTo({'sort': 'alpha', 'query': ''}) }}" {% if 'alpha' == sort %}class="active"{% endif %}>alpha</a>
|
<form action="{{ linkTo({'sort': ''}) }}" method="POST">
<input value="{{ query }}" placeholder="Search" type="text" name="query"/>
diff --git a/plugins/CorePluginsAdmin/templates/browseThemes.twig b/plugins/CorePluginsAdmin/templates/browseThemes.twig
index 645ce9cd9c..4b379ee3c1 100644
--- a/plugins/CorePluginsAdmin/templates/browseThemes.twig
+++ b/plugins/CorePluginsAdmin/templates/browseThemes.twig
@@ -10,12 +10,12 @@
Piwik is not the owner of these Themes and did not review them.
</div>
- <div>
- <a href="{{ linkTo({'sort': 'popular', 'query': ''}) }}">popular</a>
+ <div class="sort">
+ <a href="{{ linkTo({'sort': 'popular', 'query': ''}) }}" {% if 'popular' == sort %}class="active"{% endif %}>popular</a>
|
- <a href="{{ linkTo({'sort': 'newest', 'query': ''}) }}">newest</a>
+ <a href="{{ linkTo({'sort': 'newest', 'query': ''}) }}" {% if 'newest' == sort %}class="active"{% endif %}>newest</a>
|
- <a href="{{ linkTo({'sort': 'alpha', 'query': ''}) }}">alpha</a>
+ <a href="{{ linkTo({'sort': 'alpha', 'query': ''}) }}" {% if 'alpha' == sort %}class="active"{% endif %}>alpha</a>
|
<form action="{{ linkTo({'sort': ''}) }}" method="POST">
<input value="{{ query }}" placeholder="Search" type="text" name="query"/>