'User Country Map', 'description' => 'This plugin provides the widgets Visitor Map and Real-time Map. Note: Requires the UserCountry plugin enabled.', 'authors' => array(array('name' => 'Piwik', 'homepage' => 'http://piwik.org/')), 'version' => Version::VERSION, 'license' => 'GPL v3+', 'license_homepage' => 'http://www.gnu.org/licenses/gpl.html' ); } public function postLoad() { WidgetsList::add('General_Visitors', Piwik::translate('UserCountryMap_VisitorMap'), 'UserCountryMap', 'visitorMap'); WidgetsList::add('Live!', Piwik::translate('UserCountryMap_RealTimeMap'), 'UserCountryMap', 'realtimeMap'); Piwik::addAction('Template.leftColumnUserCountry', array('Piwik\Plugins\UserCountryMap\UserCountryMap', 'insertMapInLocationReport')); } static public function insertMapInLocationReport(&$out) { $out = '

' . Piwik::translate('UserCountryMap_VisitorMap') . '

'; $out .= FrontController::getInstance()->fetchDispatch('UserCountryMap', 'visitorMap'); } public function getListHooksRegistered() { $hooks = array( 'AssetManager.getJavaScriptFiles' => 'getJsFiles', 'AssetManager.getStylesheetFiles' => 'getStylesheetFiles', 'Menu.Reporting.addItems' => 'addMenu' ); return $hooks; } public function addMenu() { MenuMain::getInstance()->add('General_Visitors', 'UserCountryMap_RealTimeMap', array('module' => 'UserCountryMap', 'action' => 'realtimeWorldMap'), true, $order = 70); } public function getJsFiles(&$jsFiles) { $jsFiles[] = "plugins/UserCountryMap/javascripts/vendor/raphael.min.js"; $jsFiles[] = "plugins/UserCountryMap/javascripts/vendor/jquery.qtip.min.js"; $jsFiles[] = "plugins/UserCountryMap/javascripts/vendor/kartograph.min.js"; $jsFiles[] = "plugins/UserCountryMap/javascripts/vendor/chroma.min.js"; $jsFiles[] = "plugins/UserCountryMap/javascripts/visitor-map.js"; $jsFiles[] = "plugins/UserCountryMap/javascripts/realtime-map.js"; } public function getStylesheetFiles(&$stylesheets) { $stylesheets[] = "plugins/UserCountryMap/stylesheets/visitor-map.less"; $stylesheets[] = "plugins/UserCountryMap/stylesheets/realtime-map.less"; } }