Skip to content

Commit

Permalink
Fixes #4343 Make Visitor log look good when viewed a s widget in the …
Browse files Browse the repository at this point in the history
…dashboard. The Referrer URL column is displayed below th Visitor information and only 2 columns are displayed, which fit in a three-columns dashboard and looks pretty nice!
  • Loading branch information
mattab committed Nov 26, 2013
1 parent 527e1d6 commit e47af48
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 44 deletions.
2 changes: 2 additions & 0 deletions core/ViewDataTable/Config.php
Expand Up @@ -245,6 +245,8 @@ class Config
* of a data table div. This data can be used by JavaScript DataTable classes.
*
* e.g. array('typeReferrer' => ...)
*
* It can then be accessed in the twig templates by clientSideParameters.typeReferrer
*/
public $custom_parameters = array();

Expand Down
3 changes: 1 addition & 2 deletions plugins/Live/Controller.php
Expand Up @@ -97,7 +97,7 @@ public function getLastVisitsDetails()
}

/**
* @deprecated
* Widget
*/
public function getVisitorLog()
{
Expand All @@ -111,7 +111,6 @@ public function getLastVisitsStart()
$_GET['period'] = 'day';
$view = new View('@Live/getLastVisitsStart');
$view->idSite = $this->idSite;

$api = new Request("method=Live.getLastVisitsDetails&idSite={$this->idSite}&filter_limit=10&format=php&serialize=0&disable_generic_filters=1");
$visitors = $api->process();
$view->visitors = $visitors;
Expand Down
2 changes: 1 addition & 1 deletion plugins/Live/Live.php
Expand Up @@ -59,7 +59,7 @@ public function addMenu()
public function addWidget()
{
WidgetsList::add('Live!', 'Live_VisitorsInRealTime', 'Live', 'widget');
WidgetsList::add('Live!', 'Live_VisitorLog', 'Live', 'getVisitorLog');
WidgetsList::add('Live!', 'Live_VisitorLog', 'Live', 'getVisitorLog', array('small' => 1));
WidgetsList::add('Live!', 'Live_RealTimeVisitorCount', 'Live', 'getSimpleLastVisitCount');
WidgetsList::add('Live!', 'Live_VisitorProfile', 'Live', 'getVisitorProfilePopup');
}
Expand Down
4 changes: 3 additions & 1 deletion plugins/Live/VisitorLog.php
Expand Up @@ -63,7 +63,9 @@ public function beforeRender()
'totalRows' => 10000000,

'filterEcommerce' => Common::getRequestVar('filterEcommerce', 0, 'int'),
'pageUrlNotDefined' => Piwik::translate('General_NotDefined', Piwik::translate('Actions_ColumnPageURL'))
'pageUrlNotDefined' => Piwik::translate('General_NotDefined', Piwik::translate('Actions_ColumnPageURL')),

'smallWidth' => 1 == Common::getRequestVar('small', 0, 'int'),
);

$this->config->footer_icons = array(
Expand Down
95 changes: 55 additions & 40 deletions plugins/Live/templates/_dataTableViz_visitorLog.twig
@@ -1,4 +1,5 @@
{% set displayVisitorsInOwnColumn = (isWidget ? false : true) %}
{% set displayReferrersInOwnColumn = (clientSideParameters.smallWidth ? false : true) %}
<table class="dataTable" cellspacing="0" width="100%" style="width:100%;table-layout:fixed;">
<thead>
<tr>
Expand All @@ -11,9 +12,11 @@
<div id="thDIV">{{ 'General_Visitors'|translate }}</div>
</th>
{% endif %}
{% if displayReferrersInOwnColumn %}
<th id="label" class="sortable label" style="cursor: auto;width:230px;" width="230px">
<div id="thDIV">{{ 'Live_Referrer_URL'|translate }}</div>
</th>
{% endif %}
<th id="label" class="sortable label" style="cursor: auto;">
<div id="thDIV">{{ 'General_ColumnNbActions'|translate }}</div>
</th>
Expand Down Expand Up @@ -64,6 +67,48 @@
{% endif %}
{% endset %}

{% set referrerColumnContent %}
<div class="referrer">
{% if visitor.getColumn('referrerType') == 'website' %}
{{ 'Referrers_ColumnWebsite'|translate }}:
<a href="{{ visitor.getColumn('referrerUrl') }}" target="_blank" title="{{ visitor.getColumn('referrerUrl') }}"
style="text-decoration:underline;">
{{ visitor.getColumn('referrerName') }}
</a>
{% endif %}
{% if visitor.getColumn('referrerType') == 'campaign' %}
{{ 'Referrers_ColumnCampaign'|translate }}
<br/>
{{ visitor.getColumn('referrerName') }}
{% if visitor.getColumn('referrerKeyword') is not empty %} - {{ visitor.getColumn('referrerKeyword') }}{% endif %}
{% endif %}
{% if visitor.getColumn('referrerType') == 'search' %}
{%- set keywordNotDefined = 'General_NotDefined'|translate('General_ColumnKeyword'|translate) -%}
{%- set showKeyword = visitor.getColumn('referrerKeyword') is not empty and visitor.getColumn('referrerKeyword') != keywordNotDefined -%}
{% if visitor.getColumn('searchEngineIcon') %}
<img src="{{ visitor.getColumn('searchEngineIcon') }}" alt="{{ visitor.getColumn('referrerName') }}"/>
{% endif %}
<span {% if not showKeyword %}title="{{ keywordNotDefined }}"{% endif %}>{{ visitor.getColumn('referrerName') }}</span>
{% if showKeyword %}{{ 'Referrers_Keywords'|translate }}:
<br/>
<a href="{{ visitor.getColumn('referrerUrl') }}" target="_blank" style="text-decoration:underline;">
"{{ visitor.getColumn('referrerKeyword') }}"</a>
{% endif %}
{% set keyword %}{{ visitor.getColumn('referrerKeyword') }}{% endset %}
{% set searchName %}{{ visitor.getColumn('referrerName') }}{% endset %}
{% set position %}#{{ visitor.getColumn('referrerKeywordPosition') }}{% endset %}
{% if visitor.getColumn('referrerKeywordPosition') %}
<span title='{{ 'Live_KeywordRankedOnSearchResultForThisVisitor'|translate(keyword,position,searchName) }}' class='visitorRank'>
<span class='hash'>#</span>
{{ visitor.getColumn('referrerKeywordPosition') }}
</span>
{% endif %}
{% endif %}
{% if visitor.getColumn('referrerType') == 'direct' %}{{ 'Referrers_DirectEntry'|translate }}{% endif %}
</div>
{% endset %}


{% set visitorRow %}
<tr class="label{{ cycle(['odd','even'], cycleIndex) }}">
{% set cycleIndex=cycleIndex+1 %}
Expand Down Expand Up @@ -105,6 +150,10 @@ GPS (lat/long): {{ visitor.getColumn('latitude') }},{{ visitor.getColumn('longit
<br/>
{{ visitorColumnContent }}
{% endif %}
{% if not displayReferrersInOwnColumn %}
<br/>
{{ referrerColumnContent }}
{% endif %}
</td>

{% if displayVisitorsInOwnColumn %}
Expand All @@ -113,46 +162,12 @@ GPS (lat/long): {{ visitor.getColumn('latitude') }},{{ visitor.getColumn('longit
</td>
{% endif %}

<td class="column">
<div class="referrer">
{% if visitor.getColumn('referrerType') == 'website' %}
{{ 'Referrers_ColumnWebsite'|translate }}:
<a href="{{ visitor.getColumn('referrerUrl') }}" target="_blank" title="{{ visitor.getColumn('referrerUrl') }}"
style="text-decoration:underline;">
{{ visitor.getColumn('referrerName') }}
</a>
{% endif %}
{% if visitor.getColumn('referrerType') == 'campaign' %}
{{ 'Referrers_ColumnCampaign'|translate }}
<br/>
{{ visitor.getColumn('referrerName') }}
{% if visitor.getColumn('referrerKeyword') is not empty %} - {{ visitor.getColumn('referrerKeyword') }}{% endif %}
{% endif %}
{% if visitor.getColumn('referrerType') == 'search' %}
{%- set keywordNotDefined = 'General_NotDefined'|translate('General_ColumnKeyword'|translate) -%}
{%- set showKeyword = visitor.getColumn('referrerKeyword') is not empty and visitor.getColumn('referrerKeyword') != keywordNotDefined -%}
{% if visitor.getColumn('searchEngineIcon') %}
<img src="{{ visitor.getColumn('searchEngineIcon') }}" alt="{{ visitor.getColumn('referrerName') }}"/>
{% endif %}
<span {% if not showKeyword %}title="{{ keywordNotDefined }}"{% endif %}>{{ visitor.getColumn('referrerName') }}</span>
{% if showKeyword %}{{ 'Referrers_Keywords'|translate }}:
<br/>
<a href="{{ visitor.getColumn('referrerUrl') }}" target="_blank" style="text-decoration:underline;">
"{{ visitor.getColumn('referrerKeyword') }}"</a>
{% endif %}
{% set keyword %}{{ visitor.getColumn('referrerKeyword') }}{% endset %}
{% set searchName %}{{ visitor.getColumn('referrerName') }}{% endset %}
{% set position %}#{{ visitor.getColumn('referrerKeywordPosition') }}{% endset %}
{% if visitor.getColumn('referrerKeywordPosition') %}
<span title='{{ 'Live_KeywordRankedOnSearchResultForThisVisitor'|translate(keyword,position,searchName) }}' class='visitorRank'>
<span class='hash'>#</span>
{{ visitor.getColumn('referrerKeywordPosition') }}
</span>
{% endif %}
{% endif %}
{% if visitor.getColumn('referrerType') == 'direct' %}{{ 'Referrers_DirectEntry'|translate }}{% endif %}
</div>
</td>
{% if displayReferrersInOwnColumn %}
<td class="column">
{{ referrerColumnContent }}
</td>
{% endif %}

<td class="column {% if visitor.getColumn('visitConverted') and not isWidget %}highlightField{% endif %}">
<div class="visitor-log-page-list">
{% if visitor.getColumn('visitorId') is not empty %}
Expand Down

0 comments on commit e47af48

Please sign in to comment.