diff options
author | Thomas Steur <thomas.steur@googlemail.com> | 2014-09-30 09:37:32 +0400 |
---|---|---|
committer | Thomas Steur <thomas.steur@googlemail.com> | 2014-09-30 09:37:32 +0400 |
commit | a00487b0b841c4b15463b591c7f62176c4b84d15 (patch) | |
tree | 6eb893ce356a4740e044c9cdadaf84ffb2095b9d /plugins/Dashboard/Controller.php | |
parent | 0edef3332289a7cbe54b58084b967907d1086d29 (diff) |
coding style fixes, some PHPStorm inspection fixes, improved readability of code, few refactorings, all as part of our code cleanup strategy
Diffstat (limited to 'plugins/Dashboard/Controller.php')
-rw-r--r-- | plugins/Dashboard/Controller.php | 87 |
1 files changed, 20 insertions, 67 deletions
diff --git a/plugins/Dashboard/Controller.php b/plugins/Dashboard/Controller.php index 5e319ddb25..c7a89a75a5 100644 --- a/plugins/Dashboard/Controller.php +++ b/plugins/Dashboard/Controller.php @@ -104,38 +104,13 @@ class Controller extends \Piwik\Plugin\Controller $session->dashboardLayout = $layout; $session->setExpirationSeconds(1800); } else { - $this->saveLayoutForUser(Piwik::getCurrentUserLogin(), $idDashboard, $layout); + $this->getModel()->updateLayoutForUser(Piwik::getCurrentUserLogin(), $idDashboard, $layout); } } - /** - * Records the layout in the DB for the given user. - * - * @param string $login - * @param int $idDashboard - * @param string $layout - */ - protected function saveLayoutForUser($login, $idDashboard, $layout) - { - $paramsBind = array($login, $idDashboard, $layout, $layout); - $query = sprintf('INSERT INTO %s (login, iddashboard, layout) VALUES (?,?,?) ON DUPLICATE KEY UPDATE layout=?', - Common::prefixTable('user_dashboard')); - Db::query($query, $paramsBind); - } - - /** - * Updates the name of a dashboard - * - * @param string $login - * @param int $idDashboard - * @param string $name - */ - protected function updateDashboardName($login, $idDashboard, $name) + private function getModel() { - $paramsBind = array($name, $login, $idDashboard); - $query = sprintf('UPDATE %s SET name = ? WHERE login = ? AND iddashboard = ?', - Common::prefixTable('user_dashboard')); - Db::query($query, $paramsBind); + return new Model(); } /** @@ -153,9 +128,7 @@ class Controller extends \Piwik\Plugin\Controller // first layout can't be removed if ($idDashboard != 1) { - $query = sprintf('DELETE FROM %s WHERE iddashboard = ? AND login = ?', - Common::prefixTable('user_dashboard')); - Db::query($query, array($idDashboard, Piwik::getCurrentUserLogin())); + $this->getModel()->deleteDashboardForUser($idDashboard, Piwik::getCurrentUserLogin()); } } @@ -171,7 +144,7 @@ class Controller extends \Piwik\Plugin\Controller return '[]'; } - $login = Piwik::getCurrentUserLogin(); + $login = Piwik::getCurrentUserLogin(); $dashboards = $this->dashboard->getAllDashboards($login); Json::sendHeaderJSON(); @@ -189,38 +162,22 @@ class Controller extends \Piwik\Plugin\Controller if (Piwik::isUserIsAnonymous()) { return '0'; } - $user = Piwik::getCurrentUserLogin(); - $nextId = $this->getNextIdDashboard($user); - $name = urldecode(Common::getRequestVar('name', '', 'string')); - $type = urldecode(Common::getRequestVar('type', 'default', 'string')); + $name = urldecode(Common::getRequestVar('name', '', 'string')); + $type = urldecode(Common::getRequestVar('type', 'default', 'string')); $layout = '{}'; + $login = Piwik::getCurrentUserLogin(); if ($type == 'default') { $layout = $this->dashboard->getDefaultLayout(); } - $query = sprintf('INSERT INTO %s (login, iddashboard, name, layout) VALUES (?, ?, ?, ?)', - Common::prefixTable('user_dashboard')); - Db::query($query, array($user, $nextId, $name, $layout)); + $nextId = $this->getModel()->createNewDashboardForUser($login, $name, $layout); Json::sendHeaderJSON(); return Common::json_encode($nextId); } - private function getNextIdDashboard($login) - { - $nextIdQuery = sprintf('SELECT MAX(iddashboard)+1 FROM %s WHERE login = ?', - Common::prefixTable('user_dashboard')); - $nextId = Db::fetchOne($nextIdQuery, array($login)); - - if (empty($nextId)) { - $nextId = 1; - return $nextId; - } - return $nextId; - } - public function copyDashboardToUser() { $this->checkTokenInUrl(); @@ -228,18 +185,16 @@ class Controller extends \Piwik\Plugin\Controller if (!Piwik::hasUserSuperUserAccess()) { return '0'; } + $login = Piwik::getCurrentUserLogin(); - $name = urldecode(Common::getRequestVar('name', '', 'string')); - $user = urldecode(Common::getRequestVar('user', '', 'string')); + $name = urldecode(Common::getRequestVar('name', '', 'string')); + $user = urldecode(Common::getRequestVar('user', '', 'string')); $idDashboard = Common::getRequestVar('dashboardId', 0, 'int'); + $layout = $this->dashboard->getLayoutForUser($login, $idDashboard); if ($layout !== false) { - $nextId = $this->getNextIdDashboard($user); - - $query = sprintf('INSERT INTO %s (login, iddashboard, name, layout) VALUES (?, ?, ?, ?)', - Common::prefixTable('user_dashboard')); - Db::query($query, array($user, $nextId, $name, $layout)); + $nextId = $this->getModel()->createNewDashboardForUser($user, $name, $layout); Json::sendHeaderJSON(); return Common::json_encode($nextId); @@ -255,17 +210,18 @@ class Controller extends \Piwik\Plugin\Controller { $this->checkTokenInUrl(); - $layout = Common::unsanitizeInputValue(Common::getRequestVar('layout')); + $layout = Common::unsanitizeInputValue(Common::getRequestVar('layout')); $idDashboard = Common::getRequestVar('idDashboard', 1, 'int'); - $name = Common::getRequestVar('name', '', 'string'); + $name = Common::getRequestVar('name', '', 'string'); + if (Piwik::isUserIsAnonymous()) { $session = new SessionNamespace("Dashboard"); $session->dashboardLayout = $layout; $session->setExpirationSeconds(1800); } else { - $this->saveLayoutForUser(Piwik::getCurrentUserLogin(), $idDashboard, $layout); + $this->getModel()->updateLayoutForUser(Piwik::getCurrentUserLogin(), $idDashboard, $layout); if (!empty($name)) { - $this->updateDashboardName(Piwik::getCurrentUserLogin(), $idDashboard, $name); + $this->getModel()->updateDashboardName(Piwik::getCurrentUserLogin(), $idDashboard, $name); } } } @@ -279,10 +235,7 @@ class Controller extends \Piwik\Plugin\Controller if (Piwik::hasUserSuperUserAccess()) { $layout = Common::unsanitizeInputValue(Common::getRequestVar('layout')); - $paramsBind = array('', '1', $layout, $layout); - $query = sprintf('INSERT INTO %s (login, iddashboard, layout) VALUES (?,?,?) ON DUPLICATE KEY UPDATE layout=?', - Common::prefixTable('user_dashboard')); - Db::query($query, $paramsBind); + $this->getModel()->createOrUpdateDashboard('', '1', $layout); } } |