/** * Track Elgg actions * * @param string $hook the name of the hook * @param string $type the type of the hook * @param bool $return_value current return value * @param array $params supplied params * * @return void */ public static function actions($hook, $type, $return_value, $params) { if (!analytics_google_track_actions_enabled()) { return; } $_SESSION['analytics']['tracking_action'] = $type; elgg_register_event_handler('shutdown', 'system', '\\ColdTrick\\Analytics\\Tracker::shutdownAction'); }
<?php // do we have the plugin configured correctly if (!elgg_get_plugin_setting('analyticsSiteID', 'analytics')) { return; } $trackActions = analytics_google_track_actions_enabled(); $trackEvents = analytics_google_track_events_enabled(); // do we track actions/events if (!$trackActions && !$trackEvents) { return; } ?> <script type='text/javascript' id='analytics_ajax_result'> $(document).ajaxSuccess(function(event, XMLHttpRequest, ajaxOptions) { elgg.get('analytics/ajax_success', { global: false, success: function(data) { if (data) { var temp = document.createElement('script'); temp.setAttribute('type', 'text/javascript'); temp.innerHTML = data; $('#analytics_ajax_result').after(temp); } } }); }); </script>
/** * Get all the tracked Actions in a Google Analytics format * * @return string */ function analytics_google_get_tracked_actions() { $output = ''; if (!analytics_google_track_actions_enabled()) { return $output; } if (empty($_SESSION['analytics']['actions'])) { return $output; } foreach ($_SESSION['analytics']['actions'] as $action => $result) { if ($result) { $output .= "ga('send', 'pageview', '/action/{$action}/succes');"; } else { $output .= "ga('send', 'pageview', '/action/{$action}/error');"; } } $_SESSION['analytics']['actions'] = []; return $output; }