diff --git a/core/Plugin/ActionDimension.php b/core/Plugin/ActionDimension.php index 5fc4ed382434849d206c0e41ab2fb6b42e0309d7..9b871ef58c231d6fe38e41a17a34c78fc7ce928c 100644 --- a/core/Plugin/ActionDimension.php +++ b/core/Plugin/ActionDimension.php @@ -60,7 +60,7 @@ abstract class ActionDimension protected function addSegment(Segment $segment) { $sqlSegment = $segment->getSqlSegment(); - if (!empty($this->fieldName) && !empty($sqlSegment)) { + if (!empty($this->fieldName) && empty($sqlSegment)) { $segment->setSqlSegment('log_link_visit_action.' . $this->fieldName); } diff --git a/core/Plugin/Manager.php b/core/Plugin/Manager.php index 6e9afe423c7d7f45fbfc5506c1fd46c8bff8680a..c647ba2bd470a2c188ca074aa90deb7e01c81c64 100644 --- a/core/Plugin/Manager.php +++ b/core/Plugin/Manager.php @@ -1137,6 +1137,16 @@ class Manager extends Singleton public function isTrackerPlugin(Plugin $plugin) { + $dimensions = VisitDimension::getDimensions($plugin); + if (!empty($dimensions)) { + return true; + } + + $dimensions = ActionDimension::getDimensions($plugin); + if (!empty($dimensions)) { + return true; + } + $hooks = $plugin->getListHooksRegistered(); $hookNames = array_keys($hooks); foreach ($hookNames as $name) { diff --git a/core/Plugin/VisitDimension.php b/core/Plugin/VisitDimension.php index af40274d745c938ba2e19457ef2205870952a61c..b7b3778a9e1f6cbe87aa8f17e8edbbe4d4704a92 100644 --- a/core/Plugin/VisitDimension.php +++ b/core/Plugin/VisitDimension.php @@ -55,7 +55,7 @@ abstract class VisitDimension protected function addSegment(Segment $segment) { $sqlSegment = $segment->getSqlSegment(); - if (!empty($this->fieldName) && !empty($sqlSegment)) { + if (!empty($this->fieldName) && empty($sqlSegment)) { $segment->setSqlSegment('log_visit.' . $this->fieldName); } diff --git a/plugins/VisitTime/Columns/Localtime.php b/plugins/VisitTime/Columns/Localtime.php index aa5d9661428b978ddf2faa86e81a033fa66d3005..f20dde3fedc3f0b540f93f8c2325e2545252f061 100644 --- a/plugins/VisitTime/Columns/Localtime.php +++ b/plugins/VisitTime/Columns/Localtime.php @@ -14,7 +14,7 @@ use Piwik\Plugins\VisitTime\Segment; class Localtime extends VisitDimension { - protected $fieldName = 'HOUR(visitor_localtime)'; + protected $fieldName = 'visitor_localtime'; protected function init() { diff --git a/plugins/VisitTime/Columns/Servertime.php b/plugins/VisitTime/Columns/Servertime.php index 9861962fb91d59016d0eb4dbccace41ee3dad0ca..69cf2f54dc8284626bfcd0a5b0af4889c4f6b100 100644 --- a/plugins/VisitTime/Columns/Servertime.php +++ b/plugins/VisitTime/Columns/Servertime.php @@ -14,7 +14,7 @@ use Piwik\Plugins\VisitTime\Segment; class Servertime extends VisitDimension { - protected $fieldName = 'HOUR(visit_last_action_time)'; + protected $fieldName = 'visit_last_action_time'; protected function init() { diff --git a/tests/PHPUnit/proxy/includes.php b/tests/PHPUnit/proxy/includes.php index 0ffce4642b28e0f5a4996b0c03f9f5fbbc7d9057..905fbd0d13afe5756241a5e316796f8a1acbd71c 100644 --- a/tests/PHPUnit/proxy/includes.php +++ b/tests/PHPUnit/proxy/includes.php @@ -14,6 +14,14 @@ require_once PIWIK_INCLUDE_PATH . '/core/EventDispatcher.php'; require_once PIWIK_INCLUDE_PATH . '/core/Piwik.php'; require_once PIWIK_INCLUDE_PATH . '/libs/upgradephp/upgrade.php'; require_once PIWIK_INCLUDE_PATH . '/tests/PHPUnit/TestingEnvironment.php'; +if (file_exists(PIWIK_INCLUDE_PATH . '/vendor/autoload.php')) { + $vendorDirectory = PIWIK_INCLUDE_PATH . '/vendor'; +} else { + $vendorDirectory = PIWIK_INCLUDE_PATH . '/../..'; +} +require_once $vendorDirectory . '/autoload.php'; +require_once $vendorDirectory . '/mustangostang/spyc/Spyc.php'; +require_once $vendorDirectory . '/piwik/device-detector/DeviceDetector.php'; \Piwik\SettingsServer::setMaxExecutionTime(0);