/**
   * 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;
  }
Exemplo n.º 2
0
 /**
  * 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
     if (!sh404sefHelperGeneral::isInGroupList(JAccess::getGroupsByUser(JFactory::getUser()->id, $recursive = true), $sefConfig->analyticsUserGroups)) {
         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;
 }