getTranslationForMatchAttribute($match); if($this->isPatternUsedForMatchAttribute($match)) { $description = sprintf( '%s %s', $description, $this->getTranslationForPattern( $patternType, $pattern ) ); } return $description; } protected function isPatternUsedForMatchAttribute($match) { return in_array( $match, array('url', 'title', 'event_category', 'event_action', 'event_name', 'file', 'external_website') ); } protected function getTranslationForMatchAttribute($match) { switch ($match) { case 'manually': return Piwik::translate('Goals_ManuallyTriggeredUsingJavascriptFunction'); case 'url': return Piwik::translate('Goals_VisitUrl'); case 'title': return Piwik::translate('Goals_VisitPageTitle'); case 'event_category': case 'event_action': case 'event_name': return Piwik::translate('Goals_SendEvent'); case 'file': return Piwik::translate('Goals_Download'); case 'external_website': return Piwik::translate('Goals_ClickOutlink'); default: return ''; } } protected function getTranslationForPattern($patternType, $pattern) { switch ($patternType) { case 'regex': return sprintf('%s %s', Piwik::translate('Goals_Pattern'), Piwik::translate('Goals_MatchesExpression', array($pattern)) ); case 'contains': return sprintf('%s %s', Piwik::translate('Goals_Pattern'), Piwik::translate('Goals_Contains', array($pattern)) ); case 'exact': return sprintf('%s %s', Piwik::translate('Goals_Pattern'), Piwik::translate('Goals_IsExactly', array($pattern)) ); default: return ''; } } }