original_string: protected function detectReferrerSocialNetwork()
      {
          $cache    = \Piwik\Cache::getTransientCache();
          $cacheKey = 'cachedReferrerSocialNetworks';
  
          $cachedReferrerSocialNetworks = [];
          if ($cache->contains($cacheKey)) {
              $cachedReferrerSocialNetworks = $cache->fetch($cacheKey);
          }
  
          $socialNetworkName = false;
          if (isset($cachedReferrerSocialNetworks[$this->referrerUrl])) {
              $socialNetworkName = $cachedReferrerSocialNetworks[$this->referrerUrl];
          } else {
              if (SocialNetworkDetection::getInstance()->isSocialUrl($this->referrerUrl)) {
                  $socialNetworkName = SocialNetworkDetection::getInstance()->getSocialNetworkFromDomain($this->referrerUrl);
              }
  
              /**
               * Triggered when detecting the social network of a referrer URL.
               *
               * Plugins can use this event to provide custom social network detection
               * logic.
               *
               * @param string|false &$socialNetworkName Name of the social network, or false if none detected
               *
               *                                        This parameter is initialized to the results
               *                                        of Matomo's default social network detection
               *                                        logic.
               * @param string referrerUrl The referrer URL from the tracking request.
               */
              Piwik::postEvent('Tracker.detectReferrerSocialNetwork', array(&$socialNetworkName, $this->referrerUrl));
  
              $cachedReferrerSocialNetworks[$this->referrerUrl] = $socialNetworkName;
              $cache->save($cacheKey, $cachedReferrerSocialNetworks);
          }
  
          if ($socialNetworkName === false) {
              return false;
          }
  
          $this->typeReferrerAnalyzed = Common::REFERRER_TYPE_SOCIAL_NETWORK;
          $this->nameReferrerAnalyzed = $socialNetworkName;
          $this->keywordReferrerAnalyzed = '';
          return true;
      }
code: protected function detectReferrerSocialNetwork()
      {
          $cache    = \Piwik\Cache::getTransientCache();
          $cacheKey = 'cachedReferrerSocialNetworks';
  
          $cachedReferrerSocialNetworks = [];
          if ($cache->contains($cacheKey)) {
              $cachedReferrerSocialNetworks = $cache->fetch($cacheKey);
          }
  
          $socialNetworkName = false;
          if (isset($cachedReferrerSocialNetworks[$this->referrerUrl])) {
              $socialNetworkName = $cachedReferrerSocialNetworks[$this->referrerUrl];
          } else {
              if (SocialNetworkDetection::getInstance()->isSocialUrl($this->referrerUrl)) {
                  $socialNetworkName = SocialNetworkDetection::getInstance()->getSocialNetworkFromDomain($this->referrerUrl);
              }
  
              /**
               * Triggered when detecting the social network of a referrer URL.
               *
               * Plugins can use this event to provide custom social network detection
               * logic.
               *
               * @param string|false &$socialNetworkName Name of the social network, or false if none detected
               *
               *                                        This parameter is initialized to the results
               *                                        of Matomo's default social network detection
               *                                        logic.
               * @param string referrerUrl The referrer URL from the tracking request.
               */
              Piwik::postEvent('Tracker.detectReferrerSocialNetwork', array(&$socialNetworkName, $this->referrerUrl));
  
              $cachedReferrerSocialNetworks[$this->referrerUrl] = $socialNetworkName;
              $cache->save($cacheKey, $cachedReferrerSocialNetworks);
          }
  
          if ($socialNetworkName === false) {
              return false;
          }
  
          $this->typeReferrerAnalyzed = Common::REFERRER_TYPE_SOCIAL_NETWORK;
          $this->nameReferrerAnalyzed = $socialNetworkName;
          $this->keywordReferrerAnalyzed = '';
          return true;
      }
code_tokens: protected function detectReferrerSocialNetwork ( ) { $ cache = \ Piwik \ Cache :: getTransientCache ( ) ; $ cacheKey = 'cachedReferrerSocialNetworks' ; $ cachedReferrerSocialNetworks = [ ] ; if ( $ cache -> contains ( $ cacheKey ) ) { $ cachedReferrerSocialNetworks = $ cache -> fetch ( $ cacheKey ) ; } $ socialNetworkName = false ; if ( isset ( $ cachedReferrerSocialNetworks [ $ this -> referrerUrl ] ) ) { $ socialNetworkName = $ cachedReferrerSocialNetworks [ $ this -> referrerUrl ] ; } else { if ( SocialNetworkDetection :: getInstance ( ) -> isSocialUrl ( $ this -> referrerUrl ) ) { $ socialNetworkName = SocialNetworkDetection :: getInstance ( ) -> getSocialNetworkFromDomain ( $ this -> referrerUrl ) ; } /**
               * Triggered when detecting the social network of a referrer URL.
               *
               * Plugins can use this event to provide custom social network detection
               * logic.
               *
               * @param string|false &$socialNetworkName Name of the social network, or false if none detected
               *
               *                                        This parameter is initialized to the results
               *                                        of Matomo's default social network detection
               *                                        logic.
               * @param string referrerUrl The referrer URL from the tracking request.
               */ Piwik :: postEvent ( 'Tracker.detectReferrerSocialNetwork' , array ( & $ socialNetworkName , $ this -> referrerUrl ) ) ; $ cachedReferrerSocialNetworks [ $ this -> referrerUrl ] = $ socialNetworkName ; $ cache -> save ( $ cacheKey , $ cachedReferrerSocialNetworks ) ; } if ( $ socialNetworkName === false ) { return false ; } $ this -> typeReferrerAnalyzed = Common :: REFERRER_TYPE_SOCIAL_NETWORK ; $ this -> nameReferrerAnalyzed = $ socialNetworkName ; $ this -> keywordReferrerAnalyzed = '' ; return true ; }
docstring: Social network detection
  @return bool
docstring_tokens: Social network detection