/** * Check if user set parameters and request * data allow inserting tracking snippet */ protected function _shouldInsertSnippet() { // get config $sefConfig = & Sh404sefFactory::getConfig(); // check if we have a tracking code, no need to insert snippet if no tracking code if (empty( $sefConfig->analyticsId)) { return false; } // check if we are set to include tracking code for current user $user = JFactory::getUser(); if ( !empty( $sefConfig->analyticsMaxUserLevel) && $sefConfig->analyticsMaxUserLevel != 'Public Frontend' && Sh404sefHelperGeneral::compareGroups( $user->usertype, $sefConfig->analyticsMaxUserLevel) == 1) { return false; } // check if current IP is on exclusion list if( !empty( $sefConfig->analyticsExcludeIP)) { $ip = empty($_SERVER['REMOTE_ADDR']) ? '' : $_SERVER['REMOTE_ADDR']; $exclude = Sh404sefHelperGeneral::checkIPList( $ip, $sefConfig->analyticsExcludeIP); if ($exclude) { return false; } } return true; }